【问题标题】:Invalid key/value pair when adding json to vault将 json 添加到 Vault 时键/值对无效
【发布时间】:2022-10-04 22:43:32
【问题描述】:

我试过了:vault kv put -format=json secrets/path @file.json 收到此错误:

无法解析 K=V 数据:无效的键/值对“@file.json”:json 无法将数组解组为 map[string] interface {} 类型的 Go 值

尝试vault kv put -format=json secrets/path file.json 时,我得到:

无法解析 K=V 数据:无效的键/值对“file.json”:格式必须为 key=value

不知道我做错了什么。

【问题讨论】:

    标签: json hashicorp-vault vault


    【解决方案1】:

    如果您尝试将 JSON 文件作为参数传递,则第一种形式更正确。第二种形式没有引用文件,它只是无效的语法。

    第一个表单上的错误消息表明您拥有的 JSON 文件格式不正确。所需的格式取决于您的 KV 引擎版本。如果您使用的是 KV v2 引擎,则需要将您的键:值对放入 data 顶级映射中。如果您使用的是 KV v1 引擎,则每个键:值对本身都需要是顶级对象。

    KV v1:

    {
      "key": "value",
      "foo": "bar",
      "bar": "baz"
    }
    

    KV v2:

    {
      "data": {
        "key": "value",
        "foo": "bar",
        "bar": "baz"
      },
      "options": {}
    }
    

    -output-curl-string 标志非常适合检查 vault CLI 工具在后台执行的操作,尝试添加它并查看二进制文件对您的命令应用了哪些转换。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-17
      • 2020-04-26
      • 2019-04-02
      • 2019-07-28
      • 1970-01-01
      相关资源
      最近更新 更多