Vault执行kv put命令报API请求错误403权限被拒绝如何解决?
Vault 403 permission denied 问题解决方案
- 首先验证当前shell的环境变量是否生效,执行以下两条命令确认输出和你预期的地址、token一致:
注意:export命令仅对当前shell窗口生效,如果你新开了终端窗口需要重新执行导出操作,或者将配置写入echo $VAULT_ADDR echo $VAULT_TOKEN~/.bashrc、~/.zshrc等终端配置文件永久生效 - 确认你使用的token权限足够:
如果你是用dev模式启动的Vault(你的存储类型为inmem,符合dev模式特征),启动时终端输出的root token拥有最高权限,直接将该token赋值给VAULT_TOKEN变量即可。
如果你使用自定义创建的token,需要确认token关联的策略已开放secret路径的读写权限,策略需包含以下配置:# kv v1 引擎权限配置 path "secret/*" { capabilities = ["create", "read", "update", "delete", "list"] } # 如果你用的是默认的kv v2引擎,额外添加以下配置 path "secret/data/*" { capabilities = ["create", "read", "update", "delete", "list"] } - 确认secret引擎已正确挂载:
执行vault secrets list查看输出中是否存在路径为secret/、类型为kv的引擎,若不存在执行以下命令挂载:vault secrets enable -path=secret kv - 如果你可以正常登录UI,直接复用UI的token测试:
- 登录Vault UI后点击右上角用户头像,选择「Copy token」
- 回到终端执行
export VAULT_TOKEN=刚复制的token值 - 重新执行
vault kv put secret/hello foo=world测试
内容的提问来源于stack exchange,提问作者iker lasaga
相关产品推荐
相关产品推荐

