1.2208.0-pre3
SQLE Release Notes
三、完整的 release 信息
一、SQLE 项目介绍
| 类型 | 地址 |
|---|---|
| 版本库 | https://github.com/actiontech/sqle |
| 文档 | https://actiontech.github.io/sqle-docs-cn/ |
| 发布信息 | https://github.com/actiontech/sqle/releases |
| 数据审核插件开发文档 | https://actiontech.github.io/sqle-docs-cn/3.modules/3.7_auditplugin/auditplugin_development.html |
| 社区版在线体验 | http://demo.sqle.actionsky.com 超级管理员:admin,密码:admin。 |
| 企业版在线体验 | http://demo.sqle.actionsky.com:8889 用户:admin,密码:admin。 |
二、新版本主要功能介绍
1. 新增部分 MySQL 审核规则
(3)IN的值必须少于 N 个
2. MySQL 审核场景化改造兼容事后审核模式
(1).无法在不同场景下使用不同的审核规则。数据源在SQLE流程内通过绑定规则模版进行审核,数据源目前只支持绑定一个模版,在任何场景下(上线,智能扫描)都使用这一个模版进行审核,此时会导致一个规则模版无法满足所有场景的需要,部分规则在设计之初只要是限制SQL上线的,在部分智能扫描的场景里(慢日志扫描,库表审核等)都是已经上线后的SQL,不应该进行SQL上线的限制。例如建表必须添加if not exists,防止上线失败。参考:https://github.com/actiontech/sqle/issues/558;还有部分规则对完整的SQL审核有效,但是对脱敏的sql 类似“sql指纹”无效,例如:mybatis 的扫描,tidb审计日志的扫描对应的sql都脱敏了,因此无法进行”预检查“的规则和一些依赖explain的规则 ,参考:https://github.com/actiontech/sqle/issues/466。因此,在智能扫描的任务中,我们支持用户配置规则模版来达到同一个数据源在不同的场景下使用不同的规则力度。
(2).目前的SQL 审核对不同场景审核的兼容性不友好。SQLE的SQL审核在设计之初是为了满足SQL上线的审核,通过上下文关联和基础对象验证满足上线SQL的正确性校验,这些在事后审核的场景下过于严格且审核的SQL是已执行过的(慢日志的SQL),导致部分SQL给出了不合理的建议,例如某扫描任务中扫描到 create table的SQL,此时如果对create table进行连库审核,必然触发表已存在的审核建议。因此,SQLE提供规则配置的方式实现区分不同审核场景,可以开启“停用上线审核模式”来给规则模版关闭上线审核模式。开启此规则后, SQLE会开启事后审核模式, 不再进行上线的校验,如已执行过的新增列的语句进行审核时会检测出列已存在, 在停用上线审核模式后此项检查将会被忽略。


三、完整的release信息
Release Notes
[#755] 智能扫描支持指定特定的规则模版;
[#716] MySQL 审核场景化改造兼容事后审核模式;
[#734] 新增部分MySQL审核规则;
禁止使用TIMESTAMP字段
添加字段不带AFTER, BEFOR
IN的值必须少于 N 个
ELECT 不能有ORDER BY
建表 必须含字段 CREATE_TIME且默认值为CURRENT_TIMESTAMP
建表 必须含字段 UPDATE_TIME, 且默认值为CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
优化
[#761 ][#757][#752] 报表统计功能细节优化【企业版】;
缺陷修复
[#708] 修复MySQL审核时,某些特定语句触发字段不存在的误判的问题 。
往期版本:
SQLE OceanBase for MySQL 新增了部分审核规则
推荐阅读:
这里有 MySQL/Oracle 最常用的 SQL 开发规则
================================
转文至此。
以下是个人微信公众号,欢迎关注:





