Skip to content

Latest commit

 

History

History
141 lines (103 loc) · 9.07 KB

File metadata and controls

141 lines (103 loc) · 9.07 KB

NextMeta

一款轻量级、简约风的数据库 SQL 审核平台,聚焦安全防护与性能优化,为团队提供统一的查询入口、工单审批和审计追踪能力。


[简体中文]

✨ 功能概览

  • 安全 SQL 查询工作台: 支持多数据源切换、SQL 语法高亮、相对表名书写、双击表快速预览前 20 行、结果导出以及库表级容量统计。
  • SQL 审计与规则引擎: 集成规则引擎,对 SQL 进行语法与风险检查,可配置阻断 / 警告级规则,并在审计日志中记录触发详情。
  • 工单流转与审批: 支持查询 / 变更 / 导出工单,内置审批流、Explain 预检、风险确认与执行结果归档。
  • 团队与权限 (RBAC + LDAP): 基于组 (Group) 的数据源访问与审批权限管控,支持 LDAP 组自动继承,显著减少手工授权成本。
  • 数据脱敏与安全控制: 按数据源维度配置字段脱敏规则(AST 血缘分析等),配合全局 LIMIT、执行超时与 Explain 阈值,从多维度防止拖垮数据库。
  • 系统设置与通知: 集中配置全局限制、安全阈值及模版化 Webhook 通知,方便接入企业自有告警 / 通知渠道。
  • 待补充: 截图与 Demo 链接(Dashboard、SQL 查询、工单详情、审计日志等页面)。

功能说明大纲

1. 仪表盘 (Dashboard)

  • 系统概览: 实时展示工单统计、数据源数量、用户数量等关键指标。
  • 活跃统计: 展示近期 SQL 查询与工单趋势(后续可扩展更丰富的图表)。

2. SQL 查询 (SQL Query)

  • 在线查询: 支持多数据源切换,提供 SQL 编辑器(语法高亮),选定数据库后可直接使用相对表名编写 SQL(免写库名前缀)。
  • 执行控制: 从多个维度进行性能控制,防止拖垮数据库、以及孤儿SQL的出现。
  • 结果展示: 表格化展示查询结果,支持大数据量分页与结果导出(CSV / JSON)。
  • 个人片段: 支持个人 SQL 片段的保存与复用,便于沉淀常用查询。
  • 容量统计: 支持库表级别的容量与行数统计展示,辅助评估数据规模与查询成本。
  • 快捷预览: 支持在库表树中双击表名,一键生成并执行快速查询(默认预览前 20 行数据)。

3. 工单管理 (Ticket Management)

  • 工单申请: 支持查询、变更、导出等多种工单类型。
  • 语法检查: 提交前自动进行 SQL 语法预检 (Explain),提前发现错误、以及性能消耗。
  • 强制提交: 针对高危操作(如无 WHERE 条件),支持风险确认后的强制提交(可变更规则强制阻断强制提交)。
  • 审批流程: 基于组的审批流,支持查看提交人和当前审核人。

4. 团队与权限 (Team & Permission)

  • 团队管理: 创建和管理团队,分配团队成员。
  • 用户管理: 本地用户管理及 LDAP 用户同步(支持自定义属性映射)。
  • 分组授权: 基于组 (Group) 管理数据源访问权限和审批权限,细粒度控制谁能访问哪些数据源、谁能审批哪些工单。
  • LDAP继承: 自动继承 LDAP 组与人员关联,默认沿用组织架构关系减少手工授权配置工作量。

5. SQL 审计规则 (SQL Rules)

  • 规则配置: 可视化配置审计规则(启用/禁用),支持规则引擎联动。
  • 级别调整: 支持自定义规则级别(阻断 / 警告)和描述文案。
  • 规则解释: 提供详细的规则说明与正反例 SQL 示例 (Tooltip),帮助开发理解触发原因。

6. 审计日志 (Audit Logs)

  • 全量记录: 记录所有 SQL 执行操作,包括工单执行和SQL查询记录。
  • 详情追溯: 可查看具体的 SQL 内容、执行人、触发规则、执行时间及状态。

7. 数据源管理 (Data Sources)

  • 连接管理: 支持 MySQL 等数据库的连接配置与测试。
  • 分组归类: 按项目 / 团队为数据源分组,便于管理与授权。
  • 安全配置: 支持设置最大执行时间、字段脱敏规则等安全参数。

8. 系统设置 (System Settings)

  • 全局限制: 配置全局 SQL 查询行数限制 (Global LIMIT),统一收敛大查询风险。
  • 安全阈值: 配置工单影响行数阈值,用于 Explain 预估超限提醒与二次确认。
  • 基础选项: 管理平台级通用参数(如部分安全开关、默认超时等)。
  • 模版化通知: 支持按事件配置 Webhook 地址与消息模版,便于接入企业自有通知与告警渠道。

⚙️ 安装

以下命令基于当前仓库结构,可根据实际部署方式调整。

待补充:生产环境打包与部署示例(前端构建、反向代理、二进制 / Systemd / 容器化等)。

🚀 使用 Docker 部署

待补充:官方 Docker 镜像地址、示例 docker run / docker-compose.yml 配置。

🔖 自动 SQL 检查与规则引擎

NextMeta 内置自动 SQL 检查能力,通过规则引擎对工单和在线 SQL 进行扫描:

  • 语法与执行计划检查: 在工单创建或预检阶段执行 Explain,评估预计影响行数与执行代价。
  • 安全规则: 对高危操作(如 DROP DATABASE/TABLE、大面积无 WHERE 的 DML)进行阻断或强提醒。
  • 规则可配置: 通过「SQL 审计规则」页面调整启用状态、严重级别与文案,满足不同环境的合规要求。

待补充:规则示例截图与规则列表说明。

💡 SQL 编辑体验

  • 语法高亮: 基于 Web 编辑器提供 SQL 语法高亮。
  • 表结构导航: 左侧库表树展示数据库结构,支持搜索表名。
  • 智能插入: 双击表名生成示例查询,并自动补全库名前缀(或使用相对表名)。

待补充:编辑器快捷键、自动补全细节说明与截图。

⏺️ 工单与查询记录

  • 工单记录: 完整保留每一次 SQL 工单的生命周期,包括申请、审批、执行结果与回溯信息。
  • 查询审计: 在线 SQL 执行也会记入审计日志,方便后续追踪谁在何时查了哪些数据。
  • 导出留痕: 导出类工单在审批与下载阶段都有记录,便于满足合规要求。

待补充:工单详情页面、审批历史页面截图。

🧭 Roadmap

🔴 P0: High Priority (Security & Core Stability)

  • 普通用户权限限制: 普通用户只能访问“数据概览”、“SQL查询”、“工单管理”,屏蔽其他管理功能。
  • 数据源维度的字段脱敏功能: 针对敏感字段(如手机号、身份证)进行查询结果脱敏。可以在数据源配置多个脱敏规则。
  • 全局 LIMIT 限制: SQL 查询若无 LIMIT 限制,系统自动补全(默认 1000)。默认设置在系统设置里配置。
  • 用户删除保护: 内置管理员用户不可删除,其他用户可删除。
  • 删除 LDAP 页面: 系统设置里的 LDAP 页面,因为这个从配置文件配置了,所以这个页面的配置项可以删除。

🟡 P1: Medium Priority (Business Logic & Completeness)

  • 工单执行预检: 创建工单时进行兜底的执行计划检测 (Explain),展示预计影响行数,并需用户二次确认。
  • 审批历史记录: 审批人可查看自己已审批过的工单历史 (Approved/Rejected),而非仅显示待审批工单。(状态需显示中文)。
  • 审计日志增强: 记录在线查询和工单执行的详细记录,并包含触发的 SQL 规则信息。
  • 个人 SQL 片段: 增加用户个人维度的 SQL 片段保存功能,限制每人最多保存 10 条。
  • 通知设置: 在设置里可以配置通知消息地址以及模版。
  • 数据源配置优化: “分组”字段改为非必填;增加“连接超时”和“SQL执行超时”的数值范围限制验证。

🟢 P2: Low Priority (UI/UX & Polish)

  • 仪表盘趋势图: 将“活跃统计”改为展示“SQL查询趋势”和“工单数量趋势”图表。
  • 表大小统计: 在 SQL 查询的表结构查看中,增加表大小(数据量/存储大小)的展示。
  • 工单详情页布局: 顶部展示固定操作按钮和提示文案;底部展示 SQL 详情(默认折叠)。
  • 工单审核人展示: 在“我的工单”列表中,增加显示当前工单的审核人信息。
  • 工单创建入口优化: 在“我的工单”页面移除“创建新工单”按钮,统一入口。
  • SQL 查询标签页限制: 限制 SQL 查询页面的标签页数量最多为 10 个。
  • 导出图标优化: SQL 查询页面的导出功能图标改为标准的导出图标。
  • 移除执行信息提示: 移除 SQL 查询界面中多余的“执行信息”提示/Tab。

📦 许可证与联系方式

  • 待补充:开源许可证类型(如 MIT / Apache-2.0 / AGPL 等)。
  • 待补充:产品主页 / 文档网站链接。
  • 待补充:交流渠道(邮件、IM 群、Issue 区等)。