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

如何用原生Azure Python客户端列出所有Key Vault?

列出所有Azure Key Vault的Python实现途径

首先明确:Azure Key Vault官方的azure-keyvault-admin、azure-keyvault-keys等专属Python库,确实只封装单个Vault内部的资源操作(密钥、证书、机密管理等),不支持列出订阅下所有Key Vault的功能——因为这个操作属于Azure Resource Manager(ARM)的订阅级资源管理范畴,而非单个Key Vault的内部操作。

可行方案:使用Azure ARM原生Python客户端

你可以直接用azure-mgmt-keyvault库,这是Azure官方推出的、专门用于通过ARM管理Key Vault资源的原生Python客户端,完全支持列出订阅下所有Vault的操作,符合你的需求。

实现步骤及代码示例

  1. 安装依赖库
pip install azure-mgmt-keyvault azure-identity
  1. 编写代码列出所有Key Vault
from azure.identity import DefaultAzureCredential
from azure.mgmt.keyvault import KeyVaultManagementClient

# 替换为你的Azure订阅ID
SUBSCRIPTION_ID = "your-subscription-id"

# 使用默认凭据认证(支持Azure CLI登录、托管标识、服务主体等多种场景)
credential = DefaultAzureCredential()
client = KeyVaultManagementClient(credential, SUBSCRIPTION_ID)

# 拉取订阅下所有Key Vault实例
vaults = client.vaults.list()

# 遍历输出Vault信息
for vault in vaults:
    print(f"Vault名称: {vault.name}, 访问URL: {vault.properties.vault_uri}, 区域: {vault.location}")

补充说明

  • 这个库属于Azure官方原生生态,完全满足你“全程使用原生Python客户端”的要求。
  • DefaultAzureCredential会自动适配不同环境的认证方式:本地开发时用Azure CLI登录即可认证,生产环境可配置服务主体或托管标识。
  • 除了列出Vault,该库还支持创建、删除、更新Key Vault等全量ARM层面的管理操作。

为什么专属库不支持该操作?

Key Vault专属库的设计定位是聚焦单个Vault内部的资源生命周期管理,而列出所有Vault是订阅级别的资源枚举操作,属于ARM的管辖范围,因此官方将这类功能封装在专门的ARM管理库中。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 04:50:54