Python 3.x python hvac库-如何从vault读取机密

Python 3.x python hvac库-如何从vault读取机密,python-3.x,hashicorp-vault,Python 3.x,Hashicorp Vault,我正在尝试使用hvac lib从vault中读取一个秘密。 我已成功使用令牌进行身份验证。 我的代码: 尼斯产量: True 但如果我增加了阅读秘密的部分: response = client.kv.v1.read_secret(path='path/admin_pass') 我得了403分 raise exceptions.Forbidden(message, errors=errors, method=method, url=url) hvac.exceptions.Forbid

我正在尝试使用hvac lib从vault中读取一个秘密。 我已成功使用令牌进行身份验证。 我的代码:

尼斯产量:

True
但如果我增加了阅读秘密的部分:

response = client.kv.v1.read_secret(path='path/admin_pass')
我得了403分

    raise exceptions.Forbidden(message, errors=errors, method=method, url=url)
hvac.exceptions.Forbidden: 1 error occurred:
    * permission denied

, on get https://vault.domain.com/v1/secret/path/admin_pass
我想知道为什么,因为这条路被赋予了权利

path "path/admin_pass" {
  capabilities = ["read","list"]
}
有点奇怪的是,hvac使用的url与vault的webUI中的url有所不同:

WebUI:

https://vault.domain.com/ui/vault/path/show/admin_pass
Python暖通空调:

https://vault.domain.com/v1/secret/path/admin_pass

有什么想法吗?

您的acl需要包括秘密引擎路径:
secret/
,假设您的密钥/值秘密引擎已安装到
secret
(默认设置)


您的acl需要包括机密引擎路径:
secret/
,假设您的密钥/值机密引擎已装载到
secret
(默认设置)

https://vault.domain.com/v1/secret/path/admin_pass
path "secret/path/admin_pass" {
  capabilities = ["read","list"]
}