是否可以为 Azure AD 中的用户或组分配多个角色?

Posted

技术标签:

【中文标题】是否可以为 Azure AD 中的用户或组分配多个角色?【英文标题】:Is it possible to assign multiple roles to a user or group in Azure AD? 【发布时间】:2016-01-19 11:14:31 【问题描述】:

当我在 Azure AD 中将 appRoles 部分添加到我的应用程序清单时,我可以将用户和组分配给管理门户中的角色。

  "appRoles": [
    
      "allowedMemberTypes": [
        "User"
      ],
      "description": "Can read data.",
      "displayName": "Data Reader",
      "id": "67fba7fa-e54e-4258-b95d-32b082eb771d",
      "isEnabled": true,
      "value": "reader"
    ,
    
      "allowedMemberTypes": [
        "User"
      ],
      "description": "Can create and edit data.",
      "displayName": "Data Writer",
      "id": "e36736c5-e923-435e-8e44-6cae90792931",
      "isEnabled": true,
      "value": "writer"
    
  ],

但是,UI 只允许我将单个角色分配给用户或组。

我找不到如何为一个用户或组分配多个角色。我可以将用户添加到多个组并将角色分配给该组的成员,这将导致该用户的令牌中有多个角色声明,但这似乎很尴尬。

我错过了什么吗?有没有办法为一个用户或组分配多个角色?

【问题讨论】:

【参考方案1】:

你可以在同一个应用中为同一个用户分配多个角色,但是非常有限。基本上再次添加相同的用户并选择不同的角色:

该机制非常繁琐,无法扩展。如果您拥有 AAD Premium Lvl 2,则可以将应用程序角色与组关联,并且当您将用户分配到该组时,他们将自动获得角色。不过,自动分配仅适用于 Premium Lvl 2。

【讨论】:

是的,这个问题是在新门户还不存在时提出并回答的。他们只让 Premium 2 用户可以使用,这似乎很愚蠢。 我看到有人玩魔兽世界;) +50 DKP 给你【参考方案2】:

这原来是 Azure management portal 的限制。在此blog comment 中,AAD PM 解释了可以通过 GraphAPI 为用户或组分配多个角色。

有关详细信息,请参阅此 MSDN blog article 中的“分配应用程序角色”部分。

【讨论】:

以上是关于是否可以为 Azure AD 中的用户或组分配多个角色?的主要内容,如果未能解决你的问题,请参考以下文章

MSGraphMailbag - 用于测试的 Azure AD 应用程序和用户

MSGraphMailbag - 用于测试的 Azure AD 应用程序和用户

是否可以强制禁用 Azure AD B2c 中的访问令牌?

为 Web API 实施 Azure AD 身份验证,可以在有和没有用户上下文的情况下从多个客户端调用?

如何使用 Azure AD MSAL 库将角色包含到访问令牌中

如何将 IAM 角色分配给用户或组