Files
gaokao-volunteer-system/docs/KEY_MANAGEMENT_BASELINE.md
Hermes Agent a128fcda0d
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
feat: tighten portal delivery gating and add compliance baselines
2026-06-14 10:44:04 +08:00

58 lines
1.2 KiB
Markdown

# KEY_MANAGEMENT_BASELINE
最后更新: 2026-06-14
## 1. 范围
本文件覆盖当前项目中的关键密钥材料:
- `GAOKAO_JWT_SECRET`
- `GAOKAO_ORDERS_FERNET_KEY`
- 管理后台密码
- 支付 provider 私钥 / 公钥 / webhook secret
- 渠道同步 webhook secret
## 2. 基本原则
1. 密钥不写入 Git
2. 密钥不打印到日志
3. 密钥不放在测试截图/文档示例中
4. 生产与测试密钥必须隔离
5. 支付密钥与业务数据库分离托管
## 3. 最小托管要求
- 使用环境变量或受控文件路径注入
- 受控目录权限最小化
- 记录每个密钥的负责人、用途、环境
## 4. 轮换基线
以下情况应触发轮换:
- 怀疑泄漏
- 管理员离职/权限变更
- 新环境切换
- 第三方支付证书更新
## 5. 应急恢复要求
至少能回答:
- 如果 JWT secret 丢失,如何切换新值并让旧 token 失效
- 如果 Fernet key 丢失,哪些历史敏感字段会受影响
- 如果支付私钥或 webhook secret 泄漏,如何停用并更换
## 6. 当前状态
已具备:
- 配置层面对部分 secret 的基本校验
- 示例配置不直接提交真实值
尚缺:
- 密钥台账
- 轮换 runbook
- 应急恢复演练记录