Я пытаюсь настроить Python Azure функцию, которая будет использовать управляемую идентификацию для извлечения секретов из хранилища ключей. Я дал своему приложению-функции разрешение Managed Identity для доступа и извлечения секретов из Key Vault. Я настроил свой сценарий Python как таковой в соответствии с документами Microsoft, представленными здесь:
https://docs.microsoft.com/en-us/python/api/overview/azure/key-vault?view=azure-python
Вместо использования учетных данных по умолчанию я пытаюсь использовать проверка подлинности MSI, как описано здесь:
https://docs.microsoft.com/en-us/azure/developer/python/azure-sdk-authenticate#mgmt -auth-msi
Если я использую пример, приведенный в ссылке для проверки подлинности MSI, он работает . Но когда я использую метод Key Vault, я получаю следующую ошибку:
MSIAuthentication' object has no attribute 'get_token'
Мой код для этого выглядит следующим образом
if name:
# Create MSI Authentication
credentials = MSIAuthentication()
try:
secret_client = SecretClient(vault_url="https://myvault.vault.azure.net", credential=credentials)
secret = secret_client.get_secret("mySecret")
return func.HttpResponse(f"My super secret is: {secret.value}!")
except Exception as e:
err = "type error: " + str(e)
return func.HttpResponse(f"{err}")
Любые предложения о том, как я могу заставить этот метод работать .
TIA
(Я знаю, что могу использовать настройки приложения для установки ссылки на Key Vault и ссылки на эту переменную в моем Python скрипте. Проблема с этим методом заключается в том, что ключ хранилища ключей заключается в том, что при повороте клавиш необходимо перезапустить приложение-функцию)