Azure AD 多租户和多层许可

Azure AD multi tenancy and multi tier consent

有人可以向我解释 azure 管理员同意流程吗,因为它没有很好地记录,我无法阅读和理解或其他原因。

我有一个网络应用程序,它在家庭租户中使用网络 api 网络 api 是网络应用程序的权限 网络 api 将网络应用程序客户端 ID 作为已知客户端应用程序

如果我以家庭租户管理员身份登录需要网络范围的 Web 应用程序 api,一切都会按预期进行: 我看到一个管理员同意对话框,包括网络 api 我同意,一切都很好

如果我作为客户端租户登录到需要网络范围的 Web 应用程序 api - 使用“/common”租户,情况就不太好了: 我看到一个管理员同意对话框,不包括网络 api 当我同意时,注册以 AADSTS650051 结束,说明我无权访问资源

这对我来说确实有意义,因为网络 api 在客户租户中没有服务主体,因此无法访问它,但是当我阅读文档时建议它应该以这种方式工作。这些术语对我来说开始变得模糊,因为它们有点模棱两可,这是我不确定我应该做什么的地方。 source

如果我先登录网络 api,我可以让它工作,因为它将创建服务 prinicpal 然后我可以登录 Web 应用程序,它现在可以访问服务 prinicpal

但是文档并没有在多层单租户中真正解释这一点,而是在多层多租户中提出了这一点

我读了很多遍,所有的字现在听起来都像噪音....

有人ideas/confirmations/tips吗?

我想我找到了答案 - 是偶然发现的,日期是 2017 年,所以谁知道呢?

显然,启用多层同意的 knownclientapplications 设置 在同一租户中工作。

提供多租户解决方案时,您必须构建一个多同意流程,您可以在其中要求管理员单独同意应用程序。

所以我的假设是正确的。单租户,不错。多租户,不!

source

文档明确指出 knownClientApplications 将用于单个租户。多租户设置需要 2 个同意流程。