You need to enable JavaScript to run this app.
文档中心
数据库工作台

数据库工作台

复制全文
下载 pdf
安全规则
安全规则管理
复制全文
下载 pdf
安全规则管理
本文介绍如何在数据库工作台 DBW 控制台管理安全规则。​
背景信息​
安全管控是为了保护数据库系统中的数据和资源而制定的规则和措施。该功能可以帮助您在 DBW 实现精细化管控数据库实例,例如免密登录实例、工单管理、安全规则管理等。更多信息,请参见安全规则集管理。​
前提条件​
  • 您的账号已被添加为 DBW 的管理员。详细操作,请参见添加用户。​
注意事项​
  • 只有在数据交互台的 SQL 窗口或通过工单执行的 SQL 语句才会被拦截生效。​
  • 安全规则集内开启的安全规则请勿出现冲突的情况,否则您的实例绑定的安全规则将失效。​
  • 系统默认提供一个安全规则集即名称为 vedb_mysql default。默认的安全规则集和新建的安全规则集默认包含的安全规则,请参见参考文档。​
  • 一个基础规则可以由多个子规则组成,多个子规则按照顺序执行。​
  • 系统规则不支持删除和修改仅支持修改和关闭;您自定义的安全规则在删除后不支持恢复,需谨慎操作。​
  • 当前暂不支持自定义 SQL 审核的安全规则。关于系统提供的 SQL 审核规则请参见参考文档。​
创建安全规则​
  1. 登录 DBW 控制台。​
  1. 在顶部菜单栏,选择地域。​
  1. 在左侧导航栏,选择企业安全 > 安全规则。​
  1. 在安全规则集页面,单击目标安全规则集操作列的查看。​
  1. 在目标安全规则集页面,单击创建规则。​
  1. 在创建安全规则控制面板,配置以下参数信息。​
  • ​
    参数​
    说明​
    规则名称​
    自定义安全规则名称。安全规则名称的长度不能超过 128 个字符,且不能为空。​
    生效场景​
    从下拉列表中选择安全规则的生效场景,支持选择数据交互台、工单管理和 SQL 审核。​
    基础规则​
    一个基础规则可以由多个子规则组成,多个子规则按照顺序执行。基础规则的具体配置如下:​
    • 您可以根据因子、固定值-字符、固定值-数值、固定值-布尔设置安全规则。​
    • 在满足基础规则时,您可以为每个子规则设置是否允许该 SQL 类型在数据交互台执行或生成工单执行,生效场景不同,该设置也不同,具体如下:​
    • 生效场景选择数据交互台时,支持选择禁止该 SQL 类型数据交互台执行、允许该 SQL 类型数据交互台执行、禁止该 SQL 类型数据交互台执行,调转工单执行。​
    • 生效场景选择工单管理时,支持选择禁止该 SQL 类型生成工单执行、允许该 SQL 类型生成工单执行。​
    说明​
    • 您可以添加无数个子规则。​
    • 每个子规则最多可包含三个条件层级。​
    默认规则​
    按需选择是否开启默认规则。开启后在没有命中基础规则包含的所有子规则时,执行默认规则。生效场景不同,该设置也不同,具体如下:​
    • 生效场景选择数据交互台时,支持选择禁止该 SQL 类型数据交互台执行、允许该 SQL 类型数据交互台执行、禁止该 SQL 类型数据交互台执行,调转工单执行。​
    • 生效场景选择工单管理时,支持选择禁止该 SQL 类型生成工单执行、允许该 SQL 类型生成工单执行。​
    规则预览​
    在该区域展示您设置的规则生成的 SQL 语句,您无需修改。​
    ​
启用或关闭安全规则​
您可以根据需求启用或关闭安全规则集内的规则。​
  1. 登录 DBW 控制台。​
  1. 在顶部菜单栏,选择地域。​
  1. 在左侧导航栏,选择企业安全 > 安全规则。​
  1. 在安全规则集页面,单击目标安全规则集操作列的查看。​
  1. 在目标安全规则集页面,单击目标规则是否启用列下的开关。​
  1. 在确定开启吗? 或确定关闭吗? 对话框,单击确定。​
编辑安全规则​
系统规则不支持修改,仅支持修改您自定义的安全规则。​
  1. 登录 DBW 控制台。​
  1. 在顶部菜单栏,选择地域。​
  1. 在左侧导航栏,选择企业安全 > 安全规则。​
  1. 在安全规则集页面,单击目标安全规则集操作列的查看。​
  1. 在目标安全规则集页面,单击目标规则操作列下的编辑。​
  1. 在编辑配置项对话框,修改安全规则的规则。​
删除安全规则​
系统规则不支持删除,您自定义的安全规则在删除后不支持恢复,需谨慎操作。​
  1. 登录 DBW 控制台。​
  1. 在顶部菜单栏,选择地域。​
  1. 在左侧导航栏,选择企业安全 > 安全规则。​
  1. 在安全规则集页面,单击目标安全规则集操作列的查看。​
  1. 在目标安全规则集页面,单击目标规则操作列的删除。​
  1. 在确认删除对话框,单击确定。​
参考文档​
安全规则集中默认的安全规则(即系统规则)如下表所示。​
  • 数据交互台 & 工单管理​
​
安全规则名称​
生效场景​
是否默认启用​
默认值​
禁止 CREATE_TABLE 在数据库交互台直接执行,请提交工单执行。​
数据交互台​
启用​
无​
禁止 DROP_TABLE 在数据库交互台直接执行,请提交工单执行。​
数据交互台​
启用​
无​
禁止 TRUNCATE 在数据库交互台直接执行,请提交 DDL 工单执行。​
数据交互台​
启用​
无​
禁止 INSERT 在数据库交互台直接执行,请提交 DML 工单执行。​
数据交互台​
启用​
无​
禁止 UPDATE 在 SQL 控制台直接执行,请提交 DML 工单执行。​
数据交互台​
启用​
无​
禁止 DELETE 在 SQL 控制台直接执行,请提交 DML 工单执行。​
数据交互台​
启用​
无​
禁止 ALTER_TABLE 在数据库交互台直接执行,请提交 DDL 工单执行。​
数据交互台​
启用​
无​
禁止 KILL 在数据库交互台直接执行,请提交 DML 工单执行。​
数据交互台​
启用​
无​
禁止存储过程在数据库交互台直接创建,请提交 DDL 工单执行。​
数据交互台​
启用​
无​
禁止无法识别 SQL 解析异常继续执行【继续执行会导致安全规则失效】。​
数据交互台​
启用​
无​
禁止无法解析权限的 SQL 继续执行【继续执行会导致安全规则失效】。​
数据交互台​
启用​
无​
所有用户都需要检查权限​
数据交互台​
启用​
无​
仅支持特定类型 SQL 执行。​
数据交互台​
未启用​
SHOW TABLES、SHOW CREATE TABLE、EXPLAIN、SELECT、DBATMAN HELP、DBATMAN SHOW​
仅支持 select_type 在范围内的 SQL 执行。​
数据交互台​
未启用​
SIMPLE、PRIMARY、DERIVED、UNION、UNION RESULT、SUBQUERY、DEPENDENT SUBQUERY、MATERIALIZED、DEPENDENT UNION​
仅支持 index_type 在范围内 SQL 执行。​
数据交互台​
未启用​
index、range、ref、eq_ref、const、system、NULL​
仅支持 SQL 扫描行数小于 10 万行的语句执行,请优化 SQL 语句。​
数据交互台​
未启用​
100000​
SELECT 语句建议指定 where 条件。​
数据交互台​
未启用​
无​
表要有主键。​
  • 工单管理​
  • 数据交互台​
未启用​
无​
表要有备注。​
  • 工单管理​
  • 数据交互台​
未启用​
无​
表不能使用外键。​
  • 工单管理​
  • 数据交互台​
未启用​
无​
限制表名大小写。​
  • 工单管理​
  • 数据交互台​
未启用​
  • Lower​
  • upper​
限制表存储引擎。​
说明​
仅支持在 CreateTable 时适用该规则。​
  • 工单管理​
  • 数据交互台​
未启用​
InnoDB​
限制表使用分区设置。​
说明​
在 CreateTable 和 AlterTable 时不限制该规则。​
  • 工单管理​
  • 数据交互台​
未启用​
无​
表需要包含某些列。​
说明​
仅支持在 CreateTable 时适用该规则。​
  • 工单管理​
  • 数据交互台​
未启用​
无​
限制表字符集。​
说明​
仅支持在 CreateTable 时适用该规则。​
  • 工单管理​
  • 数据交互台​
未启用​
utf8mb4​
限制表校验规则。​
说明​
仅支持在 CreateTable 时适用该规则。​
  • 工单管理​
  • 数据交互台​
未启用​
utf8_general_ci、 utf8_bin、 utf8mb4_general_ci、 utf8mb4_bin​
表名不能是关键字。​
  • 工单管理​
  • 数据交互台​
未启用​
analyze、add、all、alter、and、before、between、bigint、binary、blob、both、by、call、cascade、case、change、char、character、check、collate、column、condition、as、asc、asensitive、connection、constraint、continue、convert、create、cross、current_date、current_time、current_timestamp、current_user、cursor、database、databases、day_hour、day_microsecond、day_minute、day_second、dec、decimal、declare、default、delayed、delete、desc、describe、deterministic、distinct、distinctrow、div、double、drop、dual、each、else、exit、explain、false、fetch、float、float4、float8、elseif、enclosed、escaped、exists、for、force、foreign、from、fulltext、goto、grant、group、having、high_priority、hour_microsecond、hour_minute、hour_second、if、ignore、in、index、infile、inner、inout、insensitive、insert、int、int1、int2、int3、int4、int8、integer、interval、into、is、iterate、join、key、keys、kill、label、leading、leave、left、like、limit、linear、lines、low_priority、localtime、localtimestamp、lock、long、longblob、longtext、loop、load、matchediumblob、mediumint、mediumtext、middleint、minute_microsecond、minute_second、mod、modifies、no_write_to_binlog、null、numeric、on、optimize、option、optionally、natural、not、or、order、ut、uter、outfile、precision、primary、procedure、urge、raid0、ange、read、reads、eal、references、regexp、release、ename、epeat、replace、require、restrict、return、evoke、ight、rlike、schema、schemas、second_microsecond、select、sensitive、separator、set、show、smallint、spatial、specific、sql、sqlexception、sqlstate、sqlwarning、sql_big_result、sql_calc_found_rows、sql_small_result、ssl、starting、traight_join、able、terminated、then、tinyblob、inyint、tinytext、o、trailing、trigger、true、ndo、union、unique、nlock、unsigned、pdate、usage、use、using、utc_date、tc_time、tc_timestamp、values、varbinary、x509、xor、year_month、zerofill、varchar、varcharacter、varying、when、where、while、with、write​
限制表索引的数量。​
说明​
仅支持在 CreateTable 时适用该规则。​
  • 工单管理​
  • 数据交互台​
未启用​
7​
限制表字段的数量。​
说明​
仅支持在 CreateTable 时适用该规则。​
  • 工单管理​
  • 数据交互台​
未启用​
128​
限制建表自增初始值。​
  • 工单管理​
  • 数据交互台​
未启用​
1​
限制主键列必须自增。​
说明​
仅支持在 CreateTable 时适用该规则。​
  • 工单管理​
  • 数据交互台​
未启用​
无​
字段名不能是关键字。​
  • 工单管理​
  • 数据交互台​
未启用​
analyze、add、all、alter、and、before、between、bigint、binary、blob、both、by、call、cascade、case、change、char、character、check、collate、column、condition、as、asc、asensitive、connection、constraint、continue、convert、create、cross、current_date、current_time、current_timestamp、current_user、cursor、database、databases、day_hour、day_microsecond、day_minute、day_second、dec、decimal、declare、default、delayed、delete、desc、describe、deterministic、distinct、distinctrow、div、double、drop、dual、each、else、exit、explain、false、fetch、float、float4、float8、elseif、enclosed、escaped、exists、for、force、foreign、from、fulltext、goto、grant、group、having、high_priority、hour_microsecond、hour_minute、hour_second、if、ignore、in、index、infile、inner、inout、insensitive、insert、int、int1、int2、int3、int4、int8、integer、interval、into、is、iterate、join、key、keys、kill、label、leading、leave、left、like、limit、linear、lines、low_priority、localtime、localtimestamp、lock、long、longblob、longtext、loop、load、match、mediumblob、mediumint、mediumtext、middleint、minute_microsecond、minute_second、mod、modifies、no_write_to_binlog、null、numeric、on、optimize、option、optionally、natural、not、or、order、out、outer、outfile、precision、primary、procedure、purge、raid0、range、read、reads、real、references、regexp、release、rename、repeat、replace、require、restrict、return、revoke、right、rlike、schema、schemas、second_microsecond、select、sensitive、separator、set、show、smallint、spatial、specific、sql、sqlexception、sqlstate、sqlwarning、sql_big_result、sql_calc_found_rows、sql_small_result、ssl、starting、straight_join、table、terminated、then、tinyblob、tinyint、tinytext、to、trailing、trigger、true、undo、union、unique、unlock、unsigned、update、usage、use、using、utc_date、utc_time、utc_timestamp、values、varbinary、x509、xor、year_month、zerofill、varchar、varcharacter、varying、when、where、while、with、write​
限制字段名大小写。​
  • 工单管理​
  • 数据交互台​
未启用​
  • lower​
  • upper​
不能设置列的字符集。​
  • 工单管理​
  • 数据交互台​
未启用​
无​
列要有注释。​
  • 工单管理​
  • 数据交互台​
未启用​
无​
限制 CHAR 类型字段长度。​
  • 工单管理​
  • 数据交互台​
未启用​
256​
限制 VARCHAR 类型字段长度。​
  • 工单管理​
  • 数据交互台​
未启用​
2560​
限制列都不可空(not null)。​
  • 工单管理​
  • 数据交互台​
未启用​
无​
限制自增列名字为 ID。​
  • 工单管理​
  • 数据交互台​
未启用​
无​
限制自增列为无符号。​
  • 工单管理​
  • 数据交互台​
未启用​
无​
不能使用 float/double 类型。​
  • 工单管理​
  • 数据交互台​
未启用​
无​
每个列都要有默认值。​
  • 工单管理​
  • 数据交互台​
未启用​
无​
不能设置列的校验集。​
  • 工单管理​
  • 数据交互台​
未启用​
无​
不能使用 ENUM 类型(建议用 tinyint/char 代替)。​
  • 工单管理​
  • 数据交互台​
未启用​
无​
字段未启用 Zerofill 属性。​
  • 工单管理​
  • 数据交互台​
未启用​
无​
索引需要设置名字。​
  • 工单管理​
  • 数据交互台​
未启用​
无​
限制 Unique 索引名格式。​
  • 工单管理​
  • 数据交互台​
未启用​
uk_\w+​
限制普通索引名格式。​
  • 工单管理​
  • 数据交互台​
未启用​
idx_\w+​
限制单个索引包含列的个数。​
  • 工单管理​
  • 数据交互台​
未启用​
5​
限制主键包含列的个数。​
说明​
仅支持在 CreateTable 时适用该规则。​
  • 工单管理​
  • 数据交互台​
未启用​
2​
限制主键列类型。​
  • 工单管理​
  • 数据交互台​
未启用​
int、bigint​
限制列不能使用部分数据类型。​
  • 工单管理​
  • 数据交互台​
未启用​
无​
索引中的字段要求设置为 not n``ull。​
说明​
仅支持在 CreateTable 时适用该规则。​
  • 工单管理​
  • 数据交互台​
未启用​
无​
​
  • SQL 审核​
​
安全规则名称​
是否默认启用​
级别​
默认值​
SQL 语法解析异常,建议检查 SQL 语句是否合法。​
启用​
  • 低:建议级别。​
  • 中:警告级别。​
  • 高:(默认等级)红线级别。​
无​
SELECT 语句建议指定 WHERE 条件。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
限制 UPDATE/DELETE 语句多表关联的数量​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
5​
UPDATE/DELETE 语句检测多表关联语法是否完整(JOIN 遗漏 ON 子句)。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
UPDATE/DELETE 语句建议指定 WHERE 条件。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
INSERT 语句字段名不能重复。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
INSERT 语句字段列表和值列表要匹配​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
INSERT 语句建议指定 INSERT 字段列表。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
INSERT 语句不能为 NOT NULL 列插入 NULL 值。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
INSERT 语句不建议使用 SYSDATE() 函数。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
限制 INSERT 语句一条 INSERT VALUES 的总行数。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
1000​
INSERT 语句检测 INSERT 的表/字段是否存在。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
UPDATE 多表时检测 SET 的列是否指定表前缀。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
UPDATE 语句不建议更新表上的“创建时间”列。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
  • create _time​
  • create_at​
UPDATE 语句建议更新表上的“修改时间”列。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
  • update_time​
  • modify_time​
  • update_at​
  • modify_at​
UPDATE 语句检测 SET 多个列之间的分隔符( AND 非法)。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
UPDATE/DELETE 语句检测 WHERE 条件是否包含子查询。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
限制 WHERE 条件中 IN 子句包含元素个数。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
UPDATE 语句检测是否更新了主键。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
UPDATE 语句检测 UPDATE 的表/字段是否存在。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
UPDATE 语句检测是否更新了唯一键。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
限制 SELECT 语句 LIMIT 的 OFFSET 大小。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
2000​
SELECT 时不建议 GROUP BY 常量。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
限制 SELECT 语句多表关联的数量。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
3​
SELECT 语句不建议使用 *。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
SELECT 语句不建议对不同的表 GROUP BY 或 ORDER BY。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
SELECT 语句不建议对常量进行 ORDER BY。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
SELECT 语句不建议 ORDER BY 多个字段使用不同方向排序。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
SELECT 语句不建议 GROUP BY 表达式或函数。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
SELECT 语句不建议 ORDER BY 表达式或函数。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
SELECT 语句不建议使用 ORDER BY RAND()。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
SELECT 语句不建议使用 HAVING 子句。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
SELECT 语句不建议使用 UNION。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
WHERE 条件中不建议使用前通配符查找。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
WHERE 条件中不建议使用反向查询(NOT IN / NOT LIKE)。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
WHERE 条件中检测是否通过 OR 操作符连接过滤条件。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
WHERE 条件中检测没有通配符的 LIKE 语句。​
未启用​
  • 低:建议级别。​
  • 中:(默认等级)警告级别。​
  • 高:红线级别。​
无​
​
​
相关操作​
开启安全管控:在开启实例的安全管控时,设置安全规则集。​
​
最近更新时间:2026.09.01 14:01:59
这个页面对您有帮助吗?
有用
有用
无用
无用