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

101 lines
3.4 KiB
Markdown
Raw Blame History

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