HashiCorp 保险库 + 节点保险库 + 写入 = 404

时间:2020-12-31 11:04:36

标签: hashicorp-vault

我正在尝试使用 node-vault 进行一个简单的操作,但它不起作用。这是我的尝试:

  1. 配置

     var options = {
       apiVersion: 'v2', // default
       endpoint: 'http://127.0.0.1:8200', // default
     };
    
     // get new instance of the client
     var vault = require("node-vault")(options);
     vault.token = "<<MY TOKEN>>";
    
  2. 用法

     vault.write('secret/data/new', {"data": {"foo": "bar"}}).then(
           function (value: any) {
             console.log(value);
           })
           .catch((err: any) => {
             console.log(err);
           });
    
  3. 回复

     { statusCode: 404, body: { errors: [] } }
    

但是,如果我运行 vault kv put secret/data/new foo=bar 它确实有效并且价值就在那里。

这是怎么回事?

谢谢大家,祝大家新年快乐!

1 个答案:

答案 0 :(得分:1)

好的,这就是我所做的。

  1. 重新安装 Vault,存储发生了一些问题,因为我在其中做了很多尝试和命令。
  2. 在特定路径 vault secrets enable -path=testPath kv 中启用秘密引擎
  3. 写入此路径

配置:

    export const VAULT_OPTIONS = {
      apiVersion: 'v1',
      endpoint: 'http://127.0.0.1:8200',
      token: '<<YOUR TOKEN>>'
    };
    vault = require("node-vault")(VAULT_OPTIONS);

写:

    this.vault.write('test/data/mykey', {"data": {"tests": {"test1": "test1-value", "test2": "test2-value"}}}).then(
          (result: any) => {
            console.log(res.data);
          }, (error: any) => {
              console.log(error);
          });

请注意,path 必须包含 data,数据也必须由 data ({ data: {key:value}) 包围。