You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Python手动传参连接Azure Key Vault Secret,无需配置环境变量?

Azure Key Vault Python SDK手动传参连接方案

核心逻辑说明

官方推荐的DefaultAzureCredential默认会优先读取系统环境变量中的服务主体认证参数,如果你不想配置全局环境变量,可以选择以下两种实现方式,都可以完全脱离环境变量完成认证。

方案1:使用ClientSecretCredential直接传参(最推荐)

直接使用专门的服务主体凭证类,参数完全由你手动传入,可从自定义配置文件、加密配置中心等任意位置读取,无需依赖环境变量。

第一步:安装依赖包

pip install azure-keyvault-secrets azure-identity

第二步:代码实现示例

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

# 以下参数手动替换为你的实际配置
tenant_id = "Azure租户ID"
client_id = "服务主体应用ID"
client_secret = "服务主体密钥"
vault_url = "Key Vault访问地址,格式为https://<vault名称>.vault.azure.net/"

# 初始化凭证与密钥客户端
credential = ClientSecretCredential(
    tenant_id=tenant_id,
    client_id=client_id,
    client_secret=client_secret
)
secret_client = SecretClient(vault_url=vault_url, credential=credential)

# 测试读取密钥
test_secret = secret_client.get_secret("你的密钥名称")
print(test_secret.value)

注意:不要将认证参数硬编码到公开可访问的代码中,建议从加密配置文件或内部配置中心读取敏感信息。

方案2:代码内临时配置环境变量(兼容DefaultAzureCredential)

如果你需要保留使用DefaultAzureCredential的逻辑,也不需要修改系统环境变量,只需要在导入azure相关库前,通过os模块临时设置当前Python进程的环境变量即可,配置仅对当前运行的程序生效。

import os

# 临时配置当前进程的环境变量
os.environ["AZURE_TENANT_ID"] = "Azure租户ID"
os.environ["AZURE_CLIENT_ID"] = "服务主体应用ID"
os.environ["AZURE_CLIENT_SECRET"] = "服务主体密钥"

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

vault_url = "Key Vault访问地址"
credential = DefaultAzureCredential()
secret_client = SecretClient(vault_url=vault_url, credential=credential)

# 测试读取密钥
test_secret = secret_client.get_secret("你的密钥名称")
print(test_secret.value)

相关说明配图

环境变量配置说明图
DefaultAzureCredential使用说明图

内容的提问来源于stack exchange,提问作者Murugaraju Perumalla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 10:15:03