Vault:获取键值机密

Vault: Get key value secrets

我已经创建了这个秘密后端:

$ 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 秘密后端只能存储一个密钥...对吗?

我怎样才能达到我的目标?

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

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

  1. 每次需要添加值时读取您的数据,并手动附加它
  2. 使用 Vault KV Version 2 Key/Value 秘密引擎

您可以使用

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

vault kv get -field=username openshift/postgresql

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

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

你会得到的输出是 -

{
  "username": "tdevhub",
  "password": "password"
}