如何在 ARM 模板中获取自定义角色的角色定义 ID?

时间:2021-04-25 18:20:45

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

我目前正在为 Azure 自定义角色和托管标识创建 ARM 模板。我可以成功创建自定义角色和托管标识。现在我想将该自定义角色分配给该标识。我想在 ARM 模板本身中获取新创建的自定义角色的角色定义。如何获取 ARM 模板中的角色定义 ID ?

 "properties": {
            "roleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', '<Your Role definition ID>')]",
            "principalId": "<your-principal-id>"
        }

1 个答案:

答案 0 :(得分:0)

只需使用带有角色名称的 resourceId 函数

        {
            "type": "Microsoft.Authorization/roleAssignments",
            "apiVersion": "2018-09-01-preview",
            "name": "[guid(subscription().id, 'something')]",
            "properties": {
                "roleDefinitionId": "[resourceId('Microsoft.Authorization/roleDefinitions', guid(subscription().id, '<role definition name>'))]",
                "principalId": "<your-principal-id>",
                "scope": "[subscription().id]"
            }
        },
相关问题