首页/开发/CI/CD 与发布速查/HashiCorp Vault 要点
环境与配置管理60 条

HashiCorp Vault 要点

集中式密钥管理:动态凭据、租约回收、审计日志与加密即服务;部署与运维复杂度较高,需明确职责边界。

CI/CD 与发布速查开发更新于 2026-10-13

HashiCorp Vault 是什么

集中式密钥管理:动态凭据、租约回收、审计日志与加密即服务。应用不再散布静态密钥,而是按身份短时获取,泄漏面与轮换成本同时下降。代价是部署与运维复杂度较高:自身高可用、解封流程与故障影响面都要提前设计,职责边界先划清。

基本信息

核心概念secrets engine、auth method、policy、lease(TTL)
常见用法KV 存静态密钥;数据库引擎发动态口令;Transit 做加解密
接入AppRole、Kubernetes auth、OIDC 等方式获取令牌
租约动态凭据带 TTL,到期自动失效,续租受策略约束
审计开启审计设备记录每次访问,含调用方与路径

典型使用场景

  • 动态数据库口令:按服务发放短时账号,用完即回收
  • 集中静态密钥:KV 引擎替代配置文件里的明文
  • 加解密服务:Transit 让应用不接触密钥材料
  • 合规审计:访问日志满足密钥操作的追溯要求
  • CI 接入:流水线经 OIDC 或 AppRole 换取短时凭据

实践要点

  • 最小策略:路径与动作逐条开,避免通配写
  • 认证收紧:绑定具体身份(服务账号、命名空间、分支)
  • 解封演练:分片与自动解封方案定期验证
  • 故障预案:Vault 不可用时的降级与恢复路径写进手册
  • 版本化:KV v2 保留历史版本,误覆盖可回读
  • 层级划分:按环境与团队划分命名空间,减少互相影响

常用命令

常用命令
vault kv put secret/prod/db password='...'
vault kv get secret/prod/db
vault policy write app-ro - <<'EOF'
path "secret/data/prod/db" { capabilities = ["read"] }
EOF

核心组件

组件作用注意
secrets engine存取各类秘密按用途选择引擎
auth method认证身份绑定具体主体
policy授权路径与动作最小化到具体路径
lease租约与 TTL到期回收需应用处理
Vault 自身的高可用与解封(unseal)流程要演练:核心密钥服务故障会连锁影响发布。
动态凭据优先:能自动过期的就别存静态值,静态值越多轮换越贵。
先小范围试点:选一条非核心链路接入运行数周,把解封与故障预案跑顺再扩大。

易错点

  • 解封密钥由单人保管:无人值守重启后服务不可用,采用多份分片与托管自动化
  • 策略按路径给通配写权限:横向权限过大,最小化到具体路径与动作
  • 应用不处理租约到期:凭据过期后连接中断,接入续租或重取逻辑
  • 未开审计设备:密钥访问无记录,合规与排障都缺证据

数据来源与参考

  • HashiCorp Vault 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌