Azure Ошибка конвейера DevOps: идентификатор клиента, идентификатор приложения, идентификатор участника и область действия не могут быть обновлены - PullRequest
0 голосов
/ 06 мая 2020

Пытаюсь создать SQL Сервер с ARM на Azure DevOps. Конвейер успешно создает ресурс сервера SQL на портале Azure, но я получаю странные ошибки в Azure DevOps. Почему это происходит и как исправить?

ОШИБКА:

There were errors in your deployment. Error code: DeploymentFailed.
##[error]RoleAssignmentUpdateNotPermitted: Tenant ID, application ID, principal ID, and scope are not 
allowed to be updated.
##[error]Check out the troubleshooting guide to see if your issue is addressed: 
https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-resource-group-deployment? 
view=azure-devops#troubleshooting
##[error]Task failed while creating or updating the template deployment.

YML:

task: AzureResourceManagerTemplateDeployment@3
  inputs:
    deploymentScope: 'Resource Group'
    azureResourceManagerConnection: 'TestRG-Conn'
    subscriptionId: '1111753a-501e-4e46-9aff-6120ed561111'
    action: 'Create Or Update Resource Group'
    resourceGroupName: 'TestRG'
    location: 'North Europe'
    templateLocation: 'Linked artifact'
    csmFile: '$(System.DefaultWorkingDirectory)/CreateSQLServer/azuredeploy.json'
   csmParametersFile: 
'$(System.DefaultWorkingDirectory)/CreateSQLServer/azuredeploy.parameters.json'
    deploymentMode: 'Incremental'

ПЕРЕМЕННАЯ В ШАБЛОНЕ:

"variables": {
"StorageBlobContributor": "[subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '111111111111111111111-')]"

} ,

РЕСУРС В ШАБЛОНЕ:

"resources": [
        {
         "condition": "[parameters('enableADS')]",
         "type": 
"Microsoft.Storage/storageAccounts/providers/roleAssignments",
          "apiVersion": "2018-09-01-preview",
          "name": "[concat(variables('storageName'), 
'/Microsoft.Authorization/', variables('uniqueRoleGuid') )]",
           "dependsOn": [
             "[resourceId('Microsoft.Sql/servers', 
 parameters('serverName'))]",
             "[resourceId('Microsoft.Storage/storageAccounts', 
 variables('storageName'))]"
          ],
           "properties": {
            "roleDefinitionId": "[variables('StorageBlobContributor')]",
             "principalId": "[reference(resourceId('Microsoft.Sql/servers', 
 parameters('serverName')), '2018-06-01-preview', 
  'Full').identity.principalId]",
             "scope": "[resourceId('Microsoft.Storage/storageAccounts', 
 variables('storageName'))]",
             "principalType": "ServicePrincipal"
           }
         }

1 Ответ

0 голосов
/ 18 августа 2020

Скорее всего, вы развернули и удалили ресурсы, однако назначение ролей все еще существует, и это то, с чем оно конфликтует (что говорит 4c7 ...). Итак, go проверьте разрешения для учетной записи хранения - если вы используете управляемые удостоверения, это удостоверение будет удалено, но назначение ролей будет сохранено, и пользователь будет отображаться как «неизвестный», что также вызовет указанную выше ошибку при повторном развертывании. - была та же проблема, но с управляемым удостоверением, которое я использовал для кластера aks. Разочарование.

Когда вы удаляете управляемое удостоверение, оно не удаляет связанные роли, созданные для него, я sh его очищали правильно.

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