Развертывание ARM: авторизация не удалась для ресурса шаблона 'sql - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь включить SQL Сервер Логический сервер с PS и ARM. Я могу успешно создать логический сервер на портале с правами участника, но не могу понять, что здесь не так.

У меня есть PowerShell ISE на Windows.

Шаблон ARM копируется и вставляется из https://github.com/Azure/azure-quickstart-templates/tree/master/101-sql-logical-server/

//CODE
Connect-AzAccount -Credential $Credential -Tenant $tenant -Subscription $subscription

#ARM Deployment
$templateFile = "C:\Azure\SQLServer\azuredeploy.json"

New-AzResourceGroupDeployment `
  -Name SQLDeployment `
  -ResourceGroupName my-rg `
  -TemplateFile $templateFile 

ОШИБКА: Новый -AzResourceGroupDeployment: 17.35.18 - Ошибка: Code = InvalidTemplateDeployment; Сообщение = Ошибка развертывания шаблона: «Авторизация не удалась для ресурса шаблона» sql vasvtmcp42o3wko / Microsoft.Authorization / 11fd61df-2336-5b96-9b45-ffc7160df111 'типа «Microsoft.Storage/storageAccounts/providers/roleAssignments». Клиент «john. smith@mycompany. com» с идентификатором объекта «1115f3de-834b-4d28-a48f-ecaad01e3111» не имеет разрешения на выполнение действия «Microsoft.Authorization / roleAssignments / write» в области действия / subscription / 1111111 11111111111111 / resourceGroups /my-rg/providers/Microsoft.Storage/storageAccounts/sqlvasvtmcp42o3wko/providers/Microsoft.Authorization/roleAssignments/11111df -2336-5b96-9b45-ffc7160df168 '.'.

.

Ответы [ 2 ]

1 голос
/ 09 апреля 2020

Я могу успешно создать логический сервер на портале с правами участника, но не могу понять, что здесь не так.

Поскольку шаблон, который вы использовали , включит Advanced data security для вас это создаст учетную запись хранения и субъект-службу для вашего сервера sql, а затем автоматически назначит субъект-службу для учетной записи хранения в качестве роли Storage Blob Data Contributor.

enter image description here

Чтобы выполнить эту операцию, ваша учетная запись пользователя должна быть Owner или User Access Administrator в группе ресурсов или подписке. Или вы можете также создать пользовательскую роль , в которой actions имеет Microsoft.Authorization/roleAssignments/write, тогда роль также сможет это сделать.

Итак, у вас есть два варианта чтобы решить эту проблему.

1. Перейдите в группу ресурсов или подписку на портале -> Access control (IAM) -> Add -> добавьте свою учетную запись пользователя в качестве роли, упомянутой выше, например, Owner, затем это будет работать нормально. Подробнее здесь .

2.При развертывании шаблона укажите enableADS с false в файле azuredeploy.parameters.json. Тогда он не включит Advanced data security для вас, и вы сможете создать сервер sql с Contributor через шаблон.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "serverName": {
            "value": "GEN-UNIQUE"
        },
        "administratorLogin": {
            "value": "GEN-UNIQUE"
        },
        "administratorLoginPassword": {
            "value": "GEN-PASSWORD"
        },
        "enableADS": {
            "value": "false"
        }
    }
}
0 голосов
/ 08 апреля 2020

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

the client 'john.smith@mycompany. com' with object id '1115f3de-834b-4d28-a48f-ecaad01e3111' does not have permission to perform action 'Microsoft.Authorization/roleAssignments/write' at scope '/subscriptions/1111111 11111111111111

Это означает, что ваш следующий шаг должен проверить, какое назначение роли назначено этому пользователю, а затем проверить, имеет ли роль разрешение на выполнение Microsoft.Authorization/roleAssignments/write

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