All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m55s
40 lines
2.7 KiB
Markdown
40 lines
2.7 KiB
Markdown
## Why
|
||
|
||
当前系统仅在账号、微信配置、代理充值等少量模块落了审计日志,卡与设备的大量敏感写操作(停复机、绑卡解绑、分配回收、远程控制、实名策略、轮询开关、停用等)缺少统一落库审计,出现问题时难以回答“谁在什么时间做了什么、从什么变成什么、结果如何”。
|
||
|
||
随着资产规模和运维复杂度增长,该缺口已经影响安全审计、问题追溯和责任界定,需尽快补齐资产域操作日志能力并做全量覆盖。
|
||
|
||
## What Changes
|
||
|
||
- `feature-001-asset-audit-domain-model`:新增资产域专用审计日志能力,建设独立日志模型与存储(不复用账号日志表)。
|
||
- `feature-002-asset-audit-full-coverage`:覆盖卡与设备相关全部敏感写操作,包含成功、失败、拒绝三类结果。
|
||
- `feature-003-asset-audit-context-complete`:每条日志必须记录操作人、操作时间、操作内容、变更前后数据、请求上下文与结果。
|
||
- `feature-004-asset-audit-service-integration`:在 `Handler -> Service -> Store -> Model` 分层内完成审计服务注入与调用,主流程非阻塞。
|
||
- `feature-005-asset-audit-observability`:补充文档与手工验收方案,保证审计数据可查询、可追溯、可核对。
|
||
|
||
## Capabilities
|
||
|
||
### New Capabilities
|
||
- `asset-operation-audit`:资产域操作审计能力,定义资产日志数据模型、记录规范、覆盖范围与落库语义(含成功/失败/拒绝)。
|
||
|
||
### Modified Capabilities
|
||
- `iot-device`:设备分配、远程控制、导入等场景从“原则要求记录日志”升级为“必须按统一资产审计字段规范落库”。
|
||
- `auto-stop-resume`:停复机相关流程明确使用资产域审计日志模型并记录操作结果、前后状态。
|
||
|
||
## Impact
|
||
|
||
- 影响模块:
|
||
- `internal/model`:新增资产操作日志模型(独立于账号日志模型)。
|
||
- `internal/store/postgres`:新增资产日志存储与查询基础能力。
|
||
- `internal/service`:卡、设备、资产、停复机、轮询管控等写操作接入审计日志。
|
||
- `internal/bootstrap`:注入资产审计服务依赖。
|
||
- `pkg/constants`:新增资产审计操作类型与结果常量。
|
||
- 影响 API:
|
||
- 对现有接口契约原则上无破坏性变更;行为变化为“写操作新增审计落库”。
|
||
- 影响数据:
|
||
- 新增资产审计日志表及索引,用于按资产、操作人、时间、操作类型追溯。
|
||
- 影响性能:
|
||
- 审计写入采用异步非阻塞;控制单次日志体大小,避免对主链路造成显著延迟。
|
||
- 验证计划:
|
||
- 按项目约束使用 PostgreSQL MCP + Postman/curl 手工验证,不新增自动化测试文件。
|