我有以下情况。
我的应用程序注册定义了一组应用程序角色
我通过 ARM 模板动态部署具有系统分配托管标识的规模集
在部署期间,我想将该标识分配给上面定义的特定应用程序角色之一
我使用以下资源更新我的部署模板
{
"type": "Microsoft.Authorization/roleAssignments",
"apiVersion": "2017-09-01",
"name": "<random Guid>",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachineScaleSets/', '<scaleset name>')]"
],
"properties": {
"roleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', '<app role guid>')]",
"principalId": "[reference(resourceId('Microsoft.Compute/virtualMachineScaleSets', '<scaleset name>'), '2019-07-01', 'Full').Identity.principalId]",
"scope": "[resourceGroup().id]"
}
}
但是部署失败,出现以下异常
The specified role definition with ID '<app role guid>' does not exist.
我的假设是应用程序角色定义 ID 的格式不正确,但我在 ARM 模板中找不到任何此类应用程序分配的示例。
这甚至可能吗?