【问题标题】:Azure AD Graph API - App Role Assignments ListAzure AD Graph API - 应用角色分配列表
【发布时间】:2017-07-06 02:00:51
【问题描述】:

没有关于如何确定从此 AAD Graph API 调用生成的应用程序角色分配列表的文档:

https://graph.windows.net/contoso.com/users/simon@contoso.com/appRoleAssignments

例如,如果用户拥有 Office 365,则 Graph API 响应中不会显示分配的 Office 365 应用程序,但如果此用户浏览到 https://myapps.microsoft.com/contoso.com,他们会看到它们已列出。

有人可以澄清用于构建此列表中返回的应用程序的逻辑,以及是否可以检索分配给用户的所有应用程序?

【问题讨论】:

标签: 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)找到许可证分配。

【讨论】:

    猜你喜欢
    • 2021-02-08
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 2015-05-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-27
    • 2022-01-17
    相关资源
    最近更新 更多