禁用应用程序的用户登录

在配置或管理应用程序时,可能在某些情况下,你不希望为应用程序颁发令牌。 或者,你可能想要阻止不希望员工尝试访问的应用程序,例如弃用的 Azure AD PowerShell 模块(AppID 1b730954-1685-4b74-9bfd-dac224a7b894)。 若要阻止用户访问某个应用程序,可以禁用应用程序的用户登录,这将阻止为该应用程序颁发所有令牌。

本文介绍如何通过 Microsoft Entra 管理中心和 PowerShell 阻止用户登录到 Microsoft Entra ID 中的应用程序。 如果要了解如何阻止特定用户访问应用程序,请使用用户或组分配

先决条件

若要禁用用户登录,你需要:

  • 一个 Microsoft Entra 用户帐户。 如果还没有帐户,可以免费创建一个帐户
  • 以下角色之一:
    • 云应用程序管理员
    • 应用程序管理员
    • 服务主体的所有者

使用 Microsoft Entra 管理中心禁用用户登录

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心
  2. 请导航到 Entra ID>企业应用程序>所有应用程序
  3. 搜索你要禁止用户登录的应用程序,然后选择该应用程序。
  4. 选择“属性”。
  5. 对于“是否允许用户登录?”,选择“否”。
  6. 选择“保存”。

使用 Microsoft Entra PowerShell 禁用用户登录

你可能知道未出现在企业应用列表中的应用的 AppId。 例如,如果你删除了应用,或者尚未创建服务主体(因为 Microsoft 对应用进行了预授权)。 可以手动为应用创建服务主体,然后使用以下Microsoft Entra PowerShell cmdlet 将其禁用。

确保安装 Microsoft Entra PowerShell 模块。 如果系统提示你安装 NuGet 模块或新的 Microsoft Entra PowerShell V2 模块,请键入 Y 并按 Enter。 至少需要云应用程序管理员登录。

# Connect to Microsoft Entra PowerShell
Connect-Entra -scopes "Application.ReadWrite.All"

# The AppId of the service principal to be disabled
$appId = "{AppId}"

# Disable the service principal
$servicePrincipal = Get-EntraServicePrincipal -Filter "appId eq '$appId'"
Set-EntraServicePrincipal -ObjectId $servicePrincipal.ObjectId -AccountEnabled $false

使用 Microsoft Graph PowerShell 禁用用户登录

你可能知道未出现在企业应用列表中的应用的 AppId。 例如,如果你删除了应用程序,或者由于 Microsoft 对应用程序进行了预授权,导致尚未创建服务主体。 你可以手动为该应用创建服务主体,然后使用以下 Microsoft Graph PowerShell cmdlet 将其禁用。

确保安装 Microsoft Graph 模块(使用命令 Install-Module Microsoft.Graph)。 至少需要云应用程序管理员登录。

# Connect to Microsoft Graph PowerShell
Connect-MgGraph -Scopes "Application.ReadWrite.All"

# Get the AppId of the service principal to be disabled  
$appId = "{AppId}"  
$servicePrincipal = Get-MgServicePrincipal -Filter "appId eq '$appId'"  

# Disable the service principal
Update-MgServicePrincipal -ServicePrincipalId $servicePrincipal.Id -AccountEnabled:$false 

使用 Microsoft Graph API 禁用用户登录

你可能知道未出现在企业应用列表中的应用的 AppId。 例如,如果你删除了应用程序,或者由于 Microsoft 对应用程序进行了预授权,导致尚未创建服务主体。 你可以手动为该应用创建服务主体,然后使用以下 Microsoft Graph 调用将其禁用。

要禁用对应用程序的登录,请至少以云应用程序管理员身份登录到 Graph 资源管理器

你需要同意 Application.ReadWrite.All 权限。

运行以下查询以禁用应用程序的用户登录。

PATCH https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444

Content-type: application/json

{
    "accountEnabled": false
}