在数据管理DMS提供的SQL窗口中,关系型数据库和非关系型数据库的安全规则的定义和分类各不相同。本文介绍Redis数据库的SQL窗口安全规则。
SQL窗口检测点
检测点 | 描述 |
---|---|
执行权限规范 | 对命令执行权限进行约束。例如,检查提交者是否拥有对应的库、表、列权限等。 |
命令规范-keys | 对keys命令进行约束。 |
命令规范-string | 对string命令进行约束。 |
命令规范-list | 对list命令进行约束。 |
命令规范-set | 对set命令进行约束。 |
命令规范-sortedSet | 对sortedSet命令进行约束。 |
命令规范-hash | 对hash命令进行约束。 |
命令规范-Cpc | 对Cpc命令进行约束。 |
命令规范-Ts | 对Ts命令进行约束。 |
命令规范-Roaring | 对Roaring命令进行约束。 |
命令规范-Search | 对Search命令进行约束。 |
命令规范-其他 | 对其他命令进行约束。 |
说明 功能模块的检测点中内置了大量的配置和规则,您可以根据实际需求调整配置值、规则状态,或自定义新规则。具体操作,请参见配置安全规则。
检测点工作流程图:

因子和动作
因子
系统内置变量,可用来获取安全规则校验的上下文信息,如获取命令类型、影响行数等。
说明
- 因子全部以
@fac.
开头,后接因子名称。 - 每个模块的不同检测点会提供不同因子。
因子名 | 说明 |
---|---|
@fac.cmd_type | 命令类型,取值请参见DMS支持的Redis命令类别。 |
@fac.env_type | 环境类型,值是环境标识。如:DEV 、PRODUCT 。详情请参见实例环境说明。
|
@fac.is_read | 是否为读命令。取值为:
|
@fac.is_write | 是否为写命令。取值为:
|
@fac.current_sql | 当前的SQL。 |
@fac.user_is_admin | 当前用户是否为管理员。取值为:
|
@fac.user_is_dba | 当前用户是否为DBA。取值为:
|
@fac.user_is_inst_dba | 当前用户是否为当前实例的DBA。取值为:
|
动作
满足if条件之后系统执行的行为,表达了安全规则的主要目的。例如禁止提交工单、选择工作流、允许执行、拒绝执行等。
说明
- 动作全部以
@act.
开头,后接动作名称。 - 每个模块的不同检测点会提供不同动作。
动作名 | 说明 |
---|---|
@act.reject_execute | 拒绝执行当前SQL。 |
@act.allow_execute | 允许执行当前SQL。 |
DMS支持的Redis命令类别
目前DMS能够通过语法解析识别的命令大类和命令子类说明如下:
命令分类 | 具体类型枚举 |
---|---|
keys读命令 |
|
keys写命令 |
|
string读命令 |
|
string写命令 |
|
list读命令 |
|
list写命令 |
|
set读命令 |
|
set写命令 |
|
sortedset读命令 |
|
sortedset写命令 |
|
hash读命令 |
|
hash写命令 |
|
server读命令 |
|
connection命令 | PING |
HyperLogLog命令 |
|
TairDoc命令 | TairDoc支持的枚举类型,请参见TairDoc命令列表。 |
TairString命令 | TairString支持的枚举类型,请参见TairString命令列表。 |
TairBloom命令 | TairBloom支持的枚举类型,请参见TairBloom命令列表。 |
TairGIS命令 | TairGIS支持的枚举类型,请参见TairGIS命令列表。 |
TairHash命令 | TairHash支持的枚举类型,请参见TairHash命令列表。 |
TairCpc命令 | TairCpc支持的枚举类型,请参见TairCpc命令列表。 |
TairTS命令 | TairTS支持的枚举类型,请参见TairTS命令列表。 |
TairRoaring命令 | TairRoaring支持的枚举类型,请参见TairRoaring命令列表。 |
TairSearch命令 | TairSearch支持的枚举类型,请参见TairSearch命令列表。 |