如何在 ARM 模板中同时引用系统管理标识和用户管理标识?

时间:2021-02-17 07:20:37

标签: azure azure-resource-manager arm-template

我想知道如何在 ARM 模板中的单个 VM 上分配系统管理标识和用户管理标识?

例如,我有一个 ARM 模板,其用户管理身份如下所示:

"identity":{
        "type":"UserAssigned",
        "userAssignedIdentities":{
           "[resourceId(variables('userAssignedIdentitySubscription'),variables('userAssignedIdentityResourceGroup'),'Microsoft.ManagedIdentity/userAssignedIdentities', variables('userAssignedIdentityName'))]":{
           }
        }
     },

如果我想使用系统管理的身份,我是否应该在身份中添加另一个字典,类型为系统管理的身份?喜欢:

"identity":{
        "type":"UserAssigned",
        "userAssignedIdentities":{
           "[resourceId(variables('userAssignedIdentitySubscription'),variables('userAssignedIdentityResourceGroup'),'Microsoft.ManagedIdentity/userAssignedIdentities', variables('userAssignedIdentityName'))]":{
           }
        }
     },
    {
        "type":"SystemAssigned"
     }

或者有其他方法可以做到吗?

1 个答案:

答案 0 :(得分:0)

我找到了答案,使用系统管理的身份和用户管理的身份,下面是简单的方法:

"identity":{
    "type":"SystemAssigned, UserAssigned",
    "userAssignedIdentities":{
       "[resourceId(variables('userAssignedIdentitySubscription'),variables('userAssignedIdentityResourceGroup'),'Microsoft.ManagedIdentity/userAssignedIdentities', variables('userAssignedIdentityName'))]":{
       }
    }
 },

轻松找到与 ARM 模板相关的答案的提示:我通过手动创建具有两种类型标识的 VM 找到了答案,并从 Azure 门户导出了 ARM 模板并找到了答案:)