【问题标题】:Is Admin consent always required in an Azure AD Multi tenant environment?在 Azure AD 多租户环境中是否始终需要管理员同意?
【发布时间】:2020-06-24 00:28:43
【问题描述】:

环境以多租户方式配置。 “AppName”是一个通用 AD 中的应用注册,其创建目的是为了让来自不同租户的用户访问单个环境。为了便于描述,将多租户称为 AD1、AD2 和 AD3。

当来自这些 AD 之一的用户(没有管理员权限)第一次登录时会显示此消息。

AppName 需要访问组织中只有管理员才能授予的资源的权限

此外,在应用程序异常记录中,我可以看到以下错误

Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectProtocolException:“OpenIdConnectMessage.Error 不为空,表示错误。错误:'access_denied'。Error_Description(可能为空):'AADSTS650056:应用程序配置错误。这可能是由于一个以下情况:客户端在客户端的应用程序注册中的请求权限中没有列出任何“AAD Graph”权限。或者,管理员没有在租户中同意。或者,检查请求中的应用程序标识符以确保它匹配配置的客户端应用程序标识符。请联系您的管理员修复配置或代表租户同意。

前提是 AD1 的用户要成功访问环境,AD1 的 Admin 用户必须首先登录并授予管理员访问权限。 “普通AD”应用注册配置如下。

App Registration 中 Supported account types 选项设置为

任何组织目录中的帐户(任何 Azure AD 目录 - 多租户)

唯一的 API 权限如下图所示。 “Granted for ....”状态仅指租户 ID 所在的“公共 AD” - 它不授予管理员对 任何 AD 的同意。

代码中使用的技术是带有 OpenIDConnect 的 ADAL.Net。我们正在使用:https://login.microsoftonline.com/common (V1.0) 端点。

在下面显示的 sn-p 中,在此 url 中找到在我们的案例中设置的唯一 API 权限。“需要管理员同意”设置为“否”。

这就是让我失望的原因。为什么会弹出消息/错误?由于这是多租户方案,是否需要始终获得管理员同意?这个管理员是否同意,在某种程度上,在公共 AD 和多租户 AD 之间建立信任?

【问题讨论】:

    标签: azure azure-active-directory multi-tenant adal azure-ad-graph-api


    【解决方案1】:

    是的。在多租户的情况下,管理员需要加入他们的租户。只有在入职流程之后,用户才能登录。此外,屏幕截图中显示的管理员同意与租赁类型无关或无关,它是特定于权限的。应用程序权限和一些委派权限需要管理员同意。

    https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-convert-app-to-be-multi-tenant#understand-user-and-admin-consent

    https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/blob/master/2-WebApp-graph-user/2-3-Multi-Tenant/README.md

    【讨论】:

    • 感谢您的回复。我接受它作为答案。我可以补充一点,在 Azure 门户/Active Directory/企业应用程序/用户设置中有一个设置,您可以在其中允许您域中的用户为自己同意(在用户级别)。
    • 感谢您接受这个作为答案。您是在谈论“用户可以同意应用代表他们访问公司数据”设置吗?这默认设置为是,我认为,它仍然需要管理员才能加入租户。
    • @RohanNevrikar 我在哪里可以找到这个“入职流程”的文档?或者这个“过程”是否意味着管理员必须先尝试登录,在登录期间,他/她可以授予(或拒绝)同意?
    • @RickHayek 是的,您是对的,这里的入职流程意味着管理员需要先登录,在此期间他们可以授予/拒绝管理员同意,只有在此之后用户才能登录。您可以参考此答案的第二个链接以了解更多有关流程的信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-19
    • 1970-01-01
    • 2016-08-12
    • 1970-01-01
    • 2018-02-15
    • 1970-01-01
    相关资源
    最近更新 更多