概述
共享数据库口令被存于多处且从不轮换,一处配置泄露即长期放行数据库访问。动态密钥让应用每次申请只需短时有效的账户,租约到期自动吊销,从根源上消除静态口令。
关键步骤
- 用特权连接配置数据库密钥引擎。
- 定义仅授予应用所需权限的角色。
- 应用申请凭证并在租约到期前刷新。
- 依赖 Vault 在租约到期时吊销生成的用户。
验证
- 应用不再存储静态数据库口令。
- 签发的凭证符合最小权限。
- 租约到期后对应用户被吊销。
- 刷新失败时可改用新凭证恢复连接。
注意事项
- 动态密钥在获取与续期时引入对 Vault 可用性的依赖。
- 需要 Vault 具备管理数据库用户的权限,该权限本身必须严格控制。
适用范围
本条目围绕「用 Vault 签发动态数据库凭证」给出可复制的步骤、验证方式与常见问题,适合需要按此流程落地的工程团队。执行时请结合自身上下文调整命令与阈值,并在变更前后留存证据,便于后续复核与回滚。
vault write database/config/app plugin_name=postgresql-database-plugin
vault write database/roles/app-role db_name=app default_ttl=1h max_ttl=24h
# creation_statements template issues a short-lived role per request