# 运营审计当前行为 ## 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}`(查询企业资源活动)。