你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在本文中,你将了解如何在 Azure Active Directory (Azure AD) 中配置权限分类。 通过权限分类,可根据组织的策略和风险评估确定不同权限的影响。 例如,可使用同意策略中的权限分类来确定允许用户同意哪一组权限。
目前仅支持“影响较低”这一权限分类。 只有无需管理员同意的委托权限可被分类为“影响较低”。
执行基本登录所需的最小权限是 openid
、profile
、email
和 offline_access
,它们是 Microsoft Graph 上的所有委托的权限。 借助这些权限,应用可以读取已登录用户配置文件的详细信息,并且即使用户不再使用该应用,也可以保留此访问权限。
先决条件
要配置权限分类,你需要:
- 具有活动订阅的 Azure 帐户。 免费创建帐户。
- 以下角色之一:全局管理员、云应用程序管理员、应用程序管理员或服务主体的所有者。
管理权限分类
按照以下步骤使用 Azure 门户对权限进行分类:
- 以全局管理员、应用程序管理员或云应用程序管理员的身份登录到 Azure 门户
- 选择“Azure Active Directory”>“企业应用程序”>“同意和权限”>“权限分类” 。
- 选择“添加权限”,再将一个权限分类为“影响较小”。
- 选择 API,然后选择委托的权限。
在下例中,我们对单一登录所需的最小一组权限进行了分类:
可使用最新的 Azure AD PowerShell 预览版模块 AzureADPreview 对权限进行分类。 权限分类是在发布权限的 API 的 ServicePrincipal 对象上配置的。
列出 API 的当前权限分类
检索 API 的 ServicePrincipal 对象。 在这里,我们将检索 Microsoft Graph API 的 ServicePrincipal 对象:
$api = Get-AzureADServicePrincipal `
-Filter "servicePrincipalNames/any(n:n eq 'https://graph.microsoft.com')"
读取 API 的委托权限分类:
Get-AzureADMSServicePrincipalDelegatedPermissionClassification `
-ServicePrincipalId $api.ObjectId | Format-Table Id, PermissionName, Classification
将权限分类为“影响较小”
检索 API 的 ServicePrincipal 对象。 在这里,我们将检索 Microsoft Graph API 的 ServicePrincipal 对象:
$api = Get-AzureADServicePrincipal `
-Filter "servicePrincipalNames/any(n:n eq 'https://graph.microsoft.com')"
查找要对其分类的委托的权限:
$delegatedPermission = $api.OAuth2Permissions | Where-Object { $_.Value -eq "User.ReadBasic.All" }
使用权限名称和 ID 设置权限分类:
Add-AzureADMSServicePrincipalDelegatedPermissionClassification `
-ServicePrincipalId $api.ObjectId `
-PermissionId $delegatedPermission.Id `
-PermissionName $delegatedPermission.Value `
-Classification "low"
删除委托权限分类
检索 API 的 ServicePrincipal 对象。 在这里,我们将检索 Microsoft Graph API 的 ServicePrincipal 对象:
$api = Get-AzureADServicePrincipal `
-Filter "servicePrincipalNames/any(n:n eq 'https://graph.microsoft.com')"
若要查找要删除的委托权限分类:
$classifications = Get-AzureADMSServicePrincipalDelegatedPermissionClassification `
-ServicePrincipalId $api.ObjectId
$classificationToRemove = $classifications | Where-Object {$_.PermissionName -eq "User.ReadBasic.All"}
请删除权限分类:
Remove-AzureADMSServicePrincipalDelegatedPermissionClassification `
-ServicePrincipalId $api.ObjectId `
-Id $classificationToRemove.Id
后续步骤
若要了解详细信息,请访问以下链接: