HashiCorp Vault项目 - 写入额外的键/值对而不覆盖现有键

时间:2017-03-22 14:26:47

标签: encryption cryptography hashicorp-vault

当我将第一个键/值对放入Vault时:

vault write secret/item/33 item_name='item_name' 

效果很好,我得到了:

vault read secret/item/33

Key                     Value
---                     -----
refresh_interval        768h0m0s
item_name               item_name

但如果我想要添加其他字段item_type

vault write secret/item/33 item_type='item_type' 

它会覆盖现有的:

vault read secret/item/33

Key                     Value
---                     -----
refresh_interval        768h0m0s
item_type               item_type

如何在不替换现有字段的情况下将其他字段 - 键/值对写入Vault?

4 个答案:

答案 0 :(得分:4)

使用kv v2的Vault已添加此功能。

“ vault kv补丁程序秘密/项目newkey = newvalue”

答案 1 :(得分:2)

每个键只能存储一个值。 (Confirmed by Vault developer) 您可以考虑一个合适的数据结构,并将长字符串写入此键,或者您为每个值使用单个键,如下所示:

vault write secret/item/33/name item_name='item_name'
vault write secret/item/33/type item_type='item_type'

答案 2 :(得分:1)

Vault不允许您附加到现有密钥。这实际上真的很烦人。首先必须读取之前的键/值,然后在写入新键/值的同时将它们重新写入。

以下是我发现有人谈论该流程的博文:https://www.fritz.ninja/extending-vault-cli-with-some-ruby-love/

基本上,他编写了自己的命令行工具,可以自动为你追加。他说他为自己的工作创建了这个工具,所以他无法共享代码,但是他在Github上创建了一个名为Vaulty的开源版本:https://github.com/playpasshq/vaulty

答案 3 :(得分:0)

vault kv put secret/hello foo=world 兴奋=是 即使使用键/值 v1,只要您在同一个 put 命令中指定两者,您也应该能够设置多个。