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

如何使用hvac库列出HashiCorp Vault指定路径下的文件夹

问题排查及解决方法

核心错误原因汇总

  • 未显式指定KV引擎的挂载路径,hvac默认会查找secret挂载点下的路径
  • KV引擎版本和调用的接口版本不匹配
  • list操作的路径末尾没有加斜杠,Vault会识别为读取单条secret而非列举路径内容
  • 所用Token没有对应路径的list权限

对应场景代码示例

场景1:customerkeys是单独挂载的KV v1引擎

vault_token = <token>
vault_url = <url>
client = hvac.Client(url=vault_url, token=vault_token)

# 显式指定mount_point为引擎挂载路径,path填空代表列举引擎根路径
secrets_list = client.secrets.kv.v1.list_secrets(
    path = '',
    mount_point = 'customerkeys'
)
print("secrets list: ", secrets_list)

场景2:customerkeys是单独挂载的KV v2引擎

secrets_list = client.secrets.kv.v2.list_secrets(
    path = '',
    mount_point = 'customerkeys'
)
print("secrets list: ", secrets_list)

场景3:customerkeys是默认secret挂载点下的子文件夹

# KV v1版本,path末尾必须加斜杠
secrets_list = client.secrets.kv.v1.list_secrets(
    path = 'customerkeys/'
)

通用client.list方法的正确写法

如果用通用list接口,KV v2版本需要额外加上metadata路径层:

# KV v1场景
list_folders = client.list('customerkeys/')
# KV v2场景,必须补全metadata路径
list_folders = client.list('customerkeys/metadata/')
print('List of folders: ', list_folders)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 10:24:08