数据管理DMS提供的SQL窗口支持关系型数据库和非关系型数据库,安全规则的定义和分类各不相同。本文档介绍Redis数据库的SQL窗口安全规则。
检测点
- SQL权限规范:对SQL执行权限进行约束。
说明 如提交者是否拥有对应的库、表、列权限。
- keys命令规范:可对key命令执行进行约束。
- string命令规范:可对string命令进行约束。
- list命令规范:可对list命令进行约束。
- set命令规范:可对set命令进行约束。
- sortedset命令规范:可对sortedset命令进行约束。
- hash命令规范:可对hash命令进行约束。
- 其他命令规范:可对其他命令进行约束。
说明 您可以使用安全规则模板库中提供的规则,也可以自定义新增规则。详情请参见新增规则操作步骤。
检测点流程图

DMS支持的SQL
目前DMS企业版能够通过语法解析识别的SQL大类和SQL子类说明如下:
命令分类 | 具体类型枚举 |
---|---|
keys读命令 |
|
keys写命令 |
|
string读命令 |
|
string写命令 |
|
list读命令 |
|
list写命令 |
|
set读命令 |
|
set写命令 |
|
sortedset读命令 |
|
sortedset写命令 |
|
hash读命令 |
|
hash写命令 |
|
server读命令 |
|
connection命令 |
|
HyperLogLog命令 |
|
TairDoc读命令 |
|
TairDoc写命令 |
|
TairString读命令 |
|
TairString写命令 |
|
TairBloom读命令 |
|
TairBloom写命令 |
|
TairGis读命令 |
|
TairGis写命令 |
|
TairHash读命令 |
|
TairHash写命令 |
|
因子和动作
- 因子
因子是系统内置变量,可用来获取安全规则校验的上下文信息,如获取SQL类型、影响行数等。因子全部以
@fac.
开头,后接因子名称。每个模块的不同检测点均提供不同因子,SQL窗口中提供因子的说明请参见下表:因子名 说明 @fac.cmd_type 命令类型,取值请参见DMS支持的SQL。 @fac.env_type 环境类型,值是环境标识。如: DEV
、PRODUCT
。详情请参见实例环境说明。@fac.is_read 是否为读命令。取值为: - true
- false
@fac.is_write 是否为写命令。取值为: - true
- false
@fac.current_sql 当前的SQL。 @fac.user_is_admin 当前用户是否为管理员。取值为: - true
- false
@fac.user_is_dba 当前用户是否为DBA。取值为: - true
- false
@fac.user_is_inst_dba 当前用户是否为当前实例的DBA。取值为: - true
- false
- 动作
动作是满足
if
条件之后系统执行的行为,例如禁止提交工单、选择工作流、允许执行、拒绝执行等,这些动作表达了安全规则的主要目的。动作全部以@act.
开头,后接动作名称。每个模块的不同检测点均提供不同动作,SQL窗口中提供动作的说明请参见下表:动作名 说明 @act.reject_execute 拒绝执行当前SQL。 @act.allow_execute 允许执行当前SQL。
模板库
安全规则提供了大量的规则模板可直接选择启用,也可以在模板基础上按照实际需求自行调整启用。SQL窗口中的模板如下所示:
检测点 | 模板 |
---|---|
执行权限规范 | 普通用户需要检查权限。 |
所有用户都不需要检查权限。 | |
命令规范-Keys | 测试环境,允许执行Key读命令(白名单集合)。 |
生产环境,允许执行Key读命令(白名单集合)。 | |
生产环境,允许执行Key写命令(白名单集合)。 | |
命令规范-String | 测试环境,允许执行String读命令(白名单集合)。 |
生产环境,允许执行String读命令(白名单集合)。 | |
生产环境,允许执行String写命令(白名单集合)。 | |
命令规范-List | 测试环境,允许执行List读命令(白名单集合)。 |
生产环境,允许执行List读命令(白名单集合)。 | |
生产环境,允许执行List写命令(白名单集合)。 | |
命令规范-SET | 测试环境,允许执行Set读命令(白名单集合)。 |
生产环境,允许执行Set读命令(白名单集合)。 | |
生产环境,允许执行Set写命令(白名单集合)。 | |
命令规范-SortedSet | 测试环境,允许执行SortedSet读命令(白名单集合)。 |
生产环境,允许执行SortedSet读命令(白名单集合)。 | |
生产环境,允许执行SortedSet写命令(白名单集合)。 | |
命令规范-Hash | 测试环境,允许执行Hash读命令(白名单集合)。 |
生产环境,允许执行Hash读命令(白名单集合)。 | |
生产环境,允许执行Hash写命令(白名单集合)。 | |
命令规范-其他 | 测试环境,允许执行其他读命令(白名单集合)。 |
测试环境,允许执行其他写命令(白名单集合)。 | |
生产环境,允许执行Hash读命令(白名单集合)。 | |
生产环境,允许执行Hash写命令(白名单集合)。 |
在文档使用中是否遇到以下问题
更多建议
匿名提交