【问题标题】:Azure Active Directory Assigned Users Ignored已忽略 Azure Active Directory 分配的用户
【发布时间】:2015-04-06 03:42:08
【问题描述】:

我已按照https://github.com/AzureADSamples/WebApp-OpenIDConnect-DotNet 的指南将 Azure 身份验证添加到我的 ASP MVC 应用程序中。它的工作原理是将访问限制为仅在域中拥有帐户的用户。非用户被拒绝。

但是,Azure 管理站点中有一个设置允许您将用户分配给应用程序。此设置似乎没有任何作用。域中的所有用户都可以访问站点,即使他们没有分配到应用程序。

我正在寻找一种方法来选择允许哪些用户访问可以在 Azure 域级别管理的站点。

任何帮助将不胜感激...

【问题讨论】:

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


    【解决方案1】:

    确实有点混乱。将用户分配给应用程序的行为会导致应用程序图标(带有徽标)出现在用户的访问面板 (myapps.microsoft.com) 中,用户可以从该面板轻松登录应用程序。对于一些预集成的应用程序,如 salesforce 和 box,用户的配置文件也会在应用程序中创建。

    但是,对于传统的单租户和多租户应用程序,分配用户的行为并不会阻止未分配的用户获得应用程序的令牌。这是我们计划在未来版本(作为配置选项)中向应用程序管理员提供的内容。

    但是,为了满足您当前的需求,您可以(代表用户)查询在目录中分配给您的应用程序的所有用户和组,或者您可以(代表用户)查询分配给您的所有应用程序使用以下 API 向用户发送:

    查询分配给应用程序的所有用户和组:

    HTTP GET https://graph.windows.net/7fe877e6-a150-4992-bbfe-f517e304dfa0/servicePrincipals/7758ff7a-9c65-4779-af33-f2c2f35aec2 0/appRoleAssignedTo?api-version=1.5

    其中 7fe877e6-a150-4992-bbfe-f517e304dfa0 是目录的tenantId(这也可能是目录的域名),7758ff7a-9c65-4779-af33-f2c2f35aec2 是代表服务主体的 objectId该目录中的应用程序。

    查询用户分配到的所有应用程序:

    HTTP GET https://graph.windows.net/7fe877e6-a150-4992-bbfe-f517e304dfa0/users/3a477f6a-6739-4b93-84aa-3be3f8c8e7c2/appRoleAssignments?api-version=1.5

    其中7fe877e6-a150-4992-bbfe-f517e304dfa0是目录的tenantId(也可以是目录的域名),3a477f6a-6739-4b93-84aa-3be3f8c8e7c2是用户对象的objectId。

    我正在使用AADGraphPowerShell 来查询我的目录 - 这里是上述查询的结果:

    希望这会有所帮助。

    【讨论】:

    • 感谢您提供的信息,非常有用...快速提问,我尝试使用 HTTP GET graph.windows.net/.../users/.../… 为我的用户和应用程序提供正确的值,以及有效的访问令牌,我得到的只是然而,返回的是 Authorization_RequestDenied 错误。但是,如果我然后运行 ​​Add-MsolRoleMember -RoleMemberType ServicePrincipal -RoleName 'User Account Administrator' -RoleMemberObjectId ... 它可以工作。我已经给了用户我能找到的所有权限,我不想给应用程序完整的用户管理员角色,因为这可能是一个安全风险。有什么想法吗?
    • 您似乎正在使用 OAuth 客户端凭据流查询 Graph(导致仅应用访问令牌)。您需要在用户的上下文中查询 Graph(除来宾之外的所有用户都可以枚举用户) - 为此使用授权码授予流程。在我们的 Guthub 存储库 (AzureAD) 中搜索 Web 应用程序图形 API 示例。希望有帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-05
    • 2023-03-31
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-12
    相关资源
    最近更新 更多