数据库管理 规则模板

这里说明如何为不同的数据库类型创建规则模板,并支持查看、复制和删除规则模板。当前系统预设的规则模板为 MySQL 系统内置模板、TDSQL-C 公网全局规则模板、TDSQL MySQL 公网全局规则模板。

相关产品
数据库管理 产品页,含版本规格、价格与购买入口。

规则模板包括以下规则内容:

·SQL 窗口:预置 SQL 操作中的规则和支持的 SQL 类型,支持启用和不启用规则。

·SQL 变更:预置 SQL 变更操作中强制改进项、风险改进项、建议改进项的规则,并给出 SQL 示例,支持启用和不启用规则。

·审批人员:支持编辑 SQL 变更、SQL 导入导出、权限申请工单审批节点及审批人员。

一、支持的数据库

仅支持 MySQL 和 TDSQL-C 事务集群、TDSQL MySQL 数据库。具体支持的版本请参见 支持的数据库。

二、前提条件

子账号已具有 DMC 相关功能页面的访问权限,具体说明及操作请参见 DMC 用户权限设置。主账号默认拥有全部权限。

三、创建规则模板

1. 登录 DMC 控制台。

2. 在左侧导航栏,选择安全发布 > 实例管控 > 规则模板。

3. 在页面上方单击创建模板。

4. 在弹出的对话框中输入模板名称,选择数据库类型,单击确定。

5. 在已创建的规则模板对应的操作列单击查看。

6. 在规则概览区域,单击编辑,选择规则类型,设置具体规则。

·SQL 窗口

选择 SQL 窗口,对系统预置的规则,在状态列单击开关启用或不启用规则。SQL 窗口规则请参见 SQL 窗口和 SQL 变更规则说明。

·SQL 变更

选择 SQL 变更,分别选择全部、强制改进项、风险改进项、建议改进项,对系统预置的规则,在状态列单击开关启用或不启用规则。

注意:说明:

注意:默认开启 SQL 变更中的所有规则。SQL 变更规则请参见 SQL 窗口和 SQL 变更规则说明。

·审批人员

选择审批人员,单击,输入节点名称、选择审批人员,单击确定。

若需要创建新的联系人或联系组,请单击创建用户/用户组。具体操作请分别参见 用户使用说明 、为用户组添加用户。

若需添加多级审批人员,请重复执行该步骤。

注意:说明:

注意:腾讯云主账号默认为主账号审批人员。

7. 设置完成后,单击提交。

新创建的规则模板默认不开启。

四、查看规则模板

1. 登录 DMC 控制台。

2. 在左侧导航栏,选择安全发布 > 实例管控 > 规则模板。

3. 查看规则模板列表。具体参数说明如下表所示。

参数 说明
模板 ID/名称 单击模板 ID,可查看规则模板详情。在模板 ID 右侧单击,可复制模板 ID。在模板名称右侧,可编辑模板名称。预置规则模板不支持该操作。
数据库类型 规则模板适用的数据库类型。
关联数据源数 该规则已关联的数据源数量,鼠标悬停至此列的数字处,将展示被管控的数据源名称。单击数据源名称,可跳转至管控实例详情页面。
是否默认模板 规则模板是否为默认模板。每一种数据类型只允许开启一个默认的规则模板。
操作 查看规则模板详情:查看模板信息和规则概览,具体操作请参见 查看规则模板详情。复制已有规则模板:单击复制,在弹出的对话框中输入新的模板名称,单击确定。删除规则模板:单击删除,在弹出的对话框中单击确定。说明:预置模板和已设置为默认开启的模板不支持删除操作。

五、查看规则模板详情

1. 登录 DMC 控制台。

2. 在左侧导航栏,选择安全发布 > 实例管控 > 规则模板。

3. 单击模板 ID 或在操作列单击查看,进入规则模板详情页面。

4. 查看规则模板信息和规则概览。

·模板信息

·模板 ID:在右侧单击,可复制模板 ID。

·模板名称:在右侧,可编辑模板名称。预置规则模板不支持该操作。

·是否默认模板:单击开关,可启用或不启用模板。

·关联实例:可查看该规则模板关联的数据源名称。单击数据源名称,可跳转至管控实例详情页面。

·规则概览

可查看 SQL 窗口、SQL 变更、审批人员,可在页面右上方单击编辑,修改规则和审批人员。

注意:说明:

六、启用规则模板

1. 登录 DMC 控制台。

2. 在左侧导航栏,选择安全发布 > 实例管控 > 规则模板。

3. 在待启用规则模板对应的默认列开启开关。

支持单击模板 ID 或在操作列单击查看,进入规则模板详情页面,在模板信息处开启开关。

注意:说明:

七、下载规则模板列表

1. 登录 DMC 控制台。

2. 在左侧导航栏,选择安全发布 > 实例管控 > 规则模板。

3. 在页面右上方单击,下载格式为.csv 的规则模板列表。

八、MySQL SQL 窗口规则说明

ID 规则组 规则名称 SQL 类型 配置值
10000 DML-SQL 允许常用查询类语句(默认) Select,Union,SetOpr,Show,Explain,Use,Begin,Commit,Rollback NA
10001 DML-SQL 允许插入数据 Insert NA
10002 DML-SQL 允许删除数据 Delete NA
10003 DML-SQL 允许更新数据 Update NA
10004 DDL-SQL 允许创建数据库 CreateDatabase NA
10005 DDL-SQL 允许删除数据库 DropDatabase NA
10006 DDL-SQL 允许修改数据库 AlterDatabase NA
10007 DDL-SQL 允许创建表 CreateTable NA
10008 DDL-SQL 允许删除表 DropTable NA
10009 DDL-SQL 允许修改表 AlterTable NA
10010 DDL-SQL 允许重命名表 RenameTable NA
10011 DDL-SQL 允许清空表 TruncateTable NA
10012 DDL-SQL 允许检查表 CheckTable NA
10013 DDL-SQL 允许分析表 AnalyzeTable NA
10014 DDL-SQL 允许优化表 OptimizeTable NA
10015 DDL-SQL 允许修复表 RepairTable NA
10016 DDL-SQL 允许创建索引 CreateIndex NA
10017 DDL-SQL 允许删除索引 DropIndex NA
10018 DDL-SQL 允许创建视图 CreateView NA
10019 DDL-SQL 允许删除视图 DropView NA
10020 用户和权限 允许创建用户 CreateUser NA
10021 用户和权限 允许删除用户 DropUser NA
10022 用户和权限 允许修改用户 AlterUser NA
10023 用户和权限 允许重命名用户 RenameUser NA
10024 用户和权限 允许设置密码 SetPwd NA
10025 用户和权限 允许设置角色 SetRole NA
10026 用户和权限 允许设置默认角色 SetDefaultRole NA
10027 用户和权限 允许授权 Grant NA
10028 系统和会话控制 允许 Kill Kill NA
10029 系统和会话控制 允许 Binlog Binlog NA
10030 性能和安全限制 允许不能识别的语句(启用有风险) Unknown NA
10031 用户和权限 允许授权角色 GrantRole NA
10032 用户和权限 允许回收角色权限 RevokeRole NA
10033 用户和权限 允许回收权限 Revoke NA
10034 系统和会话控制 允许 Flush Flush NA
10035 DDL-SQL 允许删除存储过程 DropProcedure NA
10036 DDL-SQL 允许创建存储过程 ProcedureInfo NA
10037 DML-SQL 允许 Call Call NA
10038 系统和会话控制 允许 Set Set NA
10039 查询与事务控制 允许锁表 LockTables NA
10040 查询与事务控制 允许解除表锁 UnlockTables NA
10041 查询与事务控制 允许创建保存点 SavePoint NA
10042 查询与事务控制 允许删除保存点 ReleaseSavePoint NA
10051 DML-SQL 允许 Prepare Prepare NA
10052 DML-SQL 允许 Execute Execute NA
10053 DML-SQL 允许 Deallocate Deallocate NA
10054 DML-SQL 允许 LoadData LoadData NA
10101 性能和安全限制 SQL 执行超时时间(单位:秒) NA 300
10102 性能和安全限制 禁止 DML 影响行数超过阈值执行 NA 2000
10103 性能和安全限制 禁止 DDL 表空间超过阈值执行(单位:MB) NA 2048
10104 性能和安全限制 控制单次执行 SQL 个数 NA 100
10105 性能和安全限制 控制单次执行 SELECT SQL 个数 NA 10
10106 性能和安全限制 控制单次执行 DML SQL 个数 NA 100
10107 窗口操作 禁用结果集复制 NA NA
10108 窗口操作 禁用结果集导出 NA NA
10109 性能和安全限制 单次查询最大返回行数 NA 200
10110 性能和安全限制 限制 SELECT 允许 SQL 全表扫描的最大值(单位:MB) NA 10240
10111 性能和安全限制 禁止 SELECT 预估扫描行数超过阈值执行 NA 200000
10112 性能和安全限制 禁止无 WHERE 条件的 UPDATE/DELETE NA NA
10113 性能和安全限制 禁止无 WHERE 条件的 SELECT NA NA

九、MySQL SQL 变更规则说明

规则分类 规则 ID 规则名称 SQL 示例
强制改进项 1001 不能删除数据库 DROP DATABASE test;
 1002 不能删除表 DROP TABLE test;
 1003 不能清空表 TRUNCATE TABLE test;
 1004 不能删除列 ALTER TABLE test DROP COLUMN id;
 1005 DELETE/UPDATE 操作必须携带 WHERE 条件 DELETE FROM test;
 1007 不能使用 USE 指定数据库 USE test;
 1009 不支持事务 BEGIN;
 1010 不支持临时表 CREATE TEMPORARY TABLE test;
风险改进项 1008 不能在 SQL 中指定字符集 SET NAMES utf8;
 2001 创建表需要存在主键 CREATE TABLE test (id bigint(20) NOT NULL) ENGINE=InnoDB;
 2002 需要指定建立 InnoDB 的存储引擎 CREATE TABLE test (id bigint(20) NOT NULL) ENGINE=MyIsam;
 2003 DELETE/UPDATE 语句需要携带 LIMIT 选项 DELETE FROM test WHERE id > 10;
 2004 DELETE/UPDATE 语句不要携带 ORDER BY 选项 DELETE FROM test ORDER BY id;
建议改进项 3001 创建表建议存在索引 CREATE TABLE test (id bigint(20) NOT NULL) ENGINE=InnoDB;
 3002 创建表不建议使用外键 CREATE TABLE test (f1 bigint(20) NOT NULL,CONSTRAINT fk_f1 FOREIGN KEY (f1) REFERENCES test2 (f1)) ENGINE=InnoDB;
 3003 不建议创建分区表 CREATE TABLE test (id bigint(20) NOT NULL) PARTITION by hash (id) (PARTITION x, PARTITION y);
 3005 表名/字段名不建议为保留字 CREATE TABLE charset (charset bigint(20) NOT NULL) ENGINE=InnoDB;
 3006 同一张表的多条 ALTER 语句建议合为一条 ALTER TABLE test ADD COLUMN f1 int;ALTER TABLE test ADD COLUMN f2 int;

十、TDSQL-C SQL 窗口规则说明

ID 规则组 规则名称 SQL 类型 配置值
20000 DML-SQL 允许常用查询类语句(默认) Select,Union,SetOpr,Show,Explain,Use,Begin,Commit,Rollback NA
20001 DML-SQL 允许插入数据 Insert NA
20002 DML-SQL 允许删除数据 Delete NA
20003 DML-SQL 允许更新数据 Update NA
20004 DDL-SQL 允许创建数据库 CreateDatabase NA
20005 DDL-SQL 允许删除数据库 DropDatabase NA
20006 DDL-SQL 允许修改数据库 AlterDatabase NA
20007 DDL-SQL 允许创建表 CreateTable NA
20008 DDL-SQL 允许删除表 DropTable NA
20009 DDL-SQL 允许修改表 AlterTable NA
20010 DDL-SQL 允许重命名表 RenameTable NA
20011 DDL-SQL 允许清空表 TruncateTable NA
20012 DDL-SQL 允许检查表 CheckTable NA
20013 DDL-SQL 允许分析表 AnalyzeTable NA
20014 DDL-SQL 允许优化表 OptimizeTable NA
20015 DDL-SQL 允许修复表 RepairTable NA
20016 DDL-SQL 允许创建索引 CreateIndex NA
20017 DDL-SQL 允许删除索引 DropIndex NA
20018 DDL-SQL 允许创建视图 CreateView NA
20019 DDL-SQL 允许删除视图 DropView NA
20020 用户和权限 允许创建用户 CreateUser NA
20021 用户和权限 允许删除用户 DropUser NA
20022 用户和权限 允许修改用户 AlterUser NA
20023 用户和权限 允许重命名用户 RenameUser NA
20024 用户和权限 允许设置密码 SetPwd NA
20025 用户和权限 允许设置角色 SetRole NA
20026 用户和权限 允许设置默认角色 SetDefaultRole NA
20027 用户和权限 允许授权 Grant NA
20028 系统和会话控制 允许 Kill Kill NA
20029 系统和会话控制 允许 Binlog Binlog NA
20030 性能和安全限制 允许不能识别的语句(启用有风险) Unknown NA
20031 用户和权限 允许授权角色 GrantRole NA
20032 用户和权限 允许回收角色权限 RevokeRole NA
20033 用户和权限 允许回收权限 Revoke NA
20034 系统和会话控制 允许 Flush Flush NA
20035 DDL-SQL 允许删除存储过程 DropProcedure NA
20036 DDL-SQL 允许创建存储过程 ProcedureInfo NA
20037 DML-SQL 允许 Call Call NA
20038 系统和会话控制 允许 Set Set NA
20039 查询与事务控制 允许锁表 LockTables NA
20040 查询与事务控制 允许解除表锁 UnlockTables NA
20041 查询与事务控制 允许创建保存点 SavePoint NA
20042 查询与事务控制 允许删除保存点 ReleaseSavePoint NA
20051 DML-SQL 允许 Prepare Prepare NA
20052 DML-SQL 允许 Execute Execute NA
20053 DML-SQL 允许 Deallocate Deallocate NA
20054 DML-SQL 允许 LoadData LoadData NA
20101 性能和安全限制 SQL 执行超时时间(单位:秒) NA 300
20102 性能和安全限制 禁止 DML 影响行数超过阈值执行 NA 2000
20103 性能和安全限制 禁止 DDL 表空间超过阈值执行(单位:MB) NA 2048
20104 性能和安全限制 控制单次执行 SQL 个数 NA 100
20105 性能和安全限制 控制单次执行 SELECT SQL 个数 NA 10
20106 性能和安全限制 控制单次执行 DML SQL 个数 NA 100
20107 窗口操作 禁用结果集复制 NA NA
20108 窗口操作 禁用结果集导出 NA NA
20109 性能和安全限制 单次查询最大返回行数 NA 200
20110 性能和安全限制 限制 SELECT 允许 SQL 全表扫描的最大值(单位:MB) NA 10240
20111 性能和安全限制 禁止 SELECT 预估扫描行数超过阈值执行 NA 200000
20112 性能和安全限制 禁止无 WHERE 条件的 UPDATE/DELETE NA NA
20113 性能和安全限制 禁止无 WHERE 条件的 SELECT NA NA

十一、TDSQL-C SQL 变更规则说明

规则分类 规则 ID 规则名称 SQL 示例
强制改进项 201002 不能删除表 DROP TABLE test;
 201003 不能清空表 TRUNCATE TABLE test;
 201001 不能删除数据库 DROP DATABASE test;
 201004 不能删除列 ALTER TABLE test DROP COLUMN id;
 201005 DELETE/UPDATE 操作必须携带 WHERE 条件 DELETE FROM test;
 201007 不能使用 USE 指定数据库 USE test;
 201009 不支持事务 BEGIN;
 201010 不支持临时表 CREATE TEMPORARY TABLE test;
风险改进项 201008 不能在 SQL 中指定字符集 SET NAMES utf8;
 202001 创建表需要存在主键 CREATE TABLE test (id bigint(20) NOT NULL) ENGINE=InnoDB;
 202002 需要指定建立 InnoDB 的存储引擎 CREATE TABLE test (id bigint(20) NOT NULL) ENGINE=MyIsam;
 202003 DELETE/UPDATE 语句需要携带 LIMIT 选项 DELETE FROM test WHERE id > 10;
 202004 DELETE/UPDATE 语句不要携带 ORDER BY 选项 DELETE FROM test ORDER BY id;
建议改进项 203001 创建表建议存在索引 CREATE TABLE test (id bigint(20) NOT NULL) ENGINE=InnoDB;
 203002 创建表不建议使用外键 CREATE TABLE test (f1 bigint(20) NOT NULL,CONSTRAINT fk_f1 FOREIGN KEY (f1) REFERENCES test2 (f1)) ENGINE=InnoDB;
 203003 不建议创建分区表 CREATE TABLE test (id bigint(20) NOT NULL) PARTITION by hash (id) (PARTITION x, PARTITION y);
 203005 表名/字段名不建议为保留字 CREATE TABLE charset (charset bigint(20) NOT NULL) ENGINE=InnoDB;
 203006 同一张表的多条 ALTER 语句建议合为一条 ALTER TABLE test ADD COLUMN f1 int;ALTER TABLE test ADD COLUMN f2 int;

十二、TDSQL MySQL 窗口规则说明

ID 规则组 规则名称 SQL 类型 配置值
1000 DML-SQL 允许常用查询类语句(默认) Select,Union,SetOpr,Show,Explain,Use,Begin,Commit,Rollback NA
1001 DML-SQL 允许插入数据 Insert NA
1002 DML-SQL 允许删除数据 Delete NA
1003 DML-SQL 允许更新数据 Update NA
1004 DML-SQL 允许 Execute Execute NA
1005 DML-SQL 允许 Deallocate Deallocate NA
1006 DML-SQL 允许 Prepare Prepare NA
3015 DML-SQL 允许 Call Call NA
2001 DDL-SQL 允许创建数据库 CreateDatabase NA
2002 DDL-SQL 允许删除数据库 DropDatabase NA
2003 DDL-SQL 允许修改数据库 AlterDatabase NA
2101 DDL-SQL 允许创建表 CreateTable NA
2102 DDL-SQL 允许删除表 DropTable NA
2103 DDL-SQL 允许修改表 AlterTable NA
2104 DDL-SQL 允许重命名表 RenameTable NA
2105 DDL-SQL 允许清空表 TruncateTable NA
2106 DDL-SQL 允许检查表 CheckTable NA
2107 DDL-SQL 允许分析表 AnalyzeTable NA
2108 DDL-SQL 允许优化表 OptimizeTable NA
2109 DDL-SQL 允许修复表 RepairTable NA
2201 DDL-SQL 允许创建索引 CreateIndex NA
2202 DDL-SQL 允许删除索引 DropIndex NA
2301 DDL-SQL 允许创建视图 CreateView NA
2302 DDL-SQL 允许删除视图 DropView NA
3013 DDL-SQL 允许删除存储过程 DropProcedure NA
3014 DDL-SQL 允许创建存储过程 ProcedureInfo NA
3001 UserAndPermission 允许创建用户 CreateUser NA
3002 UserAndPermission 允许删除用户 DropUser NA
3003 UserAndPermission 允许修改用户 AlterUser NA
3004 UserAndPermission 允许重命名用户 RenameUser NA
3005 UserAndPermission 允许设置密码 SetPwd NA
3006 UserAndPermission 允许设置角色 SetRole NA
3007 UserAndPermission 允许设置默认角色 SetDefaultRole NA
3008 UserAndPermission 允许授权 Grant NA
3009 UserAndPermission 允许授权角色 GrantRole NA
3010 UserAndPermission 允许回收角色权限 RevokeRole NA
3011 UserAndPermission 允许回收权限 Revoke NA
3012 SystemAndSession 允许 Flush Flush NA
3016 SystemAndSession 允许 Set Set NA
3101 SystemAndSession 允许 Kill Kill NA
4001 QueryAndTransaction 允许锁表 LockTables NA
4002 QueryAndTransaction 允许解除表锁 UnlockTables NA
5001 QueryAndTransaction 允许创建保存点 SavePoint NA
5002 QueryAndTransaction 允许删除保存点 ReleaseSavePoint NA
6001 PerformanceAndSecurityRestrictions SQL 执行超时时间(单位:秒) NA 300
6002 PerformanceAndSecurityRestrictions 禁止 DML 影响行数超过阈值执行 NA 2000
6003 PerformanceAndSecurityRestrictions 禁止 DDL 表空间超过阈值执行(单位:MB) NA 2048
6004 PerformanceAndSecurityRestrictions 控制单次执行 SQL 个数 NA 100
6005 PerformanceAndSecurityRestrictions 控制单次执行 SELECT SQL 个数 NA 10
6006 PerformanceAndSecurityRestrictions 控制单次执行 DML SQL 个数 NA 100
6007 WindowOperation 禁用结果集复制 NA NA
6008 WindowOperation 禁用结果集导出 NA NA
6009 PerformanceAndSecurityRestrictions 单次查询最大返回行数 NA 200
6010 PerformanceAndSecurityRestrictions 限制 SELECT 允许 SQL 全表扫描的最大值(单位:MB) NA 10240
6011 PerformanceAndSecurityRestrictions 禁止 SELECT 预估扫描行数超过阈值执行 NA 200000
6012 PerformanceAndSecurityRestrictions 禁止无 WHERE 条件的 UPDATE/DELETE NA NA
6013 PerformanceAndSecurityRestrictions 禁止无 WHERE 条件的 SELECT NA NA
9999 PerformanceAndSecurityRestrictions 允许不能识别的语句(启用有风险) Unknown NA

十三、TDSQL MySQL 变更规则说明

规则分类 规则 ID 规则名称 SQL 示例
强制改进项 101001 不能删除数据库 DROP DATABASE test;
 101002 不能删除表 DROP TABLE test;
 101003 不能清空表 TRUNCATE TABLE test;
 101004 不能删除列 ALTER TABLE test DROP COLUMN id;
 101005 DELETE/UPDATE 操作必须携带 WHERE 条件 DELETE FROM test;
 101007 不能使用 USE 指定数据库 USE test;
 101009 不支持事务 BEGIN;
 101010 不支持临时表 CREATE TEMPORARY TABLE test;
风险改进项 101008 不能在 SQL 中指定字符集 SET NAMES utf8;
 102001 创建表需要存在主键 CREATE TABLE test (id bigint(20) NOT NULL) ENGINE=InnoDB;
 102002 需要指定建立 InnoDB 的存储引擎 CREATE TABLE test (id bigint(20) NOT NULL) ENGINE=MyIsam;
 102003 DELETE/UPDATE 语句需要携带 LIMIT 选项 DELETE FROM test WHERE id > 10;
 102004 DELETE/UPDATE 语句不要携带 ORDER BY 选项 DELETE FROM test ORDER BY id;
建议改进项 103001 创建表建议存在索引 CREATE TABLE test (id bigint(20) NOT NULL) ENGINE=InnoDB;
 103002 创建表不建议使用外键 CREATE TABLE test (f1 bigint(20) NOT NULL,CONSTRAINT fk_f1 FOREIGN KEY (f1) REFERENCES test2 (f1)) ENGINE=InnoDB;
 103005 表名/字段名不建议为保留字 CREATE TABLE charset (charset bigint(20) NOT NULL) ENGINE=InnoDB;
赞 (0)
上一篇 4天前
下一篇 4天前