通過本文您可以對現有資料庫效能、安全等能力進行評估,提前規劃好預防措施保障業務穩定運行,避免活動期間因資料庫超載導致系統崩潰造成經濟損失。
前提條件
使用DMS大促預案的執行個體的管控模式為安全協同。更多資訊,請參見管控模式。
背景資訊
大型活動期間,公司業務量可能出現大幅度上漲,資料庫的使用與資料安全管理將面臨巨大挑戰。例如如下情境:
臨近雙十一,資料庫即將面臨一次訪問流量上的大考。籌備業務大促期間,您可評估您現有資料庫的使用方式,預估活動期間的使用量,以及大促期間研發人員使用資料庫的情況,提前做好預防措施。
在活動大促期間,未做預防措施導致資料庫出現問題的案例如下:
-
某營運人員為了統計活動資料執行了慢SQL指令,最終導致業務被拖垮。
-
某研發人員執行了一條結構變更指令,影響了同一資料庫下另外一條業務線的活動。
效能安全
限制查詢與匯出的逾時時間
您可以在編輯執行個體中設定目標執行個體在DMS上的查詢逾時時間和匯出逾時時間,避免長時間執行的SQL進一步影響業務。
查詢逾時時間和匯出逾時時間的常態推薦值為60s和600s,大促期間推薦值為5s和60s。
具體操作,請參見編輯執行個體。
在編輯執行個體對話方塊中,找到查詢逾時時間(s)和匯出逾時時間(s)欄位,分別填入目標逾時時間值並儲存。
限制查詢最大返回行數
您可以在安全規則中配置單次查詢最大返回行數的值,避免大量資料返回影響業務正常請求的回應時間。
常態推薦值為200行,大促期間推薦值為10行。具體操作,請參見SQL視窗安全規則。
在規則集的基礎配置項頁簽中,找到單次查詢最大返回行數配置項,單擊編輯修改其配置值。
限制全表掃描的最大值
您可以在安全規則中配置允許全表掃描SQL執行的表的大小值,避免大促期間研發同學對超大表進行全表掃描而影響業務。
常態推薦值為10240 MB,大促期間推薦值為1024 MB。具體操作,請參見SQL視窗安全規則。
在規則集的基礎配置項頁簽中,找到限制允許SQL全表掃描的最大值(MB)配置項,單擊編輯修改其配置值。
變更安全
攔截高風險SQL
您可以在安全規則中對部分高風險SQL語句(DQL、DDL、DML、DCL)進行管控,避免某些高風險SQL的執行而影響業務。
常態推薦按需開啟,大促期間建議禁止例如DDL等高風險的SQL執行。具體操作,請參見SQL變更安全規則。在安全規則的規則集配置中,單擊左側導覽列的SQL變更,選擇SQL執行規則頁簽。頁面展示DML、DDL、DCL三類語句的執行規則,每類包含"允許在SQL控制台直接執行"(已禁用)和"禁止直接執行必須以工單方式執行"(已啟用)兩條規則。可通過編輯、啟用/禁用、刪除按鈕管理各規則狀態。未啟用任何規則時,變更類SQL/命令均禁止執行。
升級審批次程序
在大促期間,建議在審批次程序中增加進階別的審批負責人或者業務關聯人作為審批節點。
一般情況下推薦按需設定審批次程序,例如研發-->業務Owner-->DBA,大促期間建議審批次程序為研發-->業務Owner-->業務Owner主管-->DBA。具體操作,請參見建立審批次程序。
變更視窗管控
在執行引擎底層強制管控執行個體的變更視窗範圍,具有禁止和允許兩種策略。
在大促時期間,建議通過設定時間段來限制人員發起DDL、DML、SELECT。
在執行個體的變更視窗列表對話方塊中,單擊新增按鈕添加變更視窗規則。每條規則包含類型(如禁止變更-DDL)、開始-結束時間及啟用狀態開關,可隨時通過刪除移除單條規則或單擊清空庫變更視窗批量清除。
資料安全
提高敏感資訊列的等級設定
您可以通過欄位安全層級調整功能將個人資訊、手機號、身份證ID以及資金等敏感欄位進行脫敏,提高資料安全。具體操作,請參見調整欄位安全層級。
提高欄位安全層級後,在DMS中執行SQL查詢時,敏感欄位的值均顯示為**(星號掩碼),表示資料已被成功脫敏。
開啟資料浮水印功能
您可以在DMS中開啟防泄露數字浮水印功能,系統將在整個控制台中同時提供浮水印,保障您的資料資訊安全,防止截圖等資料泄露事件。具體操作,請參見防泄露數字浮水印。
在組態管理頁面搜尋"浮水印",找到參數【資料安全】防泄露數字浮水印功能,單擊編輯,在彈出的修改配置項對話方塊中開啟開關,單擊確定修改。
敏感性資料管控
有效識別敏感性資料的分布,進行細粒度許可權管控、資料脫敏處理,進行最小化許可權資料訪問。具體操作,請參見管理敏感性資料。
Sensitive Data Discovery and Protection支援接入多種資料來源(PolarDB、ADB、MySQL等),相容阿里雲、友商雲及IDC自建環境。通過部署識別任務(即時/單次/周期),依據合規標準(個人資訊保護法、網路安全法、資料安全法、GDPR、HIPAA、PCI DSS等)對資料進行自動分級分類,並提供雜湊、替換、遮掩、變換、加密等脫敏演算法。支援靜態脫敏(環境構建、Data Integration、資料開發)和動態脫敏(SQLConsole查詢、程式訪問、API訪問)兩種模式。精微調權限管控分為無許可權(內容顯示為**)、半脫敏許可權(內容顯示為***st)和明文許可權三個層級。
行級管控
設定表中資料行的許可權,同一個表的資料,不同人員僅能訪問特定資料行。具體操作,請參見行級管控。
在管控值詳情彈窗中,可查看管控組下的行值列表,包括行值、最後修改人、最後修改時間等資訊,並支援搜尋行值、添加行值和刪除操作。
設定使用者訪問中繼資料許可權
可實現避免指定人員接觸到一些無許可權的中繼資料(包含資料庫、執行個體、表等)。具體操作,請參見中繼資料存取控制。
在使用者管理列表中,找到目標使用者,單擊對應操作列的更多,在下拉式功能表中選擇存取控制。
設定中繼資料可見範圍
可實現避免指定中繼資料被無許可權的人員搜尋、接觸。具體操作,請參見中繼資料存取控制。
在執行個體列表中,單擊目標執行個體對應的更多,在下拉式功能表中選擇存取控制。
應急處理
Action Trail
該功能可以快速定位指定時間段內,人員是否在DMS對指定資料庫、表實施變更。具體操作,請參見Action Trail。
在 DMS 的 SQLConsole 頁面右上方,單擊Action Trail即可進入該功能。
資料追蹤
在誤刪、誤更新資料操作後,可快速恢複資料。具體操作,請參見資料追蹤。
資料追蹤工單詳情頁包含三個步驟區塊:1)基本資料,包括提交時間、任務名稱、時間範圍、資料庫(帶環境標籤)、表名及拉取DML類型(如插入);2)檔案擷取,以進度條形式展示資料拉取完成度;3)審批。工單完成後,頁面頂部狀態顯示為工單已完成,並可通過建立子工單、動作記錄、關閉工單等按鈕進行後續操作。
DML無鎖變更
在應急情況下,可實現大批量、無索引SQL的資料更新(UPDATE、DELETE)。請參見DML無鎖變更。
DDL無鎖變更
適應用於應急情況下,調整資料表中欄位大小、增加索引等操作。具體操作,請參見開啟無鎖結構變更。
為了協助您更好的使用DMS,您可以搜尋並加入DingTalk使用者群(21991247)獲得更多協助。