首页 > 解决方案 > Hashicorp Vault - 进行 api 调用时出现 403

问题描述

当我试图从保险库中获取秘密时,我有一个(可能的)奇怪的行为。

设置:

  1. 保险柜 1.2.2
  2. 非常基本的 KV 秘密
  3. 具有关联策略的令牌,允许读取此密钥。

我可以使用 Vault Agent 成功读取该机密:

root@us-border-proxy# env | grep VAULT

VAULT_TOKEN=BLABLA
VAULT_CACERT=./vault-ca.crt
VAULT_ADDR=https://1.1.1.1:8200

root@us-border-proxy# vault kv get secret/example
=== Data ===
Key    Value
---    -----
key    SECRETPASSWORD

但是当我尝试使用 vault API 做同样的事情时问题就开始了——我刚得到 403:

root@us-border-proxy# curl -k -H "X-Vault-Token: BLABLA" -X GET https://1.1.1.1:8200/v1/secret/data/example

{"errors":["1 error occurred:\n\t* permission denied\n\n"]}

我想念什么?

标签: hashicorp-vault

解决方案


得到你的错误

当您从 CLI 列出时,您提到的路径是secret/example

root@us-border-proxy# vault kv get secret/example
=== Data ===
Key    Value
---    -----
key    SECRETPASSWORD

但是虽然curl命令中的路径是secret/data/example

curl -k -H "X-Vault-Token: BLABLA" -X GET https://1.1.1.1:8200/v1/secret/data/example

所以改变secret/example应该工作。


推荐阅读