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

数据库工作台

复制全文
下载 pdf
安全规则
安全规则管理
复制全文
下载 pdf
安全规则管理
本文介绍如何在数据库工作台 DBW 控制台管理安全规则。
背景信息
安全管控是为了保护数据库系统中的数据和资源而制定的规则和措施。该功能可以帮助您在 DBW 实现精细化管控数据库实例,例如免密登录实例、工单管理、安全规则管理等。更多信息,请参见安全规则管理
前提条件
  • 您的账号已是 DBW 的管理员,如果不是需添加为 DBW 的管理员。详细操作,请参见添加用户
注意事项
  • 只有在数据交互台的 SQL 窗口或通过工单执行的 SQL 语句才会被拦截生效。
  • 安全规则集内开启的安全规则请勿出现冲突的情况,否则您的实例绑定的安全规则将失效。
  • 系统默认提供一个安全规则集即名称为 postgres default。默认的安全规则集和新建的安全规则集默认包含的安全规则,请参见参考文档
  • 系统规则不支持删除和修改仅支持修改和关闭。
查看安全规则
  1. 登录 DBW 控制台
  1. 在顶部菜单栏,选择地域。
  1. 在左侧导航栏,选择企业安全 > 安全规则
  1. 安全规则集页面的顶部菜单栏,选择数据库类型云数据库 PostgreSQL 版
  1. 单击目标安全规则集操作列的查看
  1. 在目标安全规则集详情页面,您可以查看以下信息:
  • 查看安全规则集的信息,包括安全规则集的 ID规则集类型关联实例数量
  • 查看安全规则信息,包括数据交互台工单管理SQL 审核类型的安全规则,同时也可以查看每个安全规则的安全规则 ID安全规则名称规则类型是否启用最近修改时间等。
启用或关闭安全规则
您可以根据需求启用或关闭安全规则集内的规则。
  1. 登录 DBW 控制台
  1. 在顶部菜单栏,选择地域。
  1. 在左侧导航栏,选择企业安全 > 安全规则
  1. 安全规则集页面的顶部菜单栏,选择数据库类型云数据库 PostgreSQL 版
  1. 单击目标安全规则集操作列的查看
  1. 在目标安全规则集详情页面,单击目标规则是否启用列下的开关。
  1. 确定开启吗?确定关闭吗? 对话框,单击确定
参考文档
安全规则集中默认的安全规则(即系统规则)如下表所示。
说明
只有在数据交互台的 SQL 窗口、通过工单执行的 SQL 语句或 SQL 审核才会被拦截生效。
  • 数据交互台
  • 安全规则名称
    是否默认启用
    级别
    默认值
    禁止 ALTER_TABLE 在数据库交互台直接执行。
    启用
    高(红线)
    禁止在数据库交互台直接执行 pg_terminate_backend 函数。
    启用
    高(红线)
    禁止存储过程在数据库交互台直接创建。
    启用
    高(红线)
    禁止无法识别 SQL 解析异常继续执行【继续执行会导致安全规则失效】。
    启用
    高(红线)
    禁止无法解析权限的 SQL 继续执行【继续执行会导致安全规则失效】
    启用
    高(红线)
    所有用户都需要检查权限
    启用
    高(红线)
    禁止 CREATE_TABLE 在数据库交互台直接执行。
    启用
    中(警告)
    禁止 DROP_TABLE 在数据库交互台直接执行。
    启用
    中(警告)
    禁止 INSERT 在数据库交互台直接执行。
    启用
    中(警告)
    禁止 UPDATE 在 SQL 控制台直接执行。
    启用
    高(红线)
    禁止 DELETE 在 SQL 控制台直接执行。
    启用
    高(红线)
    限制 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 子句包含元素个数。
    禁用
    中(警告)
    1000
    UPDATE 语句检测是否更新了主键。
    禁用
    中(警告)
    UPDATE 语句检测 UPDATE 的表/字段是否存在。
    禁用
    中(警告)
    UPDATE 语句检测是否更新了唯一键。
    禁用
    中(警告)
    限制 SELECT 语句 LIMITOFFSET 大小。
    禁用
    中(警告)
    2000
    SELECT 语句建议包含 WHERE 条件。
    禁用
    中(警告)
    SELECT 时不建议 GROUP BY 常量。
    禁用
    中(警告)
    限制 SELECT 语句多表关联的数量。
    禁用
    中(警告)
    3
    SELECT 语句不建议使用 *
    禁用
    中(警告)
    SELECT 语句不建议对不同的表 GROUP BYORDER 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 语句。
    禁用
    中(警告)
  • SQL 审核
  • 安全规则名称
    是否默认启用
    级别
    默认值
    限制 UPDATE/DELETE 语句多表关联的数量。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线等级。
    5
    UPDATE/DELETE 语句检测多表关联语法是否完整(JOIN 遗漏 ON 子句)。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线等级。
    UPDATE/DELETE 语句建议指定 WHERE 条件。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线等级。
    INSERT 语句字段名不能重复。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线等级。
    INSERT 语句字段列表和值列表要匹配。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    INSERT 语句建议指定 INSERT 字段列表。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线等级。
    INSERT 语句不能为 NOT NULL 列插入 NULL 值。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    true
    INSERT 语句不建议使用 SYSDATE() 函数。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    限制 INSERT 语句一条 INSERT VALUES 的总行数。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    1000
    INSERT 语句检测 INSERT 的表、字段是否存在。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    UPDATE 语句建议更新表上的“修改时间”列。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    update_timemodify_timeupdate_atmodify_at
    UPDATE 语句检测 SET 多个列之间的分隔符( AND 非法)。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    UPDATE/DELETE 语句检测 WHERE 条件是否包含子查询。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    限制 WHERE 条件中 IN 子句包含元素个数。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    1000
    UPDATE 语句检测是否更新了主键。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    UPDATE 多表时检测 SET 的列是否指定表前缀。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    UPDATE 语句不建议更新表上的“创建时间”列。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    create_timecreate_at
    UPDATE 语句检测 UPDATE 的表、字段是否存在。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    UPDATE 语句检测是否更新了唯一键。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    SQL 语法解析异常,建议检查 SQL 语句是否合法。
    启用
    • 低:建议级别。
    • 中:警告级别。
    • 高:(默认等级)红线等级。
    限制 SELECT 语句 LIMITOFFSET 大小。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    2000
    SELECT 语句建议包含 WHERE 条件。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    true
    SELECT 时不建议 GROUP BY 常量。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    限制 SELECT 语句多表关联的数量。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    3
    SELECT 语句不建议 ORDER BY 表达式或函数。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    SELECT 语句不建议使用 ORDER BY RAND()
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    SELECT 语句不建议使用 HAVING 子句。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    SELECT 语句不建议使用 *
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    SELECT 语句不建议对不同的表 GROUP BYORDER BY
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    SELECT 语句不建议对常量进行 ORDER BY
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    SELECT 语句不建议 ORDER BY 多个字段使用不同方向排序。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    SELECT 语句不建议 GROUP BY 表达式或函数。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    SELECT 语句不建议使用 UNION
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    WHERE 条件中不建议使用前通配符查找。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    WHERE 条件中不建议使用反向查询(NOT INNOT LIKE)。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    WHERE 条件中检测是否通过 OR 操作符连接过滤条件。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
    WHERE 条件中检测没有通配符的 LIKE 语句。
    启用
    • 低:建议级别。
    • 中:(默认等级)警告级别。
    • 高:红线级别。
相关文档
最近更新时间:2026.09.01 14:01:59
这个页面对您有帮助吗?
有用
有用
无用
无用