我创建了这个秘密后端:
$ vault secrets enable -path=openshift kv
$ vault write openshift/postgresql username=tdevhub
$ vault write openshift/postgresql password=password
我不太清楚如何读取username
和password
值。
我试过:
$ vault read openshift/postgresql/password
或
$ vault kv get openshift/post...
另一方面,当我执行此命令行时:
$ vault kv get openshift/postgresql
====== Data ======
Key Value
--- -----
username tdevhub
我想将username
存储并password
到一个秘密后端。我已经意识到一个kv
秘密后端只能存储一个密钥......对吗?
我怎样才能实现我的目标?
您可以使用以下方法读取机密
vault kv get -field=password openshift/postgresql
或
vault kv get -field=username openshift/postgresql
您可以使用如下命令存储多个数据vault write openshift/postgresql username=tdevhub password=password
。当您在该位置读取时,将返回username
和password
值。
遗憾的是,您无法将数据追加到同一位置,因此当您在该路径上再次执行写入时,以前的值将被覆盖。如果要稍后追加数据,则有两种选择:
- 每次需要添加值时读取数据,并手动追加
- 使用保管库密钥/值机密引擎的 KV 版本 2
您可以使用标志-format json
和-field=data
来获取给定键下的所有数据,以 JSON 格式正确格式化。这也会过滤掉额外的细节。
vault kv get -format json -field=data openshift/postgresql
你会得到的输出是 -
{
"username": "tdevhub",
"password": "password"
}