【问题标题】:How to assign managed identity from resources in different subscriptons如何从不同订阅中的资源分配托管标识
【发布时间】:2020-06-24 01:23:18
【问题描述】:

下面是场景:

我们在三个不同的订阅中拥有三个 VM,它们需要连接通用服务,例如 MI 的存储帐户。在这种情况下,我是否需要创建三个不同的 MI,因为源位于三个不同的订阅中,或者我可以使用用户分配的 MI 并使用相同的 MI 和三个 VM 来连接存储(1:1 关系),即使它们在不同的Azure 中的潜艇?

或者我们是否必须使用三个不同的 MI?

【问题讨论】:

    标签: azure azure-active-directory azure-managed-identity


    【解决方案1】:

    我可以使用用户分配的 MI 并使用相同的 MI 和三个 VM 连接存储(1:1 关系),即使它们位于 Azure 的不同子系统中?

    是的,你可以。

    本质上,用户分配的身份是 Azure AD 租户中的服务主体,您可以将其添加到不同订阅中的 VM,要求是订阅需要位于同一 AAD 租户中。

    将用户分配的身份添加到不同订阅中的资源后,如下所示。

    如果你想使用虚拟机的用户分配的身份访问存储,你可以参考这个doc,这个文档适用于系统分配的身份,对于用户分配的身份,你需要指定client_id获取token时用户分配的身份,参考这个doc

    【讨论】:

    • MI范围不就是订阅吗?根据您的 cmets,同一用户分配的 MI 可以用作不同订阅的源。系统分配怎么样,也可以吗?如果我在 VM 上启用系统托管标识,然后将 VM 移动到不同的订阅,我还能使用它吗?
    • @James 一个虚拟机的系统分配的身份只能用于特定的虚拟机,如果您将虚拟机移动到不同的订阅,您仍然可以使用它,但也可以使用它在唯一的一个虚拟机中。因此,在您的情况下,如果您想为多个虚拟机使用身份,您的选择是 user-assigned identity ,而不是 system-assigned identity 。
    猜你喜欢
    • 2020-08-08
    • 2020-02-21
    • 1970-01-01
    • 2012-09-17
    • 1970-01-01
    • 1970-01-01
    • 2020-11-17
    • 2018-04-18
    • 2023-02-22
    相关资源
    最近更新 更多