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

HVAC无法读取HashiCorp Vault密钥?问题排查与解决

问题描述

本地运行开发模式的Vault Docker容器,创建了v1版本的KV密钥引擎kv1,并添加密钥kv1/mega_secret(键值对为"hell": "yeah")。通过CLI命令可正常读取:

# vault kv get kv1/mega_secret
==== Data ====
Key     Value
---     -----
hell    yeah

但使用HVAC Python客户端读取时触发错误:

hvac.exceptions.InvalidPath: no handler for route "secret/kv1/mega_secret".

route entry not found., on get http://localhost:8200/v1/secret/kv1/mega_secret

使用的代码如下:

import hvac

client = hvac.Client(url="http://localhost:8200", token="hvs.4MzADdB9pIHAggqaQWQZASx0", namespace="")
assert client.is_authenticated()
assert not client.sys.is_sealed()

print(client.kv.v1.read_secret(path="kv1/mega_secret"))  # 执行此处报错
解决方法

错误根源是HVAC的kv.v1.read_secret方法默认会在请求路径前拼接secret/前缀,但你的KV引擎挂载在kv1路径下,因此需要显式指定mount_point参数匹配你的引擎挂载点:

修改后的代码:

import hvac

client = hvac.Client(url="http://localhost:8200", token="hvs.4MzADdB9pIHAggqaQWQZASx0", namespace="")
assert client.is_authenticated()
assert not client.sys.is_sealed()

# 指定mount_point为kv1,path传入密钥的相对路径mega_secret
print(client.kv.v1.read_secret(path="mega_secret", mount_point="kv1"))

调整后,HVAC会请求正确的路径http://localhost:8200/v1/kv1/mega_secret,与CLI命令的逻辑一致,即可正常读取密钥内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 07:02:33