你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

配置用户对应用程序表示同意的方式

在本文中,你将了解如何配置用户同意应用程序的方式,以及如何对应用程序禁用以后所有的用户同意操作。

用户必须先授权应用程序访问,然后应用程序才可访问你组织的数据。 权限不同,访问级别就不同。 默认情况下,允许所有用户同意应用程序获取无需管理员同意的权限。 例如,默认情况下,用户可同意允许应用访问其邮箱,但无法同意允许应用具有不受限制的访问权限来读写你组织中的所有文件。

为了降低恶意应用程序企图欺骗用户向其授予对你组织数据的访问权限的风险,我们建议仅允许用户同意已验证的发布者发布的应用程序。

先决条件

若要配置用户同意,你需要:

若要通过 Azure 门户配置用户同意设置:

  1. 全局管理员的身份登录 Azure 门户

  2. 选择“Azure Active Directory”>“企业应用程序”>“同意和权限”>“用户同意设置” 。

  3. 在“针对应用程序的用户同意”下,选择想要为所有用户配置的同意设置。

  4. 选择“保存”以保存设置 。

“用户同意设置”窗格的屏幕截图。

如需选择使用哪个应用同意策略来控制用户对应用程序的同意,可使用 Microsoft Graph PowerShell 模块。 此处使用的 cmdlet 包含在 Microsoft.Graph.Identity.SignIns 模块中。

连接到 Microsoft Graph PowerShell

使用所需的最小特权权限连接到 Microsoft Graph PowerShell。 若要读取当前用户同意设置,请使用 Policy.Read.All。 若要读取和更改用户同意设置,请使用 Policy.ReadWrite.Authorization。

Connect-MgGraph -Scopes "Policy.ReadWrite.Authorization"

若要禁用用户同意,请将控制用户同意的同意策略设置为空:

Update-MgPolicyAuthorizationPolicy -DefaultUserRolePermissions @{
    "PermissionGrantPoliciesAssigned" = @() }

若要允许用户同意,请选择应由哪个应用同意策略来管理用户向应用授予同意的授权:

Update-MgPolicyAuthorizationPolicy -DefaultUserRolePermissions @{
    "PermissionGrantPoliciesAssigned" = @("managePermissionGrantsForSelf.{consent-policy-id}") }

{consent-policy-id} 替换为要应用的策略的 ID。 可以选择已创建的自定义应用同意策略,也可以从以下内置策略中选择:

ID 说明
microsoft-user-default-low 允许用户同意来自经过验证的发布者的应用具有所选权限
仅针对经过验证的发布者提供的应用以及在你的租户中注册的应用允许有限用户同意,并只授予你分类为“低影响”的权限。 (请记住对权限进行分类,选择允许用户同意哪些权限。)
microsoft-user-default-legacy 对应用允许用户同意
此选项允许所有用户同意任意应用程序的任意权限,而无需管理员同意

例如,如果要根据内置策略 microsoft-user-default-low 启用用户同意,可以运行以下命令:

Update-MgPolicyAuthorizationPolicy -DefaultUserRolePermissions @{
    "PermissionGrantPoliciesAssigned" = @("managePermissionGrantsForSelf.microsoft-user-default-low") }

使用图形资源管理器选择使用哪个应用同意策略来控制用户对应用程序的同意。

若要禁用用户同意,请将控制用户同意的同意策略设置为空:

PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy
{
   "defaultUserRolePermissions": {
      "permissionGrantPoliciesAssigned": []
   }
}

若要允许用户同意,请选择应由哪个应用同意策略来管理用户向应用授予同意的授权:

PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy

{
   "defaultUserRolePermissions": {
      "permissionGrantPoliciesAssigned": ["ManagePermissionGrantsForSelf.microsoft-user-default-legacy"]
   }
}

{consent-policy-id} 替换为要应用的策略的 ID。 可以选择已创建的自定义应用同意策略,也可以从以下内置策略中选择:

ID 说明
microsoft-user-default-low 允许用户同意来自经过验证的发布者的应用具有所选权限
仅针对经过验证的发布者提供的应用以及在你的租户中注册的应用允许有限用户同意,并只授予你分类为“低影响”的权限。 (请记住对权限进行分类,选择允许用户同意哪些权限。)
microsoft-user-default-legacy 对应用允许用户同意
此选项允许所有用户同意任意应用程序的任意权限,而无需管理员同意

例如,如果要根据内置策略 microsoft-user-default-low 启用用户同意,请使用以下 PATCH 命令:

PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy

{
    "defaultUserRolePermissions": {
        "permissionGrantPoliciesAssigned": [
            "managePermissionGrantsForSelf.microsoft-user-default-low"
        ]
    }
}

提示

如果要允许用户请求管理员审查和批准用户不被允许同意的应用程序,可以启用管理员同意工作流。 例如,你可以在用户同意已禁用或应用程序请求用户不被允许授予的权限时执行此操作。

后续步骤