Динамический доступ к хранилищу ключей Azure из Функций Azure

Я пишу приложение лазурных функций на Python. Это приложение-триггер http. Вход для приложения - это идентификатор пользователя.

{  "user":"TEST_USER_1" }

Функции должны использовать имя пользователя, указанное в параметре 'user', искать пароль в лазурном хранилище ключей и пытаться удаленно войти в одну из служб. Для этого нам нужно добавить параметр настроек приложения для конкретной версии keyvault, НО эти изменения статичны.

Для нас все пользователи и их пароли добавлены в azure keyvault, и мы продолжим предоставлять больше пользователей.

Теперь проблема заключается в том, как динамически получить доступ к паролю для любого пользователя, указанного во время вызова API? Можно ли получить доступ ко всем секретам в хранилище ключей без указания индивидуальной версии секрета?


person SunilS    schedule 27.11.2019    source источник


Ответы (1)


Вот что вам нужно сделать:

  • создать управляемое удостоверение для вашей функции Azure
  • предоставить разрешение в Azure Key Vault (Get / List) для предыдущего удостоверения
  • получить токен доступа из Azure AD в своей функции
  • используйте токен, чтобы получить секрет.

Некоторые полезные ссылки:

https://docs.microsoft.com/en-us/azure/python/python-sdk-azure-authenticate

https://docs.microsoft.com/en-us/python/api/overview/azure/key-vault?view=azure-python

person Thiago Custodio    schedule 27.11.2019