标准答案
- 开发、测试、预发布和生产应使用独立的配置命名空间、账号和网络边界,生产部署必须显式选择生产配置。
- 构建产物中不应写入生产密钥;运行时通过工作负载身份、密钥挂载或受控注入方式读取需要的凭据。
- 密钥轮换要支持新旧凭据短暂并存、调用方平滑切换和旧凭据撤销,不能只靠一次性改环境变量。
- 部署流水线应避免把完整密钥输出到日志、构建缓存、报错通知或第三方分析系统。
题目解析
最大的风险往往不是“配置写错”,而是环境边界不清:测试服务意外连生产库、预发布密钥长期能访问生产资源。
轮换设计要先确认依赖方是否支持多密钥、连接重建和刷新。无法平滑切换时,必须把维护窗口和回滚方案写进发布计划。
常见误区
- 用同一组数据库账号覆盖所有环境,只依赖数据库名区分。
- 在镜像或前端包中固化密钥,认为私有镜像仓库不会泄露。
- 轮换时直接废弃旧密钥,导致未刷新实例全部报错。