API Key 安全管理:别让一把密钥拖垮整个业务
密钥泄露途径 · 环境变量 · 服务端代理 · 轮换 · 泄露应急清单
核心结论:大模型 API Key 等同于你账户的「印钞权」。一把泄露的密钥能在几小时内刷光额度甚至导致封号。安全不是可选项,是上线前的及格线。
一、密钥最常见的泄露途径
- 硬编码进前端 JS 或移动端,被任何人扒取;
- 含密钥的
.env误提交到公开/私有代码仓库; - CI/CD、服务器日志把密钥打印出来;
- 通过来路不明的第三方代理转发,密钥经手他人;
- 群聊、工单里明文发送密钥。
二、正确的调用架构
浏览器 / App
│ (只连你自己的后端,不持有 Key)
▼
你的后端服务
│ (环境变量读取 API Key,统一限流/审计/缓存)
▼
大模型官方 API
核心原则:密钥永远不出服务端。前端需要智能能力时,调用你自己的接口,由后端代理模型请求。
三、落地防护清单
- 隔离:开发、测试、生产用不同密钥,权限最小化。
- 存储:用环境变量或密钥管理服务,
.env必须进.gitignore。 - 传输:全程 HTTPS,禁止明文传密钥。
- 轮换:定期更换密钥,员工变动立即回收。
- 监控:对异常调用量与陌生 IP 设告警。
应急怀疑泄露时:立刻作废旧密钥 → 换新 → 排查来源 → 核对调用记录 → 视情况联系服务商。动作越快,损失越小。
四、常见问题
用第三方中转服务方便,能用吗?
风险在于密钥经手他人。若必须使用,选可审计、有资质的服务商,且密钥单独隔离、限额,绝不复用生产主密钥。
开源项目要演示调用,密钥怎么办?
用占位符与读取环境变量的示例,明确文档提示「请勿提交真实密钥」,并提供限额的演示密钥或本地自托管方案。