У меня следующий сценарий.
Регистрация моего приложения определяет набор ролей приложения
Я динамически развертываю масштабируемый набор с назначенным системой управляемым удостоверением с помощью шаблона 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.
Я предполагаю, что идентификатор определения роли приложения имеет неправильный формат, но я не смог найти примеров такого назначения приложений в шаблоне ARM.
Это вообще возможно?