我想使用hvac python库从hashicorp保险库获取凭证(用户名和密码),并将其打印出来或存储在某个变量中。但是,在最后一个print语句后,我收到错误TypeError: 'Response' object is not subscriptable
。但是,我的凭证正在进行身份验证。
我的密码如下
import hvac
vault_token = 's.MYBDmBvO5I.....' # Copying my token from vault
vault_url = 'https://vault.corp.foxbase.de/ui/vault/secrets'
client = hvac.Client(url=vault_url, token=vault_token)
res=client.is_authenticated()
print('here is : ',res)
secrets_list = client.secrets.kv.v1.read_secret(
path = 'databases/creds/data-science-access'
)
print("secrets list: ", secrets_list['username'])
输出为
here is : True
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-52-3a463dc902b7> in <module>()
23 #secrets_list1 = secrets_list.json()
24
---> 25 print("secrets list: ", secrets_list['username'])
我在Vault中的凭据位于databases/creds/data-science-access
中。当我在Vault终端"vault read databases/creds/data-science-access
"中运行此命令时,它会生成如下凭据
Key Value
password xxx
username xxx
当我登录到我的保管库时,它看起来像
有没有人能纠正一下我错在哪里?也许是一些参数,比如"vault_url","vault_token"或"path"值,我错误地传递了。
1条答案
按热度按时间b0zn9rqh1#
您需要查询“数据”中的结果,基本上如下所示的最后一行:#print(“机密列表:“,secrets_list ['用户名'])print(“机密列表:“,机密列表[”数据“][”用户名“])