Проблемы при назначении роли читателя учетной записи хранения через шаблон ARM - PullRequest
0 голосов
/ 01 марта 2019

Возникает следующая ошибка: «Запрос на создание назначения роли« c ***************** 5 »недействителен. Область назначения роли» / subscription / c ********************** 5 / resourceGroups / MyResourceGroup / provider / Microsoft.Storage / storageAccounts / mystorageaccountname 'должны соответствовать области, указанной в URI "*

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "principalId": {
            "type": "string",
            "defaultValue": "My AD app ID",
            "metadata": {
                "description": "The principal to assign the role to"
            }
        },
        "builtInRoleType": {
            "type": "string",
            "defaultValue": "Reader",
            "allowedValues": [
                "Owner",
                "Contributor",
                "Reader"
            ],
            "metadata": {
                "description": "Built-in role to assign"
            }
        },
        "roleNameGuid": {
            "type": "string",
            "defaultValue": "random guid (i am getting this guid using following PS command "[System.Guid]::NewGuid().toString()")",
            "metadata": {
                "description": "A new GUID used to identify the role assignment"
            }
        }
    },
    "variables": {
        "Owner": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'this is my ownerid')]",
        "Contributor": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'this is my contributor id')]",
        "Reader": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', 'this is my reader id')]",
        "scope": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/MyResourceGroup/providers/Microsoft.Storage/storageAccounts/', 'this is my storage account name')]"
    },
    "resources": [
        {
            "type": "Microsoft.Authorization/roleAssignments",
            "apiVersion": "2014-10-01-preview",
            "name": "[parameters('roleNameGuid')]",
            "properties": {
                "roleDefinitionId": "[variables(parameters('builtInRoleType'))]",
                "principalId": "[parameters('principalId')]",
                "scope": "[variables('scope')]"
            }
        }
    ]
}

1 Ответ

0 голосов
/ 01 марта 2019

Это обычная проблема для назначения роли в области, превышающей область развертывания.В вашем случае развертывание находится на уровне группы ресурсов, и вы пытаетесь назначить область на уровне подписки (который является более высоким уровнем, чем группа ресурсов).

Решение : вам потребуетсячтобы использовать развертывание вложенных шаблонов.

Чтобы просмотреть образец, перейдите по ссылке на эту документацию и найдите раздел «Назначить роль на уровне» в этой документации: Создание ресурсов на уровне подписки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...