展开知识库目录
API Key 和环境变量怎样放,避免进入仓库、构建产物和日志
环境变量只是传递方式,不自动安全。
密钥必须能轮换、撤销且不进入产物
环境变量只是传递方式,不自动安全。需要确认密钥存储、注入、日志脱敏、权限范围、构建和前端边界,泄漏后能快速撤销。
分类与最小权限
记录每个密钥的服务、环境、所有者、scope、有效期和可执行动作,开发与生产分离。
把涉及的文件、目录、版本、命令和实际输出写进记录;代码变化同时保留 diff 与测试结果。
选择存储位置
本地使用受控配置或密钥管理,CI/CD 使用平台 secrets,生产使用适当的密钥服务;不写入仓库。
确认“选择存储位置”已经有可回查结果,再进入“阻止进入前端和构建”;依据仍然来自猜测时,把缺口单列并停在当前步骤。
阻止进入前端和构建
检查打包变量前缀、静态产物、source map、容器层和配置模板,任何浏览器可见值都视为公开。
确认“阻止进入前端和构建”已经有可回查结果,再进入“清理日志和错误”;依据仍然来自猜测时,把缺口单列并停在当前步骤。
清理日志和错误
对请求头、连接串、URL 参数和异常对象脱敏,禁止调试打印完整环境。
确认“清理日志和错误”已经有可回查结果,再进入“扫描与轮换演练”;依据仍然来自猜测时,把缺口单列并停在当前步骤。
扫描与轮换演练
扫描历史、产物和日志;发现泄漏先撤销轮换,再清历史与缓存,记录影响。
需要修改时先限定文件和行为范围,无法说明回滚方式或影响面的动作先不执行。 完成后把证据归入“密钥位置清单与泄漏检查结果”。
完成后应能在“密钥位置清单与泄漏检查结果”中找到与这一步对应的记录;仍需靠猜测补全,就停在这里。
清单要覆盖密钥完整生命周期
从创建、授权、存储、注入、使用、监控、轮换到撤销都有责任人。仅把 `.env` 加入 `.gitignore` 远远不够。
