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

如何通过单次API调用获取HashiCorp Vault目录ENV/DEV下所有密钥值?

解决方案:一次性获取HashiCorp Vault目录下所有密钥值

方法1:通过Postman脚本实现"列密钥+批量读取"自动流程

Vault原生没有直接返回目录下所有密钥值的API,但可以用Postman预请求脚本自动完成两步操作:

  • 先调用列表接口拿到所有密钥名称
  • 遍历名称批量读取密钥值并合并结果

Postman预请求脚本示例:

pm.sendRequest({
    url: 'https://vault.something.com/v1/kv/metadata/ENV/DEV?list=true',
    method: 'GET',
    header: {
        'X-Vault-Namespace': pm.request.headers.get('X-Vault-Namespace'),
        'X-Vault-Token': pm.request.headers.get('X-Vault-Token')
    }
}, function (err, res) {
    if (err) {
        console.log(err);
        return;
    }
    const keys = res.json().data.keys;
    const fetchPromises = keys.map(key => {
        return pm.sendRequest({
            url: `https://vault.something.com/v1/kv/data/ENV/DEV/${key}`,
            method: 'GET',
            header: {
                'X-Vault-Namespace': pm.request.headers.get('X-Vault-Namespace'),
                'X-Vault-Token': pm.request.headers.get('X-Vault-Token')
            }
        });
    });
    Promise.all(fetchPromises).then(results => {
        const allSecrets = results.reduce((acc, result, index) => {
            acc[keys[index]] = result.json().data.data;
            return acc;
        }, {});
        pm.environment.set('all_dev_secrets', JSON.stringify(allSecrets));
    });
});

执行后,主请求可直接调用环境变量{{all_dev_secrets}}获取合并后的所有密钥值。

方法2:使用Vault 1.11+的批量读取接口

如果你的Vault版本≥1.11,可开启KV引擎的批量读取功能:

  1. 先调整KV引擎配置:
vault secrets tune -options=bulk_read_enabled=true kv/
  1. 调用批量读取接口,传入密钥路径列表:
  • 请求URL:https://vault.something.com/v1/kv/bulk
  • 请求方法:POST
  • 请求头:携带X-Vault-Namespace和X-Vault-Token
  • 请求体(JSON):
{
  "paths": [
    "ENV/DEV/secret1",
    "ENV/DEV/secret2",
    "ENV/DEV/secret3"
  ]
}

此方法需要先获取密钥列表,再批量传入路径,仅需两次API调用,效率更高。

注意事项

  • 确保你的Vault令牌拥有kv/read权限,覆盖ENV/DEV下所有密钥路径
  • 批量读取接口仅支持Vault 1.11及以上版本
  • Postman脚本方式需确保网络请求可正常串联执行,本地Postman调用一般无跨域问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 15:55:20