Как использовать Get-AzKeyVaultSecret в Powershell Azure Function 2.x - PullRequest
2 голосов
/ 18 мая 2019

Я настраиваю функцию Powershell Azure, для которой нужны ключи из хранилища ключей Azure.Большинство ключей можно получить с помощью метода @ Microsoft.KeyVault (SecretUri = 'MySecretUriWithVersion').

Один из ключей часто меняется.Следовательно, SecretUri не может быть использован.

Все ключи хранятся в одном и том же хранилище ключей, а функция имеет MSI, который может читать, перечислять и изменять все ключи.

Я работаю с обновлениемтокен, который необходимо обновить.Это значение обновляется каждый раз, когда выполняется мой код, и его необходимо обновить в keyvault

Connect-AzAccount -Identity

#Works
Get-AzKeyVault -VaultName $VaultName -ResourceGroupName $rgName

#Not working
Get-AzKeyVaultSecret -VaultName $VaultName -Name $KeyName

Ожидаемый результат: код извлекает ключ.

Фактический вывод: ОШИБКА: Операциявозвратил недопустимый код состояния «Несанкционированный».KeyVault.KeyVaultClient.GetSecretWithHttpMessagesAsync (String vaultBaseUrl, String secretName, String secretVersion, Dictionary`2 customHeaders, CancellationToken cancellationToken) dlet.ProcessRecord ()

1 Ответ

2 голосов
/ 19 мая 2019

Взято у Microsoft: https://docs.microsoft.com/en-us/azure/key-vault/quick-create-powershell

Вы пробовали точечную запись при получении этих ключей?

(Get-AzKeyVaultSecret -vaultName $VaultName -name $KeyName).SecretValueText

Если это не сработает, вы можете посмотреть на эту проблему github, касающуюся ManagedAppServices: https://github.com/Azure/azure-powershell/issues/8983

Кажется, проблема та же, что и у вас.

...