Files
certificate-system/docs/操作日志强化需求.md
2026-06-06 19:32:24 +08:00

3.4 KiB
Raw Permalink Blame History

操作日志强化需求

背景

当前后台已经具备基础操作日志能力,可以记录部分后台动作并在页面查看。随着证书、学员、项目、导入文件等管理动作增多,日志需要更方便排查问题、追踪责任和留档审计。

一期目标

快速增强后台操作日志的可用性,不做复杂审计系统,但要满足日常运营排查和关键动作追踪。

功能需求

  1. 日志列表支持筛选和搜索:

    • 按操作类型筛选。
    • 按对象类型筛选。
    • 按风险等级筛选。
    • 按关键词搜索对象 ID、摘要、详情内容。
  2. 日志显示更易读:

    • 操作名显示中文。
    • 对象类型显示中文。
    • 增加操作摘要例如“作废证书PX2026-xxx”“删除导入文件test.xlsx”。
    • 高风险动作增加醒目标记。
  3. 日志详情弹窗:

    • 展示操作时间、操作人、操作、对象、对象 ID、风险等级。
    • 展示摘要。
    • 展示完整详情 JSON便于排查。
  4. 关键动作记录更多上下文:

    • 新增/修改/停用项目记录项目代码、名称、状态变化。
    • 新增/修改/删除学员记录姓名、脱敏手机号、状态变化。
    • 新增/作废/重置链接证书记录证书编号和学员信息。
    • 上传/确认/删除导入批次记录文件名、导入统计。
  5. 日志导出:

    • 支持导出 Excel。
    • 导出内容包含时间、操作人、操作、对象、对象 ID、风险等级、摘要、详情。

风险等级规则

高风险:

  • 作废证书。
  • 删除导入批次/导入原文件。
  • 重置证书公开链接。
  • 停用项目。
  • 删除学员。

中风险:

  • 修改项目。
  • 修改学员。
  • 确认导入。
  • 新增证书。

低风险:

  • 新增项目。
  • 新增学员。
  • 上传导入文件。
  • 导出数据。

暂不做

  • 日志删除功能。
  • 日志归档策略。
  • 复杂审计报表。
  • 登录失败风控和异常 IP 告警。

日志保留与清理策略

一期采用自动清理过期日志,不开放任意删除单条日志,避免审计证据被误删。

  • 普通后台操作日志保留 180 天。
  • 学员公开查询、公开下载日志保留 180 天。
  • 高风险后台操作日志保留 365 天,包括作废证书、删除导入批次、重置证书公开链接、删除学员。
  • 系统启动和进入日志管理时可以触发过期清理。
  • 后台日志页提供“清理过期日志”按钮,只清理超过保留周期的日志,不删除未过期日志。

公开访问日志

需要记录学员/外部用户主动查询和下载电子证书的行为,用于排查“用户是否查过/下载过”的问题。

  • 公开查询证书:

    • 记录查询方式:证书编号或手机号。
    • 记录姓名。
    • 手机号脱敏。
    • 记录匹配数量。
    • 记录失败查询,但不记录验证码。
  • 公开下载证书:

    • 记录证书编号。
    • 记录学员姓名。
    • 记录项目代码。
    • 不记录公开 token 原文。

自行决策记录

  • 一期优先增强后台日常可用性,不引入新的日志表结构。
  • 风险等级先由操作类型在服务端/前端映射计算,避免为当前版本增加迁移复杂度。
  • 敏感信息在摘要里脱敏,完整详情尽量不写入明文手机号或 token。
  • 公开查询/下载先进入同一张操作日志表,操作人 ID 为空,用“公开访问”对象类型区分。