Files
junhong_cmp_fiber/openspec/changes/add-asset-operation-audit-log/proposal.md
huang fe4c545308
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m55s
修正数据
2026-04-27 18:10:08 +08:00

40 lines
2.7 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.
## 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 手工验证,不新增自动化测试文件。