feat(gateway): 敏感操作审计日志(T4.B)
- store.AuditLog 表(sundynix_audit_log) + AppendAudit/ListAudit - middleware.Audit(db):只审计变更类(POST/PUT/DELETE/PATCH),收尾 best-effort 落库(独立超时 ctx,失败静默不拖垮主流程);挂管理组 + prompt 激活/撤销 + HITL 审批 - GET /api/v1/admin/audit:倒序审计流(limit/offset 翻页) - live:PUT pricing / POST prompts/deactivate 留痕(actor/path/status/ip),GET 不记 - DEPTH_ROADMAP T4.B:overview✅ + audit✅ 打勾 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+5
-4
@@ -165,11 +165,12 @@ RBAC 未做,暂以单管理员账号代理;概览口径必须是**系统级*
|
||||
- [ ] 用户管理接口:列举 / 禁用 / 改角色(现仅注册/登录/查我,handler/auth.go)| M
|
||||
- [ ] 多租户:Task/Eval/KB/Agent 加 tenant_id,owner_id 之上补租户隔离边界 + 租户表/关联表(store 全表,单租户假设)| L
|
||||
|
||||
### [ ] 🔴 T4.B 审计 / 可溯源 + 管理端聚合(推荐先做,内聚且喂管理端)
|
||||
- [ ] `audit_log` 表 + 中间件:改模型/删模型/改密钥/激活 prompt 等敏感操作落库(handler/admin.go 全无留痕)| M
|
||||
### [~] 🔴 T4.B 审计 / 可溯源 + 管理端聚合(推荐先做,内聚且喂管理端)
|
||||
- [x] `GET /api/v1/admin/overview`(RequireAdmin) 系统级聚合 ✅ —— 全平台用户/KB/任务/评测/模型态/prompt 覆盖/健康;概览页已切过去(5调用→2),live 验证 users=7/kb 22/50 全平台口径。
|
||||
- [x] `audit_log` 表 + 中间件 ✅ —— `store.AuditLog` + `middleware.Audit(db)` 挂管理组 + prompt 激活/撤销 + HITL 审批;只审计变更类(POST/PUT/DELETE/PATCH),best-effort 落库不拖垮主流程;`GET /admin/audit` 列表(倒序翻页)。live:PUT pricing / POST deactivate 留痕,GET 不记。
|
||||
- [ ] 护栏拦截事件落库 `guardrail_event`(middleware/guardrail.go:29 现只打日志,无法复盘"谁触发多少次")| M
|
||||
- [ ] HITL 审批决定落库(task_handler.go:172 现只发 NATS,无审批历史)| S
|
||||
- [ ] `GET /api/v1/admin/overview`(RequireAdmin) 系统级聚合:用户/租户/全局任务/评测/模型态/prompt 覆盖(替代概览现借的个人 stats/overview,见 [T1.3])| M
|
||||
- [ ] HITL 审批决定明细落库(现审批已进 audit_log 但只有 who/when/status,无 approve/reject 决定与理由;可 enrich audit Detail 或单独表)| S
|
||||
- [ ] 前端:管理端加「审计流 / 安全事件」页或概览接 /admin/audit(把留痕可视化)| S
|
||||
|
||||
### [ ] T4.C 真实成本计费
|
||||
- [ ] token×单价 落库 `token_usage`(现仅 Redis 按天计数 TTL48h,task_handler.go:532)| L
|
||||
|
||||
Reference in New Issue
Block a user