保险柜:获取关键价值秘诀

时间:2018-06-20 09:57:59

标签: hashicorp-vault

我创建了这个秘密的后端:

$ vault secrets enable -path=openshift kv
$ vault write openshift/postgresql username=tdevhub
$ vault write openshift/postgresql password=password

我不太清楚如何读取usernamepassword值。

我尝试过:

$ vault read openshift/postgresql/password

$ vault kv get openshift/post...

另一方面,当我执行此命令行时:

$ vault kv get openshift/postgresql                   
====== Data ======
Key         Value
---         -----
username    tdevhub

我想将usernamepassword存储到一个秘密的后端中。我已经意识到,一个kv秘密后端只能存储一个密钥...对吗?

我如何实现目标?

3 个答案:

答案 0 :(得分:2)

您可以使用vault write openshift/postgresql username=tdevhub password=password这样的命令存储多个数据。当您在该位置阅读时,将同时返回usernamepassword的值。

不幸的是,您不能将数据追加到同一位置,因此,当您在该路径上再次执行写入操作时,先前的值将被覆盖。如果要稍后添加数据,则有两种选择:

  1. 每次需要添加值时都读取数据,然后手动添加
  2. 使用保险柜密钥/值秘密引擎的KV Version 2

答案 1 :(得分:2)

您可以使用

阅读机密
vault kv get -field=password openshift/postgresql

vault kv get -field=username openshift/postgresql

答案 2 :(得分:0)

您可以使用标志 -format json-field=data 来获取给定键下的所有数据,这些数据以 JSON 格式正确格式化。这也会过滤掉额外的细节。

vault kv get -format json -field=data openshift/postgresql

你会得到的输出是 -

{
  "username": "tdevhub",
  "password": "password"
}
相关问题