gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 05:23:42 25 4
gpt4 key购买 nike

我一直在四处寻找有关 Azure AD Multi-Tenancy 应用程序的文档和信息,了解谁在使用我的应用程序。

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

enter image description here

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

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

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

  1. 是否可以限制哪些租户可以使用我的应用?
  2. 有没有办法查看哪个租户允许我的应用?
  3. 如果另一个组织要获取我的客户端 ID 并授予同意,我可以采取措施阻止他们使用它吗?
  4. 如果其他组织同意我的应用,我可以设置通知吗?

最佳答案

Is there a way to restrict which tenant are allowed to use my app?

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

Is there a way to look into which tenant did allow my app?

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

If another org were to get ahold of my client id and grant consent, am I able to do anything to prevent them from using it?

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

Can I set up notifications if another org grants consent to my app?

不,这是不可能的。

关于Azure AD Multi-Tenancy 应用程序 - 查找哪些租户提供了管理员同意,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70451256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com