Невозможно получить доступ к секретному ключу хранилища Azure Key в сценарии powershell, работающем в Azure Devops - PullRequest
1 голос
/ 27 марта 2019

У меня есть сценарий powershell, который пытается извлечь секрет, хранящийся в хранилище ключей Azure, с помощью этой команды.

$password = (Get-AzureKeyVaultSecret -vaultName $vaultName -name $secretName).SecretValueText

Это прекрасно работает, когда я выполняю свой скрипт powershell локально. Но когда я пытаюсь сделать то же самое в Azure Devops, он не может дать ошибку ниже.

[error]Operation returned an invalid status code 'Forbidden'

Мне кажется, что это не проблема политики доступа, поскольку я могу успешно выполнять чтение / запись в своем хранилище с использованием сценария powershell, работающего локально.

1 Ответ

2 голосов
/ 27 марта 2019

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

Перейдите в «Настройки проекта DevOps» - «Конвейеры» - «Подключения к службам» и нажмите «Обновить подключение к службе» (используйте полную версию диалога).Там вы можете найти идентификатор подписки и идентификатор участника службы.

Затем вам нужно дать явные разрешения для этого SPN:

Login-AzureRmAccount -subscription <YourSubscriptionID>
$spn= Get-AzureRmADServicePrincipal -spn <YourSPN>
Set-AzureRmKeyVaultAccessPolicy -VaultName <YourVaultName> -ObjectId $spn.Id -PermissionsToSecrets get,list;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...