无法从 azure AD 应用清单分配角色

Posted

技术标签:

【中文标题】无法从 azure AD 应用清单分配角色【英文标题】:Can't assign roles from azure AD app manifest 【发布时间】:2015-05-01 19:12:00 【问题描述】:

我试图在我的 azure 应用程序中实现基于角色的授权,如 http://www.dushyantgill.com/blog/2014/12/10/roles-based-access-control-in-cloud-applications-using-azure-ad/ 文章中所述。不幸的是,在我上传带有角色的清单后,我无法将角色分配给用户 - 天蓝色管理门户底部的分配按钮被禁用(在文章中,我要执行的操作在第 4 个屏幕截图中) .有没有人遇到过这样的事情?以下是我的应用程序清单的 appRoles 部分:

  "appRoles": [
    
      "allowedMemberTypes": [
        "User"
      ],
      "description": "Can do some stuff",
      "displayName": "AU",
      "id": "c400a00b-f67c-42b7-ba9a-f73d8c67e433",
      "isEnabled": true,
      "origin": "Application",
      "value": "au"
    
  ],

更新 事实证明,按钮被禁用的原因非常简单——我之前已经分配了用户,只是假设如果我在清单中实现了角色,即使用户已经被分配,它也会让我通过“分配”按钮分配它们。

仍然没有解决根本问题 - 从应用程序中删除用户并再次分配给他后,没有显示角色分配提示,用户“已分配”状态只是更改为“是”,就好像清单中未设置任何角色。

【问题讨论】:

【参考方案1】:

好的,我应该早点弄清楚 - 当应用清单中只定义一个角色时,不会显示角色分配提示,在这种情况下,它会自动将角色分配给用户。当我查看发送到应用程序的所有声明并在其中找到我定义的单一角色时,我想通了。

Dushyant Gill - 感谢您的帮助。

【讨论】:

感谢您发布这个确切的问题;我已经搜索了几天了。只有一个角色,我也犯了同样的错误。【参考方案2】:

jspi,只有目录的全局管理员和用户帐户管理员才能将用户和组分配给应用程序 - 你能确认登录用户是这两个目录角色之一吗?

【讨论】:

是的,我尝试以全局管理员身份登录。 看起来只有目录的全局管理员可以将用户/组分配给应用程序,而不是用户管理员。后者只能看到现有的用户/组,但不能分配。【参考方案3】:

您必须刷新 Azure 门户才能看到更改(单击显示 Microsoft Azure 的位置)。您也可以退出并重新登录。

【讨论】:

以上是关于无法从 azure AD 应用清单分配角色的主要内容,如果未能解决你的问题,请参考以下文章

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

Azure AD 应用程序 - 列出具有角色分配的订阅

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

从 Azure AD 发出 JWT 令牌中的角色

Azure AD 应用程序角色

Azure AD B2C 单页应用角色