gpt4 book ai didi

azure - 使用 Azure Key Vault 获取 secret

转载 作者:行者123 更新时间:2023-12-03 05:27:16 27 4
gpt4 key购买 nike

我想在 ML 笔记本中使用 Azure Key Vault 来检索 secret 。我遵循的教程here建议使用

from azure.keyvault.secrets import SecretClient
from azure.identity import DefaultAzureCredential

vault_url = 'https://<myvaulturl>.vault.azure.net'
az_credential = DefaultAzureCredential()
client = SecretClient(vault_url=vault_url, credential=az_credential)

client.get_secret('<mysecret>')

但是我收到此错误 ClientAuthenticationError: DefaultAzureCredential 无法从包含的凭据中检索 token 。尝试的凭据:EnvironmentCredential:EnvironmentCredential 身份验证不可用。环境变量未完全配置。 ManagedIdentityCredential:意外响应“无”
我认为这确实取决于我没有设置环境变量的事实:

AZURE_CLIENT_ID
AZURE_CLIENT_SECRET
AZURE_TENANT_ID

我想知道是否有其他方法可以在不使用 DefaultAzureCredential 类的情况下访问保管库。
有人有什么想法吗?

最佳答案

尝试使用ClientSecretCredential来执行此操作:

from azure.keyvault.secrets import SecretClient
from azure.identity import ClientSecretCredential

AZURE_TENANT_ID = ''
AZURE_CLIENT_ID = ''
AZURE_CLIENT_SECRET = ''


cred = ClientSecretCredential(
client_id = AZURE_CLIENT_ID,
client_secret = AZURE_CLIENT_SECRET,
tenant_id = AZURE_TENANT_ID
)

keyVaultName = ''
KVUri = f"https://{keyVaultName}.vault.azure.net"

sc = SecretClient(vault_url=KVUri, credential=cred)
print(sc.get_secret('<secret name>').value)

结果: enter image description here

enter image description here

更新:

  1. 您可以在 Azure 门户上找到您的租户 ID:

enter image description here

  • 关注this doc创建 Azure AD 应用程序并按照 this section 操作创建应用程序 secret 。这样您就拥有了 ClientSecretCredential

    的所有 3 个参数(租户 ID、客户端 ID 和客户端 key )
  • 关注this doc将此应用添加到访问策略中,以便此应用有权查询 Azure Key Vault 中的 secret 。

  • 关于azure - 使用 Azure Key Vault 获取 secret ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67834081/

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