數(shù)據(jù)管理DMS提供的SQL窗口支持關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù),安全規(guī)則的定義和分類各不相同。本文介紹MongoDB數(shù)據(jù)庫(kù)的SQL窗口安全規(guī)則。

SQL窗口檢測(cè)點(diǎn)

檢測(cè)點(diǎn)描述
基礎(chǔ)配置項(xiàng)規(guī)則集的基礎(chǔ)配置,包括單次查詢最大返回行數(shù)和結(jié)果集是否支持編輯。
用戶權(quán)限檢查對(duì)用戶執(zhí)行權(quán)限進(jìn)行約束。例如,是否需要對(duì)普通用戶進(jìn)行檢查權(quán)限。
集合命令規(guī)范對(duì)Mongo集合命令執(zhí)行進(jìn)行約束。
DB命令規(guī)范對(duì)Mongo DB命令進(jìn)行約束。
查詢緩存命令規(guī)范對(duì)Mongo查詢緩存命令進(jìn)行約束。
用戶管理命令規(guī)范對(duì)Mongo用戶管理命令進(jìn)行約束。
角色管理命令規(guī)范對(duì)Mongo角色管理命令進(jìn)行約束。
復(fù)制集命令規(guī)范對(duì)Mongo復(fù)制集命令進(jìn)行約束。
分片命令規(guī)范對(duì)Mongo分片命令進(jìn)行約束。
說(shuō)明 功能模塊的檢測(cè)點(diǎn)中內(nèi)置了大量的配置項(xiàng),您可以根據(jù)實(shí)際需求調(diào)整默認(rèn)配置或增加新規(guī)則。具體操作,請(qǐng)參見(jiàn)配置安全規(guī)則

檢測(cè)點(diǎn)工作流程圖:

1

因子和動(dòng)作

  • 因子:系統(tǒng)內(nèi)置變量,可用來(lái)獲取安全規(guī)則校驗(yàn)的上下文信息,如獲取命令類型、影響行數(shù)等。
    • 因子全部以@fac.開(kāi)頭,后接因子名稱。
    • 每個(gè)模塊的不同檢測(cè)點(diǎn)會(huì)提供不同因子。
    表 1. SQL窗口模塊的因子
    因子名說(shuō)明
    @fac.sql_sub_typeSQL子類,取值可參見(jiàn)支持的MongoDB命令
    @fac.env_type環(huán)境類型,值是環(huán)境標(biāo)識(shí)。如:DEVPRODUCT。詳情請(qǐng)參見(jiàn)實(shí)例環(huán)境說(shuō)明
    @fac.current_sql當(dāng)前的SQL。
    @fac.user_is_admin當(dāng)前用戶是否為管理員。取值為:
    • true
    • false
    @fac.user_is_dba當(dāng)前用戶是否是DBA。取值為:
    • true
    • false
    @fac.user_is_inst_dba當(dāng)前用戶是否是當(dāng)前實(shí)例的DBA。取值為:
    • true
    • false
    @fac.user_is_sec_admin當(dāng)前用戶是否是安全管理員。取值為:
    • true
    • false
  • 動(dòng)作:滿足if條件之后系統(tǒng)執(zhí)行的行為,表達(dá)了安全規(guī)則的主要目的。例如禁止提交工單、選擇工作流、允許執(zhí)行、拒絕執(zhí)行等。
    • 動(dòng)作全部以@act.開(kāi)頭,后接動(dòng)作名稱。
    • 每個(gè)模塊的不同檢測(cè)點(diǎn)會(huì)提供不同動(dòng)作。
    表 2. SQL窗口模塊的動(dòng)作
    動(dòng)作名說(shuō)明
    @act.reject_execute拒絕執(zhí)行當(dāng)前SQL。
    @act.allow_execute允許執(zhí)行當(dāng)前SQL。
    @act.reject_sql_type_execute拒絕執(zhí)行特定SQL類型的SQL,動(dòng)作后需要指定具體的SQL子類型,例如:@act.reject_sql_type_execute 'UPDATE'
    @act.allow_sql_type_execute允許執(zhí)行特定SQL類型的SQL,同上需要指定具體的SQL子類型。

支持的MongoDB命令

DMS支持的MongoDB命令的詳細(xì)信息,請(qǐng)參見(jiàn)支持的MongoDB命令