在數(shù)據(jù)管理DMS提供的SQL窗口中,關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫的安全規(guī)則的定義和分類各不相同。本文介紹Redis數(shù)據(jù)庫的SQL窗口安全規(guī)則。
SQL窗口檢測點(diǎn)
檢測點(diǎn) | 描述 |
---|---|
執(zhí)行權(quán)限規(guī)范 | 對(duì)命令執(zhí)行權(quán)限進(jìn)行約束。例如,檢查提交者是否擁有對(duì)應(yīng)的庫、表、列權(quán)限等。 |
命令規(guī)范-Keys | 對(duì)Keys命令進(jìn)行約束。 |
命令規(guī)范-String | 對(duì)String命令進(jìn)行約束。 |
命令規(guī)范-List | 對(duì)List命令進(jìn)行約束。 |
命令規(guī)范-Set | 對(duì)Set命令進(jìn)行約束。 |
命令規(guī)范-SortedSet | 對(duì)SortedSet命令進(jìn)行約束。 |
命令規(guī)范-Hash | 對(duì)Hash命令進(jìn)行約束。 |
命令規(guī)范-Cpc | 對(duì)Cpc命令進(jìn)行約束。 |
命令規(guī)范-Ts | 對(duì)Ts命令進(jìn)行約束。 |
命令規(guī)范-Roaring | 對(duì)Roaring命令進(jìn)行約束。 |
命令規(guī)范-Search | 對(duì)Search命令進(jìn)行約束。 |
命令規(guī)范-其他 | 對(duì)其他命令進(jìn)行約束。 |
說明 功能模塊的檢測點(diǎn)中內(nèi)置了大量的配置和規(guī)則,您可以根據(jù)實(shí)際需求調(diào)整配置值、規(guī)則狀態(tài),或自定義新規(guī)則。具體操作,請(qǐng)參見配置安全規(guī)則。
檢測點(diǎn)工作流程圖:
因子和動(dòng)作
因子
系統(tǒng)內(nèi)置變量,可用來獲取安全規(guī)則校驗(yàn)的上下文信息,如獲取命令類型、影響行數(shù)等。
說明
- 因子全部以
@fac.
開頭,后接因子名稱。 - 每個(gè)模塊的不同檢測點(diǎn)會(huì)提供不同因子。
因子名 | 說明 |
---|---|
@fac.cmd_type | 命令類型,取值請(qǐng)參見支持的Redis命令。 |
@fac.env_type | 環(huán)境類型,值是環(huán)境標(biāo)識(shí)。如:DEV 、PRODUCT 。詳情請(qǐng)參見實(shí)例環(huán)境說明。 |
@fac.is_read | 是否為讀命令。取值為:
|
@fac.is_write | 是否為寫命令。取值為:
|
@fac.current_sql | 當(dāng)前SQL。 |
@fac.user_is_admin | 當(dāng)前用戶的系統(tǒng)角色是否為管理員。取值為:
|
@fac.user_is_dba | 當(dāng)前用戶的系統(tǒng)角色是否為DBA。取值為:
|
@fac.user_is_inst_dba | 當(dāng)前用戶是否為當(dāng)前實(shí)例的DBA。取值為:
|
動(dòng)作
滿足if條件之后系統(tǒng)執(zhí)行的行為,表達(dá)了安全規(guī)則的主要目的。例如禁止提交工單、選擇工作流、允許執(zhí)行、拒絕執(zhí)行等。
說明
- 動(dòng)作全部以
@act.
開頭,后接動(dòng)作名稱。 - 每個(gè)模塊的不同檢測點(diǎn)會(huì)提供不同動(dòng)作。
動(dòng)作名 | 說明 |
---|---|
@act.reject_execute | 拒絕執(zhí)行當(dāng)前SQL。 |
@act.allow_execute | 允許執(zhí)行當(dāng)前SQL。 |
@act.check_redis_permission | 校驗(yàn)Redis命令的執(zhí)行權(quán)限,不直接執(zhí)行SQL。 |
@act.query_without_permission_check | 不校驗(yàn)Redis命令的執(zhí)行權(quán)限,直接執(zhí)行SQL。 |
支持的Redis命令
DMS支持的Redis命令的詳細(xì)信息,請(qǐng)參見支持的Redis命令。