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

18

当我在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"
    }
  ],

然而,用户界面只允许我为一个用户或组指定单个角色。

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

我有什么遗漏吗?是否有一种方法可以为用户或组分配多个角色?

3个回答

27

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

输入图像描述

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


1
是的,这个问题是在新门户网站还不存在时提出并得到解答的。他们只让高级2用户使用这个功能,似乎有些愚蠢。 - MvdD
我看到有人在玩魔兽世界 ;) - Jason King
1
+50 DKP 给你。 - BgRva
2
这似乎在当前版本的Azure AD中无法工作。 - Atif
@Atif,我似乎可以使用不同的角色多次添加同一个用户。 - Sam Morris

7
这实际上是Azure 管理门户的一个限制。在这个博客评论中,AAD PM解释说可以通过GraphAPI将多个角色分配给用户或组。
更多信息,请参见MSDN 博客文章中的“分配应用程序角色”部分。

很遗憾,最后两个博客链接已经失效了。 - undefined

1

我也遇到了同样的问题,在当前版本的Azure门户中解决方法如下:

  1. 创建两个组(group_for_perm1,group_for_perm2)
  2. 将同一用户添加到这两个组中(myuser@domain.com)
  3. 进入Azure AD->企业应用程序
  4. 将“应用程序类型”筛选器更改为“所有应用程序”
  5. 搜索您的应用程序
  6. 选择“用户和组”
  7. 在顶部单击“+ 添加用户/组”,并分配group_for_perm1权限1
  8. 在顶部单击“+ 添加用户/组”,并分配group_for_perm2权限2

请注意,如果“+添加用户/组”按钮灰色,则要么没有将App角色添加到应用注册表中,要么不是“企业应用程序”的所有者组成员。似乎您可以成为应用注册表的所有者而不是企业应用程序的所有者。

现在,令牌应该具有包含您的两个权限的角色部分。将JWT带到jwt.io,您应该会看到类似以下内容:

  "rh": "I",
  "roles": [
    "permission1",
    "permission2"
  ],

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接