"connection_information": {
"server_name": "xxxx",
"database_name": "xxxx",
"database_username": "xxxx",
"database_password": "xxxxx",
"storage_account": "xxxxx",
"storage_key": "xxxxx"
}
@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代码来揭开秘密。
当前,我们正在使用在json中进行硬编码的dbconnections,并将参数发送到应用程序配置。
第一个问题:有什么方法可以通过现有json中的密钥库而不是确切的密码来传递,而是用天蓝色的秘密值代替?如果有,我不需要在ML代码中进行太多更改。
第二个问题:如何通过使用python代码和天蓝色的密钥库秘密来捕获所有参数值?基本上,如何使用python调用多个秘密并将其发送到应用配置参数?
第三个问题:实现密钥库天蓝色和python的最佳方法是什么?请提出最佳方法。
第四个问题:现在我们正在使用存储帐户密钥,这意味着它适用于所有文件,blob,队列,表等,我该如何明智地限制Blob的存储?
我看到了一些使用ARM模板的博客。请为我建议最好的方法。
我已用现有json中的秘密替换了原始值,并且无法正常工作。
@Microsoft.KeyVault(SecretUri=https://prexxxxxx.vault.azure.net/secrets/Serverxxxx/43251e0xxxxx)
此代码从python中的azure检索秘密值。一切正常。
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