我在Azure AD Premium中设置了一个应用程序,并进行了访问该应用程序所需的用户分配。我已将自定义应用程序角色添加到应用程序清单中。我可以为用户分配一个角色给应用程序。
如何获取分配给应用程序及其分配角色的所有用户的列表?
答案 0 :(得分:3)
Azure门户(预览)
在新的Azure门户中,在“企业应用程序”>下; (您的应用)> “用户和组”,您现在只能看到分配给应用程序的用户列表,以及分配给它们的应用程序角色。您还可以按应用角色进行过滤和排序。这是一个例子:
注意:截至2016年9月,新Azure门户中的Azure AD管理体验处于预览状态。
经典Azure门户
在和应用程序的“用户和组”下,您可以列出所有用户(以及他们的分配状态)以及所有组:
[]
<强>的PowerShell 强>
使用新的preview (as of Sept 2016) Azure AD PowerShell module,您可以使用以下示例:
# Get all service principals, and for each one, get all the app role assignments,
# resolving the app role ID to it's display name. Output everything to a CSV.
Get-AzureADServicePrincipal | % {
# Build a hash table of the service principal's app roles. The 0-Guid is
# used in an app role assignment to indicate that the principal is assigned
# to the default app role (or rather, no app role).
$appRoles = @{ "$([Guid]::Empty.ToString())" = "(default)" }
$_.AppRoles | % { $appRoles[$_.Id] = $_.DisplayName }
# Get the app role assignments for this app, and add a field for the app role name
Get-AzureADServiceAppRoleAssignment -ObjectId ($_.ObjectId) | % {
$_ | Add-Member "AppRoleDisplayName" $appRoles[$_.Id] -Passthru
}
} | Export-Csv "app_role_assignments.csv" -NoTypeInformation
Azure AD Graph API
使用Azure AD Graph API,您可以执行上述PowerShell脚本所做的操作(实际上,新的Azure AD PowerShell模块对大多数请求使用Azure AD Graph API)。
列出所有服务主体:
GET https://graph.windows.net/{tenant-id}/servicePrincipals
列出服务主体的应用角色分配:
GET https://graph.windows.net/{tenant-id}/servicePrincipals/{object-id}/appRoleAssignments