我可以向Azure Active Directory(Azure AD)应用程序角色添加权限吗?

时间:2019-01-25 17:44:52

标签: asp.net asp.net-mvc azure azure-active-directory

我正在为我的ASP.NET MVC应用程序实现基于角色的授权。我们使用Azure AD,并且我知道在Azure AD中我可以定义应用程序角色(在Application Manifest文件中)。但是,我的要求是为每个角色附加权限。

例如:

角色:管理员,权限:插入,更新,删除,查看

角色:贡献者,权限:插入,查看等

我在App Manifest文件中看不到任何可以将权限与Azure中的应用程序角色相关联的示例。

有人可以告诉我我是否缺少某些东西,或者在Azure AD中是不可能的吗?

这是我的应用清单文件

"appRoles": [
    {
      "allowedMemberTypes": [
        "User"
      ],
      "displayName": "Admin",
      "id": "d1c2ade8-98f8-45fd-aa4a-6d06b947c66f",
      "isEnabled": true,
      "description": "Admin Have the ability to do all.",
      "value": "Admin"
    },
    {
      "allowedMemberTypes": [
        "User"
      ],
      "displayName": "Contributor",
      "id": "fcac0bdb-e45d-4cfc-9733-fbea156da358",
      "isEnabled": true,
      "description": "Contributor only have the ability to view tasks and their statuses.",
      "value": "Contributor"
    },

2 个答案:

答案 0 :(得分:0)

这在Azure AD中不可用。 您只能指定角色, 由您的应用决定由用户根据角色决定什么权限。

答案 1 :(得分:0)

您已按照所显示的那样在App清单中定义角色,这是正确的方法,但是AFAIK Azure AD仅会帮助您定义角色,然后在某种程度上将角色分配给用户/组。

您的应用程序将需要实现一些逻辑,以解密角色应代表的粒度权限。 Azure AD application roles架构可能无法帮助完成此部分。

示例申请 Authorization in a web app using Azure AD application roles & role claims