无法使用curl获取Vault kv-v2秘密

问题描述 投票:0回答:3

首先,我已经搜索了很多,我可能错过了我正在寻找的答案,因为我确信其他人肯定也有同样的问题......我在 github 和其他地方发现了一些死主题无法解决我当前问题的地方,所以我正在创建一个新帖子。

我有一个工作保管库,我可以通过 UI 访问机密,并且可以使用 vault kv get ... 命令发出请求。但问题是,当我尝试连接其他应用程序时,它告诉我该路径不存在。我检查过,这似乎不是身份验证或策略权限的问题,因为我一直在尝试使用根令牌执行curl请求,并且得到了这个结果:

curl --header "X-Vault-Token:SECRETTOKEN" http://127.0.0.1:8200/v1/secret/data/PATHTOSECRET
{"errors":["no handler for route 'secret/data/dev/postgres/postgres'"]}

在该请求中,我尝试将 /data 添加到路径,因为我正在使用 kv v2 api...但没有它我得到了相同的结果。

有人知道我做错了什么吗?

使用 kv-v2 创建的秘密,如果有帮助的话,我正在使用 Vault 1.5.3。

提前致谢。

hashicorp-vault
3个回答
7
投票

好吧,对于那些可能有这个错误的人,我终于在这里找到了答案:HashiCorp Vault 尽管通过 UI 启用了秘密引擎,但没有路由错误处理程序

错误在于,在所有示例中,他们都使用 Secret/data/PATH...这是错误的...您需要使用“KV 引擎名称”/data/PATHTOSECRET

所以就我而言,它是: dev/data/postgres/postgres 在我的测试秘密中。



-2
投票

尝试在网址中添加“kv”,如下所示:http://127.0.0.1:8200/v1/kv/secret/data/PATHTOSECRET

© www.soinside.com 2019 - 2024. All rights reserved.