Я пытаюсь назначить разрешения "Storage Blob Data Contributor"
учетной записи хранения с помощью Azure Devops Pipeline.
У меня есть конфигурация:
Я использую задачу Azure Devops ниже.
- task: AzurePowerShell@5
displayName: "Set Permissions Storage Account for Service Principal"
inputs:
azureSubscription: 'TestSubscription'
ScriptType: 'FilePath'
ScriptPath: '$(Pipeline.Workspace)/drop/Scripts/SetStoragePermission.ps1'
ScriptArguments: '-ResourceGroup $(ResourceGroup) -StorageAccountNameStaticWebApp $(StorageAccountNameStaticWebApp) -ClientIDAppRegistration $(ClientIDAppRegistration) -IDTestSubscription $(IDTestSubscription)'
azurePowerShellVersion: 'LatestVersion'
Сценарий:
param(
[string]$ClientIDAppRegistration,
[string]$IDTestSubscription,
[string]$StorageAccountNameStaticWebApp,
[string]$ResourceGroup
)
New-AzRoleAssignment -ApplicationId $ClientIDAppRegistration -RoleDefinitionName "Contributor" -Scope "/subscriptions/$($IDTestSubscription)/resourceGroups/$($ResourceGroup)/providers/Microsoft.Storage/storageAccounts/$($StorageAccountNameStaticWebApp)/"
У меня есть другой репозиторий, где это работает. С той же конфигурацией. Но в другом репозитории с тем же подключением к службе и той же задачей мне выдается ошибка.
🤔 А знаете ли вы, что...
PowerShell поддерживает работу с JSON, XML и другими форматами данных для обмена информацией.
AzurePowerShell@5
использовал субъект-службу из подключения к службе, чтобы назначить роль учетной записи хранения. Знак Forbidden
указывает на то, что разрешения субъекта-службы недостаточно.
Как вы уже сделали, вы можете это исправить, назначив роль Storage Blob Data Contributor role
субъекту-службе из области подписки.
Что касается задачи DevOps, я могу воспроизвести ту же ошибку, когда субъект-служба находится в подписке и группе ресурсов.
Чтобы исправить ошибку, вы можете добавить субъект-службу в качестве contributor
в группу ресурсов.
Конвейер работает успешно, и в разрешении User access Administrator
добавлено:
Когда вы пытаетесь добавить разрешения contributor
к учетной записи хранения, измените значение Storage Blob Data Contributor
как -RoleDefinitionName
в сценарии PowerShell.
Запустите задачу еще раз, и разрешения "Storage Blob Data Contributor"
будут добавлены для субъекта-службы в учетной записи хранения.