3.4 KiB
3.4 KiB
操作日志强化需求
背景
当前后台已经具备基础操作日志能力,可以记录部分后台动作并在页面查看。随着证书、学员、项目、导入文件等管理动作增多,日志需要更方便排查问题、追踪责任和留档审计。
一期目标
快速增强后台操作日志的可用性,不做复杂审计系统,但要满足日常运营排查和关键动作追踪。
功能需求
-
日志列表支持筛选和搜索:
- 按操作类型筛选。
- 按对象类型筛选。
- 按风险等级筛选。
- 按关键词搜索对象 ID、摘要、详情内容。
-
日志显示更易读:
- 操作名显示中文。
- 对象类型显示中文。
- 增加操作摘要,例如“作废证书:PX2026-xxx”“删除导入文件:test.xlsx”。
- 高风险动作增加醒目标记。
-
日志详情弹窗:
- 展示操作时间、操作人、操作、对象、对象 ID、风险等级。
- 展示摘要。
- 展示完整详情 JSON,便于排查。
-
关键动作记录更多上下文:
- 新增/修改/停用项目记录项目代码、名称、状态变化。
- 新增/修改/删除学员记录姓名、脱敏手机号、状态变化。
- 新增/作废/重置链接证书记录证书编号和学员信息。
- 上传/确认/删除导入批次记录文件名、导入统计。
-
日志导出:
- 支持导出 Excel。
- 导出内容包含时间、操作人、操作、对象、对象 ID、风险等级、摘要、详情。
风险等级规则
高风险:
- 作废证书。
- 删除导入批次/导入原文件。
- 重置证书公开链接。
- 停用项目。
- 删除学员。
中风险:
- 修改项目。
- 修改学员。
- 确认导入。
- 新增证书。
低风险:
- 新增项目。
- 新增学员。
- 上传导入文件。
- 导出数据。
暂不做
- 日志删除功能。
- 日志归档策略。
- 复杂审计报表。
- 登录失败风控和异常 IP 告警。
日志保留与清理策略
一期采用自动清理过期日志,不开放任意删除单条日志,避免审计证据被误删。
- 普通后台操作日志保留 180 天。
- 学员公开查询、公开下载日志保留 180 天。
- 高风险后台操作日志保留 365 天,包括作废证书、删除导入批次、重置证书公开链接、删除学员。
- 系统启动和进入日志管理时可以触发过期清理。
- 后台日志页提供“清理过期日志”按钮,只清理超过保留周期的日志,不删除未过期日志。
公开访问日志
需要记录学员/外部用户主动查询和下载电子证书的行为,用于排查“用户是否查过/下载过”的问题。
-
公开查询证书:
- 记录查询方式:证书编号或手机号。
- 记录姓名。
- 手机号脱敏。
- 记录匹配数量。
- 记录失败查询,但不记录验证码。
-
公开下载证书:
- 记录证书编号。
- 记录学员姓名。
- 记录项目代码。
- 不记录公开 token 原文。
自行决策记录
- 一期优先增强后台日常可用性,不引入新的日志表结构。
- 风险等级先由操作类型在服务端/前端映射计算,避免为当前版本增加迁移复杂度。
- 敏感信息在摘要里脱敏,完整详情尽量不写入明文手机号或 token。
- 公开查询/下载先进入同一张操作日志表,操作人 ID 为空,用“公开访问”对象类型区分。