API Key 安全管理:别让一把密钥拖垮整个业务

密钥泄露途径 · 环境变量 · 服务端代理 · 轮换 · 泄露应急清单

核心结论:大模型 API Key 等同于你账户的「印钞权」。一把泄露的密钥能在几小时内刷光额度甚至导致封号。安全不是可选项,是上线前的及格线。

一、密钥最常见的泄露途径

二、正确的调用架构

浏览器 / App
   │  (只连你自己的后端,不持有 Key)
   ▼
你的后端服务
   │  (环境变量读取 API Key,统一限流/审计/缓存)
   ▼
大模型官方 API

核心原则:密钥永远不出服务端。前端需要智能能力时,调用你自己的接口,由后端代理模型请求。

三、落地防护清单

  1. 隔离:开发、测试、生产用不同密钥,权限最小化。
  2. 存储:用环境变量或密钥管理服务,.env 必须进 .gitignore。
  3. 传输:全程 HTTPS,禁止明文传密钥。
  4. 轮换:定期更换密钥,员工变动立即回收。
  5. 监控:对异常调用量与陌生 IP 设告警。
应急怀疑泄露时:立刻作废旧密钥 → 换新 → 排查来源 → 核对调用记录 → 视情况联系服务商。动作越快,损失越小。

四、常见问题

API Key 为什么不能写进前端代码?

前端代码对用户完全可见,任何人都可扒出密钥直接调用并刷爆你的额度,甚至触发封号。密钥只应存在于受你控制的服务端或环境变量中。

把 Key 放环境变量就安全了吗?

比硬编码进代码好很多,但仍要注意:不要把含密钥的 .env 提交到代码仓库;生产环境用密钥管理服务而非明文文件;CI/CD 日志也可能意外打印密钥。

前端要调用模型,正确架构是什么?

前端只连你自己的后端,由后端持有 Key 转发请求(即「自有后端代理」)。这样密钥不出服务端,还能统一做限流、审计与缓存。

发现密钥可能泄露了怎么办?

立即在平台作废该密钥并生成新的;排查泄露源(仓库、日志、前端、第三方代理);review 近期调用记录看有无异常消耗;必要时联系服务商。

多人协作怎么管密钥?

用密钥管理平台或云厂商的 Secret 服务,按最小权限分配,禁止在群聊/邮件里明文传密钥,离职即回收。

用第三方中转服务方便,能用吗?

风险在于密钥经手他人。若必须使用,选可审计、有资质的服务商,且密钥单独隔离、限额,绝不复用生产主密钥。

开源项目要演示调用,密钥怎么办?

用占位符与读取环境变量的示例,明确文档提示「请勿提交真实密钥」,并提供限额的演示密钥或本地自托管方案。

Token 计费与成本优化 » · 通用 API 接入(OpenAI 兼容)» · 免费额度汇总 »