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

1.2 KiB

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
  • 应急恢复演练记录