返回指南
安全阅读约 9 分钟

API Key 轮换最佳实践

通过凭证重叠、权限、审计日志、到期和泄露响应实现无停机 Key 轮换。

Key 轮换是一个产品工作流

API Key 轮换是创建新凭证并停用旧密钥。生成密钥本身很简单,困难在于协调应用、任务、环境和团队成员,并避免生产中断。

实用流程应允许新旧 Key 短时重叠:创建新 Key、部署、验证流量,最后撤销旧 Key。

把 Key 身份与密钥分开

保存稳定的 Key 记录,包括 ID、所有者、权限、创建时间、状态、前缀和最后使用时间;完整密钥只展示一次,服务器仅保存哈希。

这样可以在撤销密钥后保留审计历史,也允许生产、测试和不同服务分别轮换。

Key 状态接受请求常见用途
Active当前生产凭证
Rotating短时间内是部署期间的旧 Key
Expired达到指定到期时间
Revoked手动停用或泄露响应

使用无停机轮换顺序

用最小权限创建替代 Key,更新密钥存储并部署。确认新 Key 已产生成功流量后,再撤销旧 Key。

  • 盘点所有使用旧 Key 的服务和环境。
  • 创建并安全分发替代凭证。
  • 部署后验证在线请求和后台任务。
  • 撤销旧 Key,并监控被拒绝的遗漏请求。
  • 记录轮换人和轮换原因。

根据风险选择轮换触发条件

除了定期轮换,发现泄露、员工或供应商离职、权限过大、环境迁移和安全事件都应立即触发轮换。高权限 Key 应使用更短有效期和更严格控制。

不要设置团队无法稳定执行的周期。自动化程度高的 90 天轮换,通常比反复绕过的 30 天政策更安全。

让泄露响应快速且可观察

紧急撤销入口应醒目、立即生效并给出确认。产品应展示关联 Key 的近期路由、IP、用量和费用,帮助客户评估影响。

撤销后持续出现的失败请求,可能来自未更新的服务,也可能是攻击者继续尝试,应结合来源和时间进行判断。