跳到主要内容

审计(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' 且存在 permissionsBodyauditBody 时:

  • 解析为内部数组 permissionsauditlogs
  • 构造两个表格结果:
    • 「权限矩阵」:包含资源名称、对象级权限、列级权限、脱敏规则、行级权限等
    • 「操作日志」:包含时间、动作、资源类型、状态等
  • 返回两个 dataGrid 工具调用:
    • 一个用于权限矩阵
    • 一个用于操作日志

chat2 前端据此:

  • 使用数据表格组件渲染权限视图,支持滚动/分页
  • 使用另一张表格展示操作日志,方便审计和排查。