Files
junhong_cmp_fiber/openspec/specs/operations-audit/spec.md
break 619d0c5efe
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 51s
提案
2026-08-11 15:39:51 +08:00

54 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.
# 运营审计当前行为
## Purpose
描述审计调查、资源活动与审计时间线的当前可观察行为。
## Requirements
### Requirement: 审计时间线
系统 SHALL 支持按事件、操作者、资源、请求、关联标识和资金维度查询已记录的审计事实。新建的 `tb_integration_log` 在已取得稳定审计事件时 SHALL 写入其内部 ID 作为 `audit_event_id`,并且该日志的非空 `integration_id` SHALL 出现在对应事件列表和事件详情的 `investigation_refs.integration_refs` 中;关联生成失败时系统 MUST 保留 Integration Log 并记录可排查告警,且 MUST NOT 按名称、时间或摘要推断关联。历史 Integration Log 不在本要求的回填范围内。
#### Scenario: 审计时间线
- **GIVEN** 审计事实已存在
- **WHEN** 使用对应维度查询
- **THEN** 返回匹配的事实与稳定动作编码,不用访问日志替代
#### Scenario: 事件返回已关联外部交互引用
- **GIVEN** 一个在线审计事件有 `tb_integration_log.audit_event_id` 指向其内部 ID 的外部交互记录
- **WHEN** 查询全局审计事件列表或该事件详情
- **THEN** 该事件的 `investigation_refs.integration_refs` 返回该记录的 `integration_id`
#### Scenario: 事件没有关联外部交互引用
- **GIVEN** 一个在线审计事件没有稳定关联的外部交互记录
- **WHEN** 查询全局审计事件列表或该事件详情
- **THEN** `investigation_refs.integration_refs` 返回空数组
#### Scenario: 新外部交互日志具有稳定审计关联
- **GIVEN** 系统即将记录一次新的外部调用、入站回调或未发送裁决
- **WHEN** 写入对应 Integration Log
- **THEN** 该记录保存非空 `audit_event_id`,且其目标 Audit Event 已存在
#### Scenario: 缺少审计关联时保留外部交互日志
- **GIVEN** 一次新的外部交互日志没有稳定审计事件关联
- **WHEN** 系统尝试写入该 Integration Log
- **THEN** 系统持久化该 Integration Log、记录可排查告警并返回空 `integration_refs`
## 可达操作索引
本节只用于入口导航,不是行为 Requirement业务义务以上述 Requirements 为准。
### 审计调查
`GET /api/admin/audit/actors/{kind}/{id}/events`(查询操作者行为时间线);`GET /api/admin/audit/correlations/{correlation_id}/timeline`(查询业务关联时间线);`GET /api/admin/audit/events`(查询全局审计事件);`GET /api/admin/audit/events/{event_id}`(查询审计事件详情);`GET /api/admin/audit/finance/timeline`(查询资金调查时间线);`GET /api/admin/audit/integrations`(查询外部集成交互列表);`GET /api/admin/audit/integrations/{integration_id}`(查询外部集成交互详情);`GET /api/admin/audit/integrations/overview`(查询外部集成交互总览);`GET /api/admin/audit/requests/{request_id}/timeline`(查询请求关联时间线);`GET /api/admin/audit/resources/{resource_type}/{resource_id}/timeline`(查询通用资源时间线);`GET /api/admin/audit/resources/search`(精确搜索注册资源);`GET /api/admin/audit/risks/events`(查询风险事件明细);`GET /api/admin/audit/risks/overview`(查询风险调查总览)。
### 资源活动
`GET /api/admin/agent/resource-activities/{resource_type}/{identifier}`(查询代理资源活动);`GET /api/admin/enterprise/resource-activities/{resource_type}/{identifier}`(查询企业资源活动)。