Azure python sdk: Как пройти аутентификацию на Azure, не раскрывая учетные данные в коде? - PullRequest
0 голосов
/ 09 мая 2020

Есть ли способ аутентифицировать приложение python в Azure без добавления секретов в мой код? Поскольку я использую ненадежные вычислительные ресурсы, я не могу сохранять свои секреты в качестве переменных среды или хранить файлы конфигурации локально.

Дано:

  • A Субъект службы был создан через портал для этого приложения (python-sp)
  • Субъект службы получил роль Contributor для Azure Key Vault

Пример:

  • Я хочу использовать python sdk для программного создания и управления Azure ресурсами
  • Чтобы создать новую группу ресурсов, мне сначала нужно пройти аутентификацию приложение python. Единственный метод, который мне удалось найти, который не требует добавления clientSecret в код, - это использовать az login ...
sp_name = 'python-sp'
sp_file = 'sp_creds.json'

!az login
!az ad sp create-for-rbac -n $sp_name --sdk-auth > $sp_file
!export AZURE_AUTH_LOCATION=$sp_file

with open(sp_file) as data_file:
    sp_details = json.load(data_file)

os.remove(sp_file)
  • К сожалению, это требует взаимодействия, поэтому код на самом деле не лишен головы. Кроме того, учетные данные находятся в файле json в памяти, даже если только на несколько минут.

  • Как мне вместо этого получить доступ к Azure Key Vault для получить ключи / секреты аутентификации?

  • Я не могу получить доступ к Azure Key Vault без каких-либо учетных данных в коде.

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

Курица и яйцо! Но я думаю, это имеет смысл. Есть идеи?

1 Ответ

1 голос
/ 10 мая 2020

ну этот вопрос не конкретно c к Azure Python SDK. и ответ будет одинаковым независимо от того, какой тип SDK (или даже платформы) вы используете. Так что передавайте учетные данные в качестве переменных среды, используйте сертификаты, используйте хранилища, используйте управляемые удостоверения и т. Д. c. Все эти подходы позволяют безголовую аутентификацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...