无法使用 curl 获取 vault kv-v2 secret

Can't get vault kv-v2 secret using curl

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

我有一个工作保险库,我可以通过 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。

提前致谢。

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

好的,对于那些可能有那个错误的人,我终于在这里找到了答案:

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

所以在我的例子中是:dev/data/postgres/postgres 在我的测试秘密中。