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

如何实现Vault密钥自动同步至Consul并查看?求相关文档

Vault密钥创建并自动同步到Consul的实现步骤

1. 在Vault中创建密钥

首先启用KV密钥引擎(以KV v2为例,若使用v1可替换为kv):

vault secrets enable -path=my-secrets kv-v2

写入密钥到指定路径:

vault kv put my-secrets/database username=admin password=supersecret

验证密钥创建成功:

vault kv get my-secrets/database

2. 配置Vault自动同步密钥到Consul

步骤2.1 准备Consul权限

先在Consul中创建允许写入KV的策略(保存为vault-sync-policy.hcl):

policy "vault-sync" {
  rule {
    path = "kv/*"
    policy = "write"
  }
}

加载策略并创建专用同步Token:

consul acl policy create -name vault-sync -rules @vault-sync-policy.hcl
consul acl token create -description "Vault sync token" -policy-name vault-sync

步骤2.2 在Vault中配置Consul同步目标

添加Consul作为Vault的密钥同步目标:

vault write sys/sync/destinations/consul/my-consul-dest \
  address=http://<consul-server-ip>:8500 \
  token=<your-consul-sync-token>

步骤2.3 创建密钥同步规则

将Vault指定路径下的密钥同步到Consul的目标KV路径:

vault write sys/sync/rules/my-sync-rule \
  source=kv-v2/my-secrets \
  destination=consul/my-consul-dest \
  destination_path=kv/vault-secrets

验证同步规则:

vault read sys/sync/rules/my-sync-rule

3. 在Consul中查看来自Vault的密钥

查看单个同步密钥:

consul kv get kv/vault-secrets/database

递归查看所有同步到Consul的Vault密钥:

consul kv get -recurse kv/vault-secrets

关键注意事项

  • 确保Vault与Consul节点网络连通,Consul默认8500端口需开放
  • Consul同步Token需拥有目标KV路径的写入权限,若需读取同步后的密钥还需添加read策略
  • Vault同步规则支持配置过滤条件、版本保留等,可通过vault write sys/sync/rules/my-sync-rule filter=...调整
  • 若使用KV v1引擎,同步规则的source需改为kv/my-secrets,写入密钥命令为vault write my-secrets/database username=admin password=supersecret

内容的提问来源于stack exchange,提问作者Al-Tamir

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 16:18:18