首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用节点库访问HashiCorp Vault KV秘密

使用节点库访问HashiCorp Vault KV秘密
EN

Stack Overflow用户
提问于 2019-07-14 11:02:00
回答 2查看 1.7K关注 0票数 5

我试着用“节点库”访问HashiCorp Vault KV,但是一直得到"statusCode: 404“。

我正在学习节点库https://github.com/kr1sp1n/node-vault的例子。

1)我在windows 10上运行vault_1.1.3_windows_amd64,在PowerShell上运行“保险库服务器-dev”。

2)然后在另一个PowerShell上运行跟踪;

代码语言:javascript
复制
$env:VAULT_ADDR="http://127.0.0.1:8200"
vault secrets enable -version=1 kv
vault status
Key             Value
---             -----
Seal Type       shamir
Initialized     true
Sealed          false
Total Shares    1
Threshold       1
Version         1.1.3
Cluster Name    vault-cluster-28a041c6
Cluster ID      0ec85d70-8e87-dff6-347f-b1959fad8b44
HA Enabled      false

3)然后运行以下代码

代码语言:javascript
复制
const rootKey = //whatever;
const unsealKey = //whatever;

var options = {
    apiVersion: 'v1',
    endpoint: 'http://127.0.0.1:8200',
    token: rootKey
};

var vault = require("node-vault")(options);
vault.unseal({ key: unsealKey })
    .then(() => {
        vault.write('secret/hello', { value: 'world' })
            .then((res) => console.log(res))
            .catch((err) => console.error(err));
    });

vault.write('secret/hello', { value: 'world', lease: '1s' })
    .then( () => vault.read('secret/hello'))
    .then( () => vault.delete('secret/hello'))
    .catch(console.error);

这个返回一个404状态,还需要做些什么来避免404呢?

代码语言:javascript
复制
{ Error: Status 404
    at handleVaultResponse (XX\TestCodes\Node-VaultTest\node_modules\node-vault\src\index.js:49:21)
    at process._tickCallback (internal/process/next_tick.js:68:7)
  response:
   { statusCode: 404,
     body:
      { request_id: '2992e6c2-5146-6569-1f48-55f75da88993',
        lease_id: '',
        renewable: false,
        lease_duration: 0,
        data: null,
        wrap_info: null,
        warnings: [Array],
        auth: null } } }
{ Error: Status 404
    at handleVaultResponse (XX\TestCodes\Node-VaultTest\node_modules\node-vault\src\index.js:49:21)
    at process._tickCallback (internal/process/next_tick.js:68:7)
  response:
   { statusCode: 404,
     body:
      { request_id: '2f280fa4-6596-c06f-2168-091246e0a2a1',
        lease_id: '',
        renewable: false,
        lease_duration: 0,
        data: null,
        wrap_info: null,
        warnings: [Array],
        auth: null } } }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-19 20:04:38

您将kv存储安装为版本1。节点库用于从版本2 kv存储读取秘密的实际路径是不同的,并且与Vault的v1 kv存储不兼容。

-version 2安装您的kv商店。如果未指定,则默认为v1。

票数 1
EN

Stack Overflow用户

发布于 2021-12-14 07:22:26

还请记住,您需要将“数据”添加到您的路径中,以使其正常工作。例如,由于"mySecret“位于根”文件夹“中,所以我使用了kv/mySecret。即使您需要添加kv/data/mySecret。那它对我有效了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57026790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档