如何使用 MSI 从另一个租户中的服务访问资源?

时间:2021-07-05 07:25:31

标签: azure azure-devops azure-active-directory azure-managed-identity azure-service-principal

我有一个在租户 A 中运行的 azure 资源。 我在租户 B 中有一项服务需要访问租户 A 中的资源。

除了使用原始用户名/密码或访问密钥之外,我还有哪些选择可以实现这一目标?租户A中的多租户应用程序注册是一种选择吗?这怎么设置?

2 个答案:

答案 0 :(得分:0)

我可以使用托管身份访问不同目录/租户中的资源吗

答案是Managed Identify in cross directory/tenant scenarios

但是,您可以使用服务主体(应用注册是流程的一部分)来实现这一点,我建议您阅读并了解与 https://thomasthornton.cloud/2020/10/14/azure-managed-identities-and-service-principals/ 的区别,很棒的文章!

答案 1 :(得分:0)

是的,您需要一个多租户应用程序来实现这一点。

由于您尝试访问另一个租户中的 Azure 资源,我猜没有用户参与,这只是一个应用程序流?

如果是这样,以下是实现此目标的一些快速步骤:

  1. 在 TenantB 中创建应用注册。
  2. 将应用程序添加到租户 A
  3. 在 TenantA 中配置 azure 资源,以授予此应用程序的权限。
  4. TenantB 中的应用程序现在可以访问 TenantA 中的 Azure 资源。

我在 https://blog.identitydigest.com/cross-tenant-access/.. 写了一篇博文,其中提供了更多详细信息。它包含一个小代码示例,用于展示如何访问 Key Vault 和 Microsoft 图表