gpt4 book ai didi

python - 使用 Azure Key Vault 和 Active Directory 检索 secret

转载 作者:行者123 更新时间:2023-12-02 07:07:34 25 4
gpt4 key购买 nike

对于 Python 代码库,我希望开发人员使用 Azure Key Vault 访问应用程序 secret ,因为我们的想法是,当我们部署时,应用程序也应该能够连接。因此,我正在考虑 Active Directory。

但是,我在互联网上找不到任何使用 Python SDK 来展示这一点的示例。最初,我想检索 CLI 用户:

from azure.common.credentials import get_azure_cli_credentials

credentials, subscription_id, tenant_id = get_azure_cli_credentials(with_tenant=True)

然后使用检索到的这组凭据来访问 key 保管库:

from azure.keyvault import KeyVaultClient

vault_url = "https://########.vault.azure.net/"
secret_name = "########"
secret_version = "########"

client = KeyVaultClient(credentials)
secret = client.get_secret(vault_url, secret_name, secret_version)

print(secret)

但是,我检索到一个错误:

azure.keyvault.v7_0.models.key_vault_error_py3.KeyVaultErrorException: Operation returned an invalid status code 'Unauthorized'

我可以确认 credentialssubscription_idtenant_id 是正确的,并且使用 CLI,我可以成功检索 secret 内容。所以它一定是一些 Python SDK 特定的东西。

有什么想法吗?

最佳答案

看起来这是 Python SDK 中的一个错误。

https://github.com/Azure/azure-sdk-for-python/issues/5096

您可以在 UserPassCredentials 类中使用您自己的 AD 用户名和密码。它不是登录的用户,但它可能是您目前所能得到的最接近的用户。

EG:

from azure.common.credentials import UserPassCredentials
credentials = UserPassCredentials('username','password')

client = KeyVaultClient(credentials)
secret = client.get_secret(vault_url, secret_name, secret_version)

print(secret)

关于python - 使用 Azure Key Vault 和 Active Directory 检索 secret ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55635237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com