繁体   English   中英

如何使用 python 从 Azure app vault 获取数据库密码? 我在 google Dataproc 集群上运行这个 python 文件

[英]How to get DB password from Azure app vault using python ? I am running this python file on google Dataproc cluster

我的 Sql 服务器数据库密码保存在 Azure 应用程序库中,该库以 DATAREF ID 作为标识符。 我需要该密码才能从 SQL 服务器中存在的表创建 spark dataframe。 我在 google Dataproc 集群上运行 this.py 文件。 如何使用 python 获取该密码?

由于您正在从非 Azure 服务访问 Azure 服务,因此您将需要一个服务主体。 您可以使用证书或秘密。 有关不同方法,请参阅链接。 您需要为服务主体授予适当的访问权限,这取决于您使用的是 RBAC 还是密钥保管库的访问策略。 因此,您需要遵循的步骤是:

  1. 创建密钥保管库并创建机密。
  2. 创建服务主体或应用程序注册。 存储 clientid、clientsecret 和 tenantid。
  3. 授予服务主体对密钥保管库(如果您使用访问策略)或特定机密(如果您使用 RBAC 模型)的适当访问权限

代码的 python 链接为HERE 适合您的代码如下:

from azure.identity import ClientSecretCredential
from azure.keyvault.secrets import SecretClient
tenantid = <your_tenant_id>
clientsecret = <your_client_secret>
clientid = <your_client_id>

my_credentials = ClientSecretCredential(tenant_id=tenantid, client_id=clientid, client_secret=clientsecret)

secret_client = SecretClient(vault_url="https://<your_keyvault_name>.vault.azure.net/", credential=my_credentials)
secret = secret_client.get_secret("<your_secret_name>")

print(secret.name)
print(secret.value)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM