【问题标题】:HASHICORP VAULT: How to read multiple items from a file and write them to VaultHASHICORP VAULT:如何从文件中读取多个项目并将它们写入 Vault
【发布时间】:2017-09-07 19:58:00
【问题描述】:

我可以将值从 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

【问题讨论】:

    标签: hashicorp-vault


    【解决方案1】:

    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
    

    【讨论】:

    • 在 vault version 1.2.3 和 kv version1 上,我得到“无法解析 k=v 数据;无效的 key=value 对”
    【解决方案2】:

    如果您通过文件将数据从一个键复制到另一个键,这种方法适用于我:

    vault read -format=json secret/mykey1 > file.json
    cat file.json | jq '.data' | vault write secret/mykey2 -
    

    注意使用jq"data" 子元素首先带到顶层。

    【讨论】:

      【解决方案3】:

      使用 Vault 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!"} }.

      【讨论】:

        猜你喜欢
        • 2020-10-26
        • 2019-07-28
        • 1970-01-01
        • 1970-01-01
        • 2021-05-07
        • 2022-08-11
        • 2021-04-18
        • 1970-01-01
        • 2019-07-20
        相关资源
        最近更新 更多