【问题标题】:Add users/groups and roles to Azure AD native app将用户/组和角色添加到 Azure AD 本机应用
【发布时间】:2018-04-27 16:06:06
【问题描述】:

当我在 Azure Active Directory (Azure AD) 中注册 Web App/API 类型的应用程序时,我可以添加用户和组并将预定义的应用程序角色分配给租户的企业应用程序中的应用程序。但是,没有为Native 类型的应用程序添加用户和组的规定。

是否可以将用户和组添加到本机应用程序,并通过 PowerShell 或 Azure CLI 将它们设置为应用程序特定的角色?

【问题讨论】:

    标签: azure azure-active-directory


    【解决方案1】:

    您注意到,对于本机应用程序,用户和组隐藏在企业应用程序刀片中,我相信原因是您通常不在本机应用程序中配置角色分配,而是在 WebApp 中进行配置/WebAPI(本机应用程序正在使用)。

    无论如何,您可以为原生应用程序配置应用程序角色。您可以这样做,但编辑清单并在那里添加 appRole(值属性将出现在角色声明中)。示例:

      "appRoles": [
        {
          "allowedMemberTypes": [
            "Application",
            "User"
          ],
          "displayName": "ReadOnly",
          "id": "9cc5ee76-3d7d-4060-8b7f-e734f3917e71",
          "isEnabled": true,
          "description": "ReadOnly roles have limited query access",
          "value": "ReadOnlyUser"
        }
      ]
    

    然后您可以使用 Powershell 将用户添加到该角色:

    New-AzureADUserAppRoleAssignment -ObjectId <user's object ID> -PrincipalId <user's object ID> -ResourceId <native app service principal ID> -Id <role ID as it is in the manifest>
    

    然后,如果您获得此应用程序和该用户的令牌,您应该会看到角色声明:

      "roles": [
        "ReadOnlyUser"
      ]
    

    【讨论】:

    • 我正在尝试创建一个 REST API (Web API),它将在内部使用 Microsoft Graph API 来管理 Azure AD 租户中的用户。只有特定角色的用户才需要能够访问 API。此 API 将由移动应用程序使用。我通过将 REST 应用程序设置为 Azure AD 中的本机应用程序来实现 headless 登录,因此移动用户只需使用用户名和密码即可登录。但是本机应用程序不允许在企业应用程序下设置用户/组/角色。但是,如果我将 REST 应用程序设置为 Web 应用程序/API,那么我无法进行无头登录。这就是问题所在。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-02
    相关资源
    最近更新 更多