配置和執行數據脫敏
本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
數據安全中心DSC(Data Security Center)支持靜態脫敏和動態脫敏,可以脫敏數據庫中的敏感數據。本文介紹如何使用靜態脫敏和動態脫敏。
脫敏方式
靜態脫敏
通過新增脫敏任務,使用脫敏算法對敏感數據進行遮蓋、加密或替換,并將脫敏后的數據保存到您選擇的目標位置。
動態脫敏
相對于靜態脫敏,動態脫敏更加靈活,通過調用ExecDatamask接口可以直接脫敏指定數據。每次脫敏的數據必須小于2 MB。
計費說明
如果您需要脫敏的云產品使用的是按量付費的方式,對應云產品會按照訪問或寫入數據量收取相應的費用。
前提條件
已完成DSC授權和接入待脫敏數據資產。具體操作,請參見資產授權。
如果需要將脫敏后數據存儲到RDS表、PolarDB-X表、MaxCompute表、PolarDB表、OceanBase表、ADB-MySQL表、自建數據庫表或OSS Bucket中,DSC必須授權接入目標數據資產,且使用具有讀寫權限的賬號連接目標數據資產。具體操作,請參見通用數據庫授權、MaxCompute授權和ECS自建數據庫授權。
靜態脫敏
新增脫敏任務
如果您在生產環境中直接對數據進行脫敏,數據庫的性能可能會有所下降。
通過新增脫敏任務,指定數據脫敏的范圍和規則。
登錄數據安全中心控制臺。
在左側導航欄,單擊數據脫敏。
在靜態脫敏頁簽的任務配置頁簽,單擊新增脫敏任務。
根據頁面導航,完成數據脫敏任務配置。
填寫任務基本信息,并單擊下一步。
說明任務名稱輸入不受限制。
配置脫敏數據的來源文件信息,并單擊下一步。
RDS表/PolarDB-X表/MaxCompute表/PolarDB表/OceanBase表/ADB-MySQL表/自建數據庫表
脫敏源配置項
是否必填
配置描述
數據存儲類型
是
選擇脫敏文件的數據存儲類型為RDS表/PolarDB-X表/MaxCompute表/PolarDB表/OceanBase表/ADB-MySQL表/自建數據庫表。
源產品
是
選擇包含脫敏數據的文件來源的產品名稱。支持選擇的產品包括:RDS、PolarDB-X、OceanBase、MaxCompute、ADB-MySQL、PolarDB或自建數據庫。
源數據庫/項目名
是
選擇包含脫敏數據的表所在的項目名稱。
源表名
是
選擇脫敏數據所在的數據表名稱。
源分區
否
僅源產品選擇MaxCompute時,可配置源分區。
輸入需要脫敏的數據在數據表中的分區名稱。不填寫則代表會對整個表中的敏感數據進行脫敏。
分區是在創建MaxCompute數據表時指定的分區空間,用于限定不同區域數據,方便快速和高效地對指定內容進行查詢。更多信息,請參見分區。
抽樣SQL
否
源產品選擇RDS、PolarDB-X、OceanBase或自建數據庫時,可配置抽樣SQL。
輸入SQL語句配置脫敏數據的范圍。不填寫則進行全表脫敏。
OSS文件
重要僅支持脫敏結構化TXT、CSV、XLSX和XLS格式的文件。
脫敏源配置項
是否必填
配置描述
數據存儲類型
是
選擇脫敏文件的數據存儲類型為OSS文件。
文件源
是
選擇OSS文件的來源,支持本地上傳和OSS Bucket。
上傳文件
是
文件源為本地上傳時,單擊選擇本地文件,上傳需要脫敏的文件。
源文件所在OSS Bucket
是
文件源為OSS Bucket時,在下拉列表中選擇源文件所在的OSS Bucket。您也可以輸入關鍵字進行搜索并選擇源文件所在的OSS Bucket。
源文件名稱
是
文件源為OSS Bucket時,輸入源文件的名稱。源文件名稱必須包含格式后綴。
單個文件脫敏:輸入指定源文件名稱。例如,test.csv。
批量文件脫敏:開啟通配功能(單擊右側的開啟通配開關)。系統采用相同的規則脫敏目標文件,多個文件的格式必須相同,且具有相同的列結構。
您可以使用星號(*)的方式指定一批源文件進行批量脫敏。目前僅支持對文件名前綴進行匹配,例如,test*.xls,匹配以test開頭的XLS格式文件。
源文件描述
否
文件源為本地上傳時,可輸入對OSS源文件的描述。
分隔符選擇
否
對于CSV和TXT類型的文件,必須指定列分隔符,請根據源文件的分隔符類型進行選擇。支持選擇以下類型的分隔符:
分號“;”(macOS、Linux默認)。
逗號“,”(Windows默認)。
運算符“|”。
表格包含標題行
否
根據源文件是否包含標題行進行選擇。
選擇以下方式配置脫敏算法,然后單擊下一步。
在數據列表上方選擇已配置的脫敏模板,源字段列表會按照脫敏模板配置,自動開啟對應字段的脫敏開關并設置算法選擇。
脫敏模板中規則列表內容必須與脫敏源數據的源字段匹配,否則脫敏模板不生效。脫敏模板配置,請參見配置脫敏模板和算法。
直接在源字段列表中,定位到需要脫敏的源字段,開啟脫敏開關并設置算法選擇。
單擊脫敏算法后的參數查看修改,可查看和編輯已選擇算法的規則。算法規則中分區寫法,可參考分區寫法參考表。
說明如果開啟強制啟用模板,不支持在當前頁面修改算法參數。您需要修改對應模板規則。
分區類型
分區寫法
分區示例
后N周
自定義分區字段名稱=$[yyyymmdd+7*N]
time=$[20190710+7*1],表示對2019年7月10日后一周的數據進行脫敏。
前N周
自定義分區字段名稱=$[yyyymmdd-7*N]
time=$[20190710-7*3],表示對2019年7月10日前的3周時間內的數據進行脫敏。
后N天
自定義分區字段名稱=$[yyyymmdd+N]
time=$[20190710+2],表示對2019年7月10日后的2天內的數據進行脫敏。
前N天
自定義分區字段名稱=$[yyyymmdd-N]
time=$[20190710-5],表示對2019年7月10日前的5天內的數據進行脫敏。
后N小時
自定義分區字段名稱=$[hh24mi:ss+N/24]
time=$[0924mi:ss+2/24],表示對9點以后的2小時的數據進行脫敏。
前N小時
自定義分區字段名稱=$[hh24mi:ss-N/24]
time=$[0924mi:ss-1/24],表示對9點前的1個小時內的數據進行脫敏。
后N分鐘
自定義分區字段名稱=$[hh24mi:ss+N/24/60]
time=$[0924mi:ss+2/24/60],表示對9點過后的2分鐘內的數據進行脫敏。
前N分鐘
自定義分區字段名稱=$[hh24mi:ss-N/24/60]
time=$[0924mi:ss-2/24/60],表示對9點的前2分鐘內的數據進行脫敏。
如果脫敏源配置的是RDS,支持開啟數據水印開關,配置水印字段、水印算法和水印描述信息,然后單擊下一步。
嵌入數據水印后,可以通過提取水印幫您實現泄漏數據的溯源。具體操作,請參見下文的提取水印。
例如:員工A需要導出一份訂單數據,管理員將“某年某月某日導出XX數據給員工A”設為水印信息并在導出時填加到數據里。當數據出現泄露時,管理員可以在獲取到泄露的數據后,通過提取水印,將數據中的備注信息提取出來,就可以定位到泄漏數據的是員工A。
水印使用限制詳情,請參見水印使用限制。
設置脫敏后數據要存儲的目標位置,然后單擊測試,確認寫入權限通過后,單擊下一步。
重要對于選擇的目標數據資產,DSC連接數據資產的賬號必須具備寫入權限。
確認處理邏輯。
目標位置配置項
是否必填
配置項描述
觸發方式選擇
是
觸發方式表示執行脫敏任務的方式。支持以下方式 :
僅人工:通過手動的方式啟動脫敏任務。
僅定時觸發:通過設置的時間點定時自動執行脫敏任務,可選每小時、每天、每月、每周固定時間點自動觸發任務。
人工+定時觸發:選擇該方式,支持您手動單擊啟動來執行脫敏任務,和系統根據配置的定時時間自動執行脫敏任務(支持每小時、每天、每月、每周固定時間點自動觸發任務)。
開啟增量脫敏
否
您可根據需要選擇是否開啟增量脫敏。增量脫敏是指每次脫敏數據為上次脫敏任務完成后新增的數據的脫敏方式。您需要選擇一個源數據中隨著時間遞增的字段作為增量列,例如創建時間、自增ID(數據庫自帶的自增列)等。
重要當前僅有RDS數據支持增量脫敏。
分片字段
否
DSC執行靜態脫敏時會對源數據進行字段分片,通過并發處理的方式提高脫敏效率。您可根據需要選擇分片字段,支持選擇多個分片字段。
當前僅有RDS數據庫支持增量脫敏,建議使用主鍵或者唯一索引作為分片字段。
分片字段選擇框內如果未選取任何字段,DSC將會默認使用主鍵作為分片字段,對源數據進行脫敏處理。
重要如果您的源數據中沒有主鍵,您必須選擇分片字段,否則會導致脫敏任務失敗。
過多的分片字段會影響查詢性能以及數據準確性,請謹慎選擇。
表名沖突解決方式
是
表名稱存在沖突的情況下處理的方式。可選項:
刪除目標表建立新同名表。
在目標表中增加新數據。建議選擇該選項。
行沖突解決方式
是
表中的行內容存在沖突時的處理方式。可選項:
保留目標表沖突行,丟棄新插入數據。建議選擇該選項。
刪除目標表中的沖突行,新增插入數據。
單擊提交。
執行和查看脫敏任務
如果脫敏任務觸發方式是僅人工,必須手動啟動脫敏任務。如果脫敏任務觸發方式是僅定時觸發,僅支持通過設置的時間點定時自動啟動脫敏任務。如果脫敏任務觸發方式是人工+定時觸發,支持手動和自動啟動脫敏任務。
在靜態脫敏頁簽的任務配置頁簽,單擊新創建的脫敏任務操作列的啟動,執行脫敏任務。
在靜態脫敏頁簽,單擊任務狀態子頁簽,查看脫敏任務的執行進度和狀態。
脫敏任務執行失敗排查
脫敏任務執行失敗后,參考以下內容查看失敗原因。
執行失敗錯誤提示 | 錯誤原因 |
找不到脫敏任務,有可能是因為任務已經被刪除或者關閉 | 脫敏任務可能被刪除或被關閉(脫敏任務操作列下的開關為關閉狀態)。 |
定時任務的調度周期設置有誤 | 每日具體任務執行時間輸入有誤。 |
找不到脫敏源實例 | 脫敏源表所屬實例不存在。 |
找不到脫敏目標實例 | 可能的原因有實例授權取消或目標實例刪除等。 |
找不到脫敏源表 | 可能的原因有實例授權取消、源表刪除等。 |
脫敏算法參數設置有誤 | 算法參數填寫錯誤。 |
源表列為空 | 源分區字段的列沒有數據。 |
寫入目標表失敗 | 目標位置配置時寫入目標表失敗。 |
從源表查詢失敗 | 源表中未查詢到該數據。 |
創建目標表失敗 | 目標位置中可能不存在該表格。 |
找不到主鍵 | RDS源表缺少主鍵。 |
任務配置的MaxCompute分區字段有誤 | 創建脫敏任務時,在脫敏源配置項中填寫的源分區或者目標位置配置項填寫的目標分區有誤。 |
修改、刪除脫敏任務
等待執行或執行中的脫敏任務不支持修改或刪除。
修改脫敏任務
需要調整脫敏任務的配置時,您可以單擊目標脫敏任務操作列的修改,修改脫敏任務。
刪除脫敏任務
重要脫敏任務刪除后不支持恢復,建議您謹慎操作。
不再需要指定脫敏任務時,您可以單擊目標脫敏任務操作列的刪除,并在提示對話框中單擊確定。
提取水印
如果對脫敏的數據添加水印,當信息泄露時,您可以從泄露的脫敏數據中提取水印標識。通過讀取水印標識,可以追溯數據流轉過程,精準定位泄露單位及責任人,實現數據溯源追責。對分發的數據添加水印,不會影響分發數據的正常使用。
僅支持從RDS中提取水印。
水印功能具有以下特點:
安全性:數據水印不會因為數據改動而導致水印信息丟失,保障數據水印被準確鑒別。
透明性:在原始數據中嵌入水印標記信息且不易被察覺,不影響原數據使用。
可檢測性:可以從數據片段中提取水印信息,進行數據溯源,溯源成功率高。
魯棒性:受到惡意攻擊后,仍然可以完整地提取水印信息。
低錯誤率:精確設計的水印提取規則,可以最大限度地降低數據溯源的錯誤概率。
提取水印的具體步驟:
在靜態脫敏頁簽,單擊水印提取子頁簽。
在水印提取子頁簽,填寫數據源信息。
配置項
配置描述
源產品
選擇包含脫敏數據的文件來源的產品名稱,當前僅能選擇RDS。
源數據庫/項目名
必填項。選擇包含水印信息的表所在的項目名稱。
源表名
必填項。選擇水印信息所在的數據表名稱。
單擊提取水印。
在提取水印按鈕下方的文本框中,可以查看提取出的水印信息。
單擊復制結果,可以復制已提取的水印信息。
動態脫敏
您可以通過調用ExecDatamask接口使用動態脫敏功能。調用該接口時需要提供脫敏模板ID。您可以在數據安全中心控制臺的數據脫敏頁面的脫敏配置頁簽,獲取脫敏模板ID,也可以新建脫敏模板。具體操作,請參見配置脫敏模板。
使用限制
您調用ExecDatamask接口對指定數據進行動態脫敏時,請求參數Data必須小于2 MB。
查看動態脫敏接口調用記錄
登錄數據安全中心控制臺。
在左側導航欄,單擊數據脫敏。
在數據脫敏頁面,單擊動態脫敏頁簽。
在動態脫敏頁面,查看ExecDatamask接口的調用記錄。
說明如果您在調用接口時使用了相同的賬號和IP地址,即使多次調用接口,操作記錄只會保留一條,并記錄累計調用次數。