HashiCorp Vault + node-vault + write = 404

3

我正在尝试使用node-vault进行简单的操作,但是它无法正常工作。以下是我的尝试:

  1. Configuration

     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. Usage

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

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

但是,如果我运行vault kv put secret/data/new foo=bar,它可以正常工作并且值在那里。

发生了什么事?

谢谢大家,祝新年快乐!

1个回答

4

好的,这是我所做的。

  1. 重新安装Vault,因为我在其中尝试了很多次并执行了许多命令,导致存储出现问题。
  2. 在特定路径中启用secrets engine 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);

Write:

    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})所包围。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接