HASHICORP VAULT:如何从文件中读取多个项目并将它们写入 Vault
HASHICORP VAULT: How to read multiple items from a file and write them to Vault
我可以将值从 json 文件写入 Vault :
# cat secrets.json
{ "value": "bGktzwatc" }
{ "value": "AGktzwatB" }
在尝试通过读取 json 文件来创建新值时,Vault 仅从文件中读取第一个值:
# ./vault write secret/passwd1 @secrets.json
Success! Data written to: secret/passwd1
# ./vault read secret/passwd1
Key Value
--- -----
refresh_interval 768h0m0s
value bGktzwatc
是否可以从一个文件中读取多个值并通过 vault 写入不同的密钥?
我的要求是通过从文件中读取来为多个键添加值:
Key Value
--- -----
refresh_interval 768h0m0s
value bGktzwatc
Key Value
--- -----
refresh_interval 768h0m0s
value AGktzwatB
AFAIK,你不能这样做,因为 vault write
命令期望 key
被指定为命令的一部分。
尝试 > vault write @data.json
时,文件中包含的内容似乎根本无关紧要,因为没有 wrong file format
类错误,而是有关命令可用参数的一般输出。
也许会有帮助:您可以为特定键指定多个值:
# cat secrets.json
{ "value1": "bGktzwatc", "value2": "AGktzwatB" }
然后密钥将包含
Key Value
--- -----
refresh_interval 768h0m0s
value1 bGktzwatc
value2 AGktzwatB
使用保险库 1.1.3 和秘密引擎,我可以从文件中写入秘密:
cat secrets.json | vault write secret/yoursecrets -
这也有效:
vault write secret/yoursecrets @secrets.json
请注意,如果 secrets.json
是使用 vault read
生成的,您的秘密位于 JSON 响应的 data
字段中,例如{ "data": {"username":"Mario", "password": "It's-a me, Mario!"} }
.
如果您通过文件将数据从一个键复制到另一个键,这种方法对我有用:
vault read -format=json secret/mykey1 > file.json
cat file.json | jq '.data' | vault write secret/mykey2 -
注意 jq
的使用首先将 "data"
sub-element 带到顶层。
我可以将值从 json 文件写入 Vault :
# cat secrets.json
{ "value": "bGktzwatc" }
{ "value": "AGktzwatB" }
在尝试通过读取 json 文件来创建新值时,Vault 仅从文件中读取第一个值:
# ./vault write secret/passwd1 @secrets.json
Success! Data written to: secret/passwd1
# ./vault read secret/passwd1
Key Value
--- -----
refresh_interval 768h0m0s
value bGktzwatc
是否可以从一个文件中读取多个值并通过 vault 写入不同的密钥?
我的要求是通过从文件中读取来为多个键添加值:
Key Value
--- -----
refresh_interval 768h0m0s
value bGktzwatc
Key Value
--- -----
refresh_interval 768h0m0s
value AGktzwatB
AFAIK,你不能这样做,因为 vault write
命令期望 key
被指定为命令的一部分。
尝试 > vault write @data.json
时,文件中包含的内容似乎根本无关紧要,因为没有 wrong file format
类错误,而是有关命令可用参数的一般输出。
也许会有帮助:您可以为特定键指定多个值:
# cat secrets.json
{ "value1": "bGktzwatc", "value2": "AGktzwatB" }
然后密钥将包含
Key Value
--- -----
refresh_interval 768h0m0s
value1 bGktzwatc
value2 AGktzwatB
使用保险库 1.1.3 和秘密引擎,我可以从文件中写入秘密:
cat secrets.json | vault write secret/yoursecrets -
这也有效:
vault write secret/yoursecrets @secrets.json
请注意,如果 secrets.json
是使用 vault read
生成的,您的秘密位于 JSON 响应的 data
字段中,例如{ "data": {"username":"Mario", "password": "It's-a me, Mario!"} }
.
如果您通过文件将数据从一个键复制到另一个键,这种方法对我有用:
vault read -format=json secret/mykey1 > file.json
cat file.json | jq '.data' | vault write secret/mykey2 -
注意 jq
的使用首先将 "data"
sub-element 带到顶层。