Использование конвейера выпуска DevOps Azure с задачей «Развертывание группы ресурсов Azure» для создания новой группы ресурсов из шаблона ARM.
Шаблон ARM содержит назначение ролей в этом новом уровне ресурсов, например:
{
"type": "Microsoft.Authorization/roleAssignments",
"name": "[guid(resourceGroup().id)]",
"apiVersion": "2017-05-01",
"properties": {
"roleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', '8e3af657-a8ff-443c-a75c-2fe8c4bcb635')]",
"principalId": "[parameters('rgOwnerGroupId')]",
"scope": "[resourceGroup().Id]"
}
}
Сбой с ошибкой разрешения:
Не удалось выполнить авторизацию для ресурса шаблона «4778ab77-xxxx-xxxx-xxxx-xxxxxxxxxxxx» типа «Microsoft.Authorization / roleAssignments».Клиент «6ced5214-xxxx-xxxx-xxxx-xxxxxxxxxxxx» с идентификатором объекта «6ced5214-xxxx-xxxx-xxxx-xxxxxxxxxxxx» не имеет разрешения на выполнение действия «Microsoft.Authorization / roleAssignments / write» в области действия / subscription / 7a205d1-xxxx-xxxx-xxxx-xxxxxxxxxxxx / resourceGroups / my-resource-group / provider / Microsoft.Authorization / roleAssignments / 4778ab77-xxxx-xxxx-xxxx-xxxxxxxxxxxx '.
Пользователь, выполняющий задачупользователь проекта DevOps, который, похоже, имеет встроенную роль Contributor во вновь созданной группе ресурсов.Поэтому имеет смысл, что у него нет разрешения назначать роли в группе ресурсов.Как создатель группы ресурсов, странно, что она является только Автором, а не владельцем.Несмотря на то, что владелец может быть полезен только для назначения ролей в моем случае.
Итак, как встроить назначения ролей в рамках группы ресурсов в шаблон ARM для группы ресурсов, созданной из того же шаблона?
единственное решение, предоставляющее больше прав пользователю проекта DevOps?