适用范围
这份 SOP 适合 2-20 人远程团队:有 Stripe、GitHub、Cloudflare、Vercel、OpenAI/Claude、邮件服务、数据库和监控平台。一个人公司也建议照做简化版,因为未来招第一个 contractor 时,历史债最容易爆。
Vault 怎么分?
| Vault | 放什么 | 谁能看 |
|---|---|---|
| Dev | 本地开发 key、测试账号 | 工程团队 |
| Staging | 预发环境 key | 工程 + QA |
| Production | 生产 key、支付、数据库 | 创始人 + 核心工程 |
| Finance | 收款、税务、账单 | 创始人 + 财务 |
| Emergency | 恢复码、break-glass | 两位负责人 |
不要把所有东西放进一个「Team Shared」。那只是把风险集中到一个大抽屉里。每个 vault 都要有 owner,owner 负责季度审计和离职撤权。
API key 入库 checklist
- key 名称包含服务、环境、用途,例如
openai-prod-billing-worker - 备注写清 owner、创建日期、权限范围、轮换周期
- 只给需要的人授权,不给全员默认可见
- 禁止把 key 贴到 issue、PR、Slack、Notion
- 生产 key 不给本地长期使用
- 能用 scoped token 就不用全权限 token
我自己的习惯是:新 key 创建后先写备注,再复制到环境变量或 secret manager。否则三个月后只剩一串 sk-,没人记得它到底绑定哪个服务。
轮换流程怎么跑?
第一步,新建 key,不要先删旧 key。第二步,把新 key 放进 1Password/Bitwarden,并更新部署平台 secret。第三步,发版或重启服务,观察错误率和账单。第四步,确认无流量走旧 key 后再 revoke。第五步,在备注里写轮换日期和下一次检查时间。
| 场景 | 轮换频率 | 备注 |
|---|---|---|
| 生产支付 key | 30-90 天审计 | 尽量少人可见 |
| LLM API key | 月度看用量 | 按项目拆 key |
| CI/CD token | 季度检查 | 优先短权限 |
| Contractor key | 项目结束当天 | 立即撤权 |
| 泄露疑似 | 立即 | 先 revoke |
1Password/Bitwarden 怎么选?
1Password 适合更重开发工作流:CLI、secret 引用、团队 vault 体验都比较顺。Bitwarden 胜在成本和开源生态,预算紧的小团队也够用。别为了工具争半天,把命名、权限和轮换跑起来。
如果你已经有云厂商 secret manager,密码管理器仍然有价值:它放恢复码、控制台登录、手工应急 key;生产服务运行时读取 AWS/GCP/Vercel/Cloudflare 的 secret。两者不是替代关系。
新成员和外包怎么发 key?
新成员入职时,只给当前项目需要的 vault,不给历史全量。外包更要按项目和截止日期发权限,合同结束当天撤回。临时需要生产排查时,可以开一个短期 key,备注写清过期时间和负责人。不要为了省事把创始人的主账号借出去,后续审计会非常难看。
我还建议把「谁能创建 key」和「谁能使用 key」分开。创建权限越少越好,使用权限按项目给。这样即使某个成员电脑丢失,也不会同时丢掉所有服务的管理权。
新成员前三天只给只读或测试环境权限。等他真的需要生产 key,再由负责人单独批准。这个节奏会慢一点,但能避免「入职礼包」一次性发太多权限。远程团队没有办公室里的口头确认,权限范围必须写在工具里。
泄露应急 runbook
- 立即 revoke 或禁用疑似泄露 key
- 查 provider 调用日志、账单、异常 IP、异常时间段
- 生成新 key,按最小权限恢复服务
- 搜索 git 历史、CI log、错误日志和聊天记录
- 通知受影响成员,写明影响范围和后续动作
- 更新 SOP:为什么会泄露,下次如何阻断
LLM API key 的特殊管理
LLM key 最容易失控——模型、项目、成员和账单都变化快。团队如果已经把多个 AI 工具接到同一套凭据管理里,可以用 API 中转把子 key、用量和项目标签拆开,减少共享主 key 的需求。
相关阅读
- LLM API key 轮询最佳实践 — 多 key 切换和退避策略
- AI SaaS token 成本优化 — prompt caching 降本方案
- Notion + Linear + Loom 异步协作栈 — 工具链和权限配合
- Claude Code GitHub Actions — CI 中安全使用 API key