【问题标题】:How to access a resource from a service in another tenant using MSI?如何使用 MSI 从另一个租户中的服务访问资源?
【发布时间】:2021-09-15 23:59:28
【问题描述】:

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

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

【问题讨论】:

  • 我几天前回答(或评论)了一个类似的问题,但现在我找不到了。简单的答案是你不能。 MSI 特定于特定租户和 Azure 订阅。您必须在租户 A 中注册您的服务。
  • 使用应用注册怎么样?我相信有一种方法可以在租户 A 中创建多租户应用程序并在租户 B 中表示该应用程序......我不确定是否以及如何设置

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


【解决方案1】:

我能否使用托管标识访问不同目录/租户中的资源

答案是Managed Identify in cross directory/tenant scenarios

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

【讨论】:

  • 谢谢,但它仍然没有解释如何进行应用注册以连接到不同租户中的资源
【解决方案2】:

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

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

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

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

我写了一篇博文,在https://blog.identitydigest.com/cross-tenant-access/.. 上有更多详细信息。它包含一个小代码示例来展示如何访问密钥保管库和 Microsoft 图形

【讨论】:

    猜你喜欢
    • 2020-02-23
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-14
    相关资源
    最近更新 更多