当前位置: 首页 > article >正文

SQL 审核在 CloudQuery 的四大场景应用

数据库作为数据的核心载体,其安全性和稳定性对业务的影响至关重要。而在我们日常业务中,SQL 编写不当是引起数据库故障的一个重要原因,轻则影响数据库性能,重则可能直接导致「雪崩」。因此,SQL 审核作为 SQL 代码投入生产的最后一道关卡,其重要性不言而喻,构建一套规范化、流程化的 SQL 审核体系至关重要。

在 CloudQuery 上线 SQL 审核功能后,我们从一开始的支持两大应用场景(即 SQL 编辑窗口和数据变更),扩充至四大应用场景,分别为:SQL 窗口、批量执行、GUI 方式 SQL以及工单(数据变更)。本篇文章,我们就来盘点 SQL 审核在 CloudQuery 这四大应用场景的使用方式和实现效果。

应用前的规则配置

在进入场景应用之前,我们得先进行基础的规则配置。这里我们主要说明下需要操作的一些前置步骤和注意点,具体的规则配置教程可查看文档(https://bintools.yuque.com/org-wiki-bintools-xniowl/do4ums/fpql5qfmc0qbfmrd)。

step 1:确定规则模板

我们可以直接使用 CQ 平台的内置规则模板,或复制内置规则模板,并在此基础上进行编辑修改,也可以直接新建规则模板。

step 2:选择生效连接

目前 CloudQuery 支持 SQL 审核功能的数据源有:Vertica、DamengDB、HighGo、OracleCDB、SQLServer、PostgreSQL、Oracle、MySQL。

选择需要数据库类型并确定生效连接后,就可以进行具体规则设置了。

image.png

step 3:设置规则等级

CloudQuery 将 SQL 审核规则等级分为三种:notice(提示)、warning(告警)、error(错误),等级依次递增,在平台中的实现效果分别是:

  • notice(提示):只提示不拦截
  • warning(告警):只告警不拦截
  • error(错误):提示并拦截

针对每条规则,我们都可以根据实际需求选择其等级。

image.png

step 4:选择应用场景

在进行规则等级设置的同时,我们可选择对应规则的应用场景,或进行批量设置。

image.png

完成以上步骤的配置后,我们就来看看 SQL 审核在不同场景的实际应用效果吧!

SQL 窗口

【SQL窗口】指的是数据操作页面的SQL编辑器模块。 在 CQ 内置的规则模板中,所有规则默认的应用场景都是“SQL窗口”

下面我们演示开启SQL审核后,在SQL窗口的效果。

  • 当执行的 sql 语句触发等级为“notice”的规则时,sql 窗口会出现“SQL审核结果弹窗”,并提示相关语句及触发的规则说明。此时,用户可以选择“继续执行”或“返回修改”。

image.png

  • 当执行的sql语句触发等级为“warning”的规则时,系统会出现告警,并提示相关语句及触发的规则说明。此时,用户也可以选择“继续执行”或“返回修改”。

image.png

  • 当执行的sql语句触发等级为“error”的规则时,系统会直接拦截,语句执行失败。

image.png

GUI 方式中的 SQL 审核

【GUI 方式 SQL】是指在数据操作页面通过图形化方式进行 SQL 执行操作。

例如,如果我们把"列建议添加注释"这条规则等级设置为warning,并且场景中勾选GUI方式SQL:

image.png

此时,如果我们用图形化的方式进行"添加表":

image.png

如果有字段的注释为空,那么进行保存时会被警告:

image.png

批量执行任务中的 SQL 审核

【批量执行】指的是数据操作-SDT连接层级可进行的批量执行功能。 在创建批量任务时,用户上传的脚本任务重的 SQL 语句同样会被审核。

image.png

如果 SQL 审核结果不通过,该批量任务也无法进入下一步,需要按照规则内容重新修改SQL文件后再执行。

image.png

数据变更中的SQL审核(工单)

这里的 「工单」指的是数据变更中的工单, 即我们在进行数据变更时会对提交的 SQL 语句进行审核。

例如,我们在对“禁止进行删除列的操作”设置规则等级为“error”,一旦我们在数据变更工单的SQL语句中包含删除列的语句

image.png

该语句就会被主动拦截,审核结果为:Error x1,并且无法进入【下一步】,必须对 SQL 语句进行调整,直到符合规范后才能进入下一步操作。

image.png

以上就是 SQL 审核在 CQ 中的四个应用场景。

这些不同的使用场景,在实际业务中往往需要依据具体需求来灵活调整审核规则。在 SQL 编辑窗口中,我们可能需要重点关注 SQL 语句的语法正确性、性能优化以及潜在的安全风险;而在数据变更流程中,则可能更加注重数据的一致性和完整性。通过 SQL 审核,我们可以根据实际需求来自定义审核规则的严格程度,以适应不同数据源和场景的需求。

更多 CloudQuery 操作教程可查看:https://bintools.yuque.com/org-wiki-bintools-xniowl/do4ums/kgh2z5uef87rnibk

image.png


http://www.kler.cn/a/396577.html

相关文章:

  • 【数据库系列】 Spring Boot 集成 Neo4j 的详细介绍
  • 11.08-10.14谷粒商城
  • 无插件H5播放器EasyPlayer.js网页web无插件播放器选择全屏时,视频区域并没有全屏问题的解决方案
  • 数字IC后端低功耗设计实现案例分享(3个power domain,2个voltage domain)
  • 前端怎么获取视口大小
  • android webview常见内容
  • leetcode hot100【 LeetCode 121.买卖股票的最佳时机】java实现
  • uniapp ios app以framwork形式接入sentry
  • 使用--log-file保存pytest的运行日志
  • WP网站如何增加文章/页面的自定义模板
  • Node.Js+Knex+MySQL增删改查的简单示例(Typescript)
  • 猫狗识别之BUG汇总
  • C++编程技巧与规范-类和对象
  • conda 和 pip 的比较
  • 嵌入式面试题练习 - 2024/11/15
  • NVR小程序接入平台/设备EasyNVR多个NVR同时管理设备接入:海康NVR 3.0提示不在线如何处理?
  • C++- 基于多设计模式下的同步异步日志系统
  • 力扣 LeetCode 150. 逆波兰表达式求值(Day5:栈与队列)
  • 第 6 章 - Go 语言 运算符
  • MacOS下,如何在Safari浏览器中打开或关闭页面中的图片文字翻译功能
  • 【Python爬虫实战】轻量级爬虫利器:DrissionPage之SessionPage与WebPage模块详解
  • c++中,头文件包含iostream.h和`<iostream>`的差别
  • 【Flink】-- flink新版本发布:v2.0-preview1
  • Ubuntu24.04 network:0 unclaimed wireless adapter no found
  • DAY110代码审计-PHP框架开发篇ThinkPHP版本缺陷不安全写法路由访问利用链
  • 鸿蒙next 应用重启方案