You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Hashicorp Vault中从指定路径获取特定KV键值对

在Hashicorp Vault中获取KV路径下的特定键值对

你之前的请求方式不对,因为Hashicorp Vault的KV v2引擎(你用的kv/data/路径说明是v2版本)里,kv/data/mysecrets对应的是一个包含多键的秘密条目,直接加路径后缀/key1会被识别成查找名为mysecrets/key1的独立秘密条目,而你并没有创建这个条目,所以返回空错误。

正确的获取方式有两种:

1. 使用HTTP API的fields查询参数

直接在原请求URL后追加?fields=要获取的键名,比如获取key1的请求应为:

http://localhost:8200/v1/kv/data/mysecrets?fields=key1

示例响应结构:

{
  "request_id": "xxx",
  "lease_id": "",
  "renewable": false,
  "lease_duration": 0,
  "data": {
    "data": {
      "key1": "你的key1对应值"
    },
    "metadata": {
      "created_time": "xxx",
      "custom_metadata": null,
      "deletion_time": "",
      "destroyed": false,
      "version": 1
    }
  },
  "wrap_info": null,
  "warnings": null,
  "auth": null
}

如果要同时获取多个键,用逗号分隔键名:

http://localhost:8200/v1/kv/data/mysecrets?fields=key1,key2

2. 使用Vault CLI命令

如果用Vault命令行工具,直接指定-field参数即可:

vault kv get -field=key1 kv/mysecrets

执行后会直接输出key1对应的取值,无需手动解析JSON。

补充:KV v1引擎的差异

如果你用的是KV v1引擎(路径不带/data/),每个键是独立的存储路径,比如存储key1时需存到kv/mysecrets/key1,获取时直接请求:

http://localhost:8200/v1/kv/mysecrets/key1

但从你的请求路径判断,你用的是KV v2,所以优先按上面的方法操作。

内容的提问来源于stack exchange,提问作者Mandroid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 12:03:12