繁体   English   中英

Azure AD 多租户应用程序 - 查找哪些租户提供了管理员同意

[英]Azure AD Multi-tenant App - Find what tenant provided admin consent

关于谁在使用我的应用程序,我一直在四处寻找有关 Azure AD 多租户应用程序的文档和信息。

在 Azure AD 中,我创建了一个应用注册并选择了“任何组织目录中的帐户(任何 Azure AD 目录 - 多租户)”。 我看不到任何方法来指定我确实想要允许哪些租户。

在此处输入图像描述

我正在使用需要管理员同意才能使用该应用程序的应用程序权限,因此每个租户的全局管理员都必须同意。 但是,我看不到任何方法可以查看我的应用程序并查看哪个租户同意。

背景:我已经构建了一个跨两个租户进行用户目录搜索的应用程序。 无论哪个用户从任一租户登录,他们都可以在这两个租户中搜索用户。 我在两个租户中都设置了应用注册,并使用客户端机密获取访问令牌来搜索每个目录。

由于我的目录托管应用程序以进行登录,因此每个租户都需要授予管理员同意才能使用该应用程序。 我正在努力确保我们两个租户之外的任何其他租户也不能同意并使用我们的应用程序。

  1. 有没有办法限制允许哪些租户使用我的应用程序?
  2. 有没有办法查看哪个租户允许我的应用程序?
  3. 如果另一个组织获得了我的客户 ID 并授予同意,我能做些什么来阻止他们使用它吗?
  4. 如果其他组织同意我的应用程序,我可以设置通知吗?

有没有办法限制允许哪些租户使用我的应用程序?

您可以通过在Restrict-Access-To-Tenants header 中指定租户列表来限制允许哪些租户使用您的应用程序

有没有办法查看哪个租户允许我的应用程序?

如果您想知道有权访问您的应用程序的租户/用户的列表,您应该是该特定租户的用户。

如果另一个组织获得了我的客户 ID 并授予同意,我能做些什么来阻止他们使用它吗?

您可以通过在应用程序中使用Restrict-Access-To-Tenants header 来限制哪些租户可以访问您的应用程序

如果其他组织同意我的应用程序,我可以设置通知吗?

如果任何其他组织同意您的申请,我们将无法收到通知

有没有办法限制允许哪些租户使用我的应用程序?

目前唯一安全的方法是在您的应用程序代码中。 如果用户正在登录您的应用程序,您可以通过验证 ID 令牌的颁发者是否与您允许的租户之一相对应来执行此操作。 如果您的应用程序接受访问令牌(即它是一个 API),那么您对访问令牌执行相同的操作。

有没有办法查看哪个租户允许我的应用程序?

事后,没有。 如果您的应用程序是发送用户登录/同意的应用程序,那么在同意后,浏览器将被发送回重定向 URL,但在某些情况下授予同意/访问权限不会导致该重定向. (此外,您不希望依赖未受保护的查询参数来接近访问控制,因为用户计数很容易拦截重定向并更改参数值。)

如果另一个组织获得了我的客户 ID 并授予同意,我能做些什么来阻止他们使用它吗?

一般来说,没有。 在某些情况下,可以降低发生这种情况的可能性,但如果您的应用程序配置为多租户应用程序,您必须假设来自任何组织的用户都能够登录到它。 如果您需要限制哪些组织实际使用该应用程序,则需要在应用程序代码中强制执行此操作。

如果其他组织同意我的应用程序,我可以设置通知吗?

不,这是不可能的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM