gpt4 book ai didi

azure - 如何使用单个应用程序访问Azure AD中多个租户中的资源?

转载 作者:行者123 更新时间:2023-12-03 05:34:10 26 4
gpt4 key购买 nike

我的客户端应用程序(托管在不在 Azure 上的 Web 服务器上)需要访问各个组织的 Azure 存储帐户。

假设有三个组织 - Org1、Org2 和 Org3。我将为这 3 个组织中的每一个组织在我的服务器上运行一个应用程序实例,因此基本上它们是独立的实例。组织将有一个基于 UI 的表单来输入其详细信息(例如订阅 ID、存储帐户名称等)。

我的印象是我有两个选择。

选项 A - 在每个组织中创建应用注册。因此,将创建 3 个应用程序(组织的每个租户中各一个)。每个组织都必须为各自应用程序的服务主体提供一个角色,以便能够访问其存储帐户。因此总共有 3 个应用程序和 3 个服务主体。

选项 B - 在我的组织(租户)中创建应用注册。为了便于理解,我们将其称为 SomanshOrg。我们是否可以在 Org 1、Org2、Org3 中创建一个服务主体,其中每个组织都必须为其各自的应用程序的服务主体提供一个角色,以便能够访问其存储帐户。然后从我的客户端应用程序中我将能够访问他们的资源。因此,总共有 1 个应用程序和 4 个服务主体(3 个组织 + 我的)。

最终目标是仅从初始 UI 表单中的用户获取凭据。然后我们就可以访问他们的 Azure 存储,而无需更多用户参与。

这些选项中哪个更好?或者是否有其他选项更适合我的用例?

最佳答案

Which of these options would be better? Or is a different option more suitable for my use case?

选项B更好,我认为在这种情况下它应该是最合适的方式。

您只需要创建一个 multi-tenant app在 SomanshOrg 中,然后使用 Org1、Org2、Org3 各自的管理员帐户到 consent the app对于各自的租户。

同意后,服务主体将定位到各自的租户中,那么您只需添加 RBAC roles对于他们的存储帐户范围。

最后一步是访问存储帐户,如果您想在没有任何用户参与的情况下执行此操作,只需使用 client credential flow获取访问存储帐户的 token 。选项 B 的优点是我们只需要一个应用程序 ID 和一个客户端 key ( create it in the SomanshOrg ),该 key 可用于该应用程序的所有服务主体。

关于azure - 如何使用单个应用程序访问Azure AD中多个租户中的资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63756127/

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