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

问题描述 投票:0回答:3

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

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

azure azure-devops azure-active-directory azure-managed-identity azure-service-principal
3个回答
2
投票

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

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

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

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

我写了一篇博客文章,其中包含更多详细信息,网址为 https://blog.identitydigest.com/cross-tenant-access/..。它包括一个小代码示例,展示如何访问 Key Vault 和 Microsoft graph


1
投票

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

答案是跨目录/租户场景中的托管标识

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


0
投票

Jerald - 您可以使用配置多租户应用程序注册。这会解决你的问题。

© www.soinside.com 2019 - 2024. All rights reserved.