- у нас есть жестко закодированные соединения db и учетные записи хранения Azure в файле json.Это выглядит ниже
"connection_information": {
"server_name": "xxxx",
"database_name": "xxxx",
"database_username": "xxxx",
"database_password": "xxxxx",
"storage_account": "xxxxx",
"storage_key": "xxxxx"
}
И мы вызываем эти параметры json в
appconfig.py файле. Этот файл выглядит следующим образом
@property
def server_name(self):
return self.data['connection_information']['server_name']
@property
def database_name(self):
return self.data['connection_information']['database_name']
@property
def database_username(self):
return self.data['connection_information']['database_username']
@property
def database_password(self):
return self.data['connection_information']['database_password']
@property
def storage_account(self):
return self.data['connection_information']['storage_account']
@property
def storage_key(self):
return self.data['connection_information']['storage_key']
Теперь мы хотим реализовать хранилище ключей, я создал хранилище ключей, секреты, приложение в лазури, активный каталог, политики доступа.Я пытался извлечь секрет, используя локально работающий код Python.
В настоящее время мы используем соединения db, которые жестко запрограммированы в json и отправляют параметры в конфигурацию приложения.
Первый вопрос : Есть ли способ передать ключевые хранилища в существующем json вместо точных паролей, заменив их лазурным секретным значением?Если это так, мне не нужно слишком много изменений в ML-коде.
Второй вопрос : как перехватить все значения параметров с помощью кода Python и секретных ключей Azure?В основном, как вызывать несколько секретов с помощью python и отправлять их в параметры конфигурации приложения?
Третий вопрос : Каковы наилучшие способы реализации Azure и Python хранилища ключей?Пожалуйста, предложите лучший способ.
Четвертый вопрос : прямо сейчас мы берем ключ учетной записи хранения, это означает, что он предназначен для всех файлов, больших двоичных объектов, очередей, таблиц и т. Д. Как я могу ограничить хранилище BLOB-объектов?
Я видел некоторые блоги, использующие шаблоны ARM.Пожалуйста, предложите лучший подход для меня.
Я заменил исходное значение на секрет в существующем json, и он не работает.
@Microsoft.KeyVault(SecretUri=https://prexxxxxx.vault.azure.net/secrets/Serverxxxx/43251e0xxxxx)
Этот код для получения секретного значения из лазури в python,Работает нормально.
from azure.keyvault import KeyVaultClient
from azure.common.credentials import ServicePrincipalCredentials
credentials = ServicePrincipalCredentials(
client_id = '...',
secret = '...',
tenant = '...'
)
client = KeyVaultClient(credentials)
secret_bundle = client.get_secret(VAULT_URL, SECRET_ID, SECRET_VERSION)
secret = secret_bundle.value