Data Management提供的SQL視窗支援關係型資料庫和非關係型資料庫,安全規則的定義和分類各不相同。本文介紹MongoDB資料庫的SQL視窗安全規則。
SQL視窗檢測點
檢測點 | 描述 |
基礎配置項 | 規則集的基礎配置,包括單次查詢最大返回行數和結果集是否支援編輯。 |
使用者權限檢查 | 對使用者執行許可權進行約束。例如,是否需要對普通使用者進行檢查許可權。 |
集合命令規範 | 對Mongo集合命令執行進行約束。 |
DB命令規範 | 對Mongo DB命令進行約束。 |
查詢快取命令規範 | 對Mongo查詢快取命令進行約束。 |
使用者管理命令規範 | 對Mongo使用者管理命令進行約束。 |
角色管理命令規範 | 對Mongo角色管理命令進行約束。 |
複製集命令規範 | 對Mongo複製集命令進行約束。 |
分區命令規範 | 對Mongo分區命令進行約束。 |
說明 功能模組的檢測點中內建了大量的配置項,您可以根據實際需求調整預設配置或增加新規則。具體操作,請參見配置安全規則。
檢測點工作流程圖:
因子和動作
- 因子:系統內建變數,可用來擷取安全規則校正的上下文資訊,如擷取命令類型、影響行數等。
- 因子全部以
@fac.
開頭,後接因子名稱。 - 每個模組的不同檢測點會提供不同因子。
表 1. SQL視窗模組的因子 因子名 說明 @fac.sql_sub_type SQL子類,取值可參見支援的MongoDB命令。 @fac.env_type 環境類型,值是環境標識。如: DEV
、PRODUCT
。詳情請參見執行個體環境說明。@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
@fac.user_is_sec_admin 目前使用者是否是安全性系統管理員。取值為: - true
- false
- 因子全部以
- 動作:滿足
if
條件之後系統執行的行為,表達了安全規則的主要目的。例如禁止提交工單、選擇工作流程、允許執行、拒絕執行等。- 動作全部以
@act.
開頭,後接動作名稱。 - 每個模組的不同檢測點會提供不同動作。
表 2. SQL視窗模組的動作 動作名 說明 @act.reject_execute 拒絕執行當前SQL。 @act.allow_execute 允許執行當前SQL。 @act.reject_sql_type_execute 拒絕執行特定SQL類型的SQL,動作後需要指定具體的SQL子類型,例如: @act.reject_sql_type_execute 'UPDATE'
。@act.allow_sql_type_execute 允許執行特定SQL類型的SQL,同上需要指定具體的SQL子類型。 - 動作全部以
支援的MongoDB命令
DMS支援的MongoDB命令的詳細資料,請參見支援的MongoDB命令。