如何通过Vault API自行撤销Token?调用revoke-self报权限拒绝是什么原因
问题原因
你遇到的权限报错是API调用方法错误导致的,非Vault预期的权限控制逻辑。
Vault的/v1/auth/token/revoke-self接口仅支持POST请求,你当前curl命令使用的GET方法不符合接口要求,因此会被拦截返回权限拒绝错误。
修正后的API调用示例
curl -H "X-Vault-Token: s.XXXXXXXXXXXXXXYYYYYYYYYYYY" -X POST $VAULT_ADDR/v1/auth/token/revoke-self
CLI正常执行的原因
vault CLI的token revoke -self命令底层会自动按照API规范发送符合要求的POST请求,因此使用同一个Token可以正常完成撤销操作。
额外排查建议
如果修改请求方法后仍然出现权限报错,可检查该Token关联的Policy是否配置了对应路径的权限:
path "auth/token/revoke-self" { capabilities = ["update"] }
内容的提问来源于stack exchange,提问作者JPNagarajan
相关产品推荐
相关产品推荐

