【问题标题】:Azure AD Graph API - App Role Assignments ListAzure AD Graph API - 应用角色分配列表
【发布时间】:2017-07-06 02:00:51
【问题描述】:
【问题讨论】:
标签:
azure-active-directory
azure-ad-graph-api
【解决方案1】:
用户的appRoleAssignments 导航属性应包含用户在应用程序中分配的所有角色。如果应用未声明任何可分配给用户的 appRoles,则此处仍会有一个具有全零 GUID 的实体。
例如,我将我的一个测试用户分配给一个没有角色的应用,Get-AzureADUserAppRoleAssignment -ObjectId user-object-id 返回:
DeletionTimestamp :
ObjectId : 1YoOkUy2bESZDaQwZRhU0S-UYlhvd3FJsJikOAWHrsI
ObjectType : AppRoleAssignment
CreationTimestamp : 17.1.2016 15.40.03
Id : 00000000-0000-0000-0000-000000000000
PrincipalDisplayName : Test User
PrincipalId : 910e8ad5-b64c-446c-990d-a430651854d1
PrincipalType : User
ResourceDisplayName : TodoService
ResourceId : 6b5b5ad6-54ce-415f-ad04-0a276ce086b0
还有一个用于指定角色的应用程序:
DeletionTimestamp :
ObjectId : 1YoOkUy2bESZDaQwZRhU0YAvk4B2fQdPqcTGnjNiP_0
ObjectType : AppRoleAssignment
CreationTimestamp :
Id : 06608f41-55fb-400a-8da2-3d51909a0449
PrincipalDisplayName : Test User
PrincipalId : 910e8ad5-b64c-446c-990d-a430651854d1
PrincipalType : User
ResourceDisplayName : TestApp
ResourceId : ecf84db8-3333-43d0-809a-aaef620a14bf
注意 Id 属性指定用户在该应用程序上的角色 ID。对于第一个,他们只有一般访问权限。
至于为什么 Office 365 应用程序没有出现在那里,如果我没记错的话,您没有通过 Azure AD 用户管理以相同的方式分配它们?应用程序分配可能是 O365 中的内部事物,Azure AD 不知道它。可以从用户的 licenseDetails 导航属性(或使用 Azure AD v2 PowerShell 的 Get-AzureADUserLicenseDetail)找到许可证分配。