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、用量和费用,帮助客户评估影响。
撤销后持续出现的失败请求,可能来自未更新的服务,也可能是攻击者继续尝试,应结合来源和时间进行判断。