审计(PERMISSION_AUDIT)
审计场景聚焦于权限与操作日志,例如:
- 「查看 dir.west 的权限矩阵和操作日志」
1. 意图识别
在 code_parse 中:
- 对以下关键词打分:
- 权限、审计、操作日志、访问日志、权限矩阵、RBAC、ACL 等
- 命中后会将意图判定为
PERMISSION_AUDIT
同时,在其他代码节点中还有针对审计话术的解析,例如:
- 使用正则从语句中抽取主体:
查看 (xxx) 的权限.*操作日志→ 提取principal
2. 意图路由
在 condition_intent 节点:
- 当
intent === 'PERMISSION_AUDIT'时,进入审计分支
3. 调用权限与审计 API
在审计分支中,工作流会:
- 调用权限相关接口(资源策略与实际权限):
/metadata/resource-policies或专门的权限查询接口
- 调用审计日志查询接口:
- 例如基于审计表的
/data/query,按主体过滤最近操作记录
- 例如基于审计表的
结果会被整理为两组数据:
- 权限矩阵(每行代表某个资源上的权限)
- 操作日志(时间、动作、资源类型、状态等)
4. 前端渲染权限矩阵与审计表
在 ai-chat.json 的渲染脚本中,当 intent === 'PERMISSION_AUDIT' 且存在 permissionsBody 与 auditBody 时:
- 解析为内部数组
permissions与auditlogs - 构造两个表格结果:
- 「权限矩阵」:包含资源名称、对象级权限、列级权限、脱敏规则、行级权限等
- 「操作日志」:包含时间、动作、资源类型、状态等
- 返回两个
dataGrid工具调用:- 一个用于权限矩阵
- 一个用于操作日志
chat2 前端据此:
- 使用数据表格组件渲染权限视图,支持滚动/分页
- 使用另一张表格展示操作日志,方便审计和排查。