本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
數據安全中心DSC(Data Security Center)支持靜態脫敏和動態脫敏。靜態脫敏通過創建脫敏任務,指定目標數據資產,并依據脫敏規則匹配目標敏感字段,采用脫敏算法(如遮蓋、加密或替換等)對指定字段進行處理,最終將脫敏后的數據保存至用戶選擇的目標位置。而動態脫敏則是通過調用ExecDatamask接口,依照脫敏規則對JSON格式數據中指定字段進行數據脫敏處理。
選擇脫敏方式
脫敏方式 | 支持脫敏的數據源 | 應用場景 | 操作方式 |
靜態脫敏 |
| 需要將目標數據源與其他用戶共享,但不能泄露某些敏感字段數據的業務場景。 使用靜態脫敏方式,脫敏指定數據表或文件后,可將脫敏后數據另存到其他數據表或文件中,實現數據共享,且不會影響原始的數據。 | 在DSC控制臺,通過新增脫敏任務,設置脫敏數據、脫敏規則、脫敏后數據保存的目的地、執行任務周期等。 |
動態脫敏 | 自行構造符合以下JSON格式的數據,其中dataHeaderList定義數據的列名,dataList定義脫敏的數據,dataHeaderList中列名順序和dataList中數據順序必須一一對應。ruleList用于匹配脫敏規則,詳細說明,請參見ExecDatamask - 對數據進行動態脫敏。
| 脫敏方式更加靈活,可由您自行構造待脫敏的數據源。 | 通過OpenAPI在線調試、阿里云SDK或自定義封裝API的調用方式,調用接口ExecDatamask - 對數據進行動態脫敏進行開發與部署。 具體內容,請參見集成概覽。 |
脫敏結果示例
DSC提供的脫敏算法包含哈希脫敏、遮蓋脫敏、替換脫敏、變換脫敏、加密脫敏和洗牌脫敏。不同脫敏算法脫敏后示例如下。
哈希脫敏
適用類型和典型場景 | 算法描述 | 算法配置示例 | 脫敏前數據示例 | 脫敏結果示例 |
不可逆算法。 支持常見的哈希算法,并支持偏移量(加鹽值)配置。 適用于密碼或需要通過對比進行敏感數據確認的場景。
| MD5 | 加鹽值為 | 123456 | d6f82c64df3dc34921d79e5f22e5d43a |
SHA-1 | 59056c7c6faa5eeb7151d30a01c17b25f35b021c | |||
SHA-256 | 84ca63076a5966e9b726490c8b6a5c9c6d6bdc018bb0a05df754c0c2770aca72 | |||
HMAC | ed029027322fedb0ac40b7759ac1521f0121cb018cf0f6f078e61764d810e00f |
遮蓋脫敏
適用類型和典型場景 | 算法描述 | 算法配置示例 | 脫敏前數據示例 | 脫敏結果示例 |
不可逆算法。 通過使用特殊字符星號(*)或者井號(#),對部分文字進行遮蓋實現敏感數據的脫敏。 適用于前端展示或敏感數據分享的場景。
| 保留前n后m | 遮蓋字符為 | 123456 | 1****6 |
保留自x至y | 遮蓋字符為 | **34** | ||
遮蓋前n后m | 遮蓋字符為 | **34** | ||
遮蓋自x至y | 遮蓋字符為 | 1****6 | ||
特殊字符( | & | 1@34&6 | ****&6 | |
特殊字符(( | @ | 1@**** |
替換脫敏
待脫敏數據會根據算法描述對應算法配置的隨機碼表完成數據脫敏,每次脫敏結果都不同。例如,手機號隨機替換,脫敏“13900001234”的結果可能為“13271561461”、“18355370496”、“18856540773”等。
適用類型和典型場景 | 算法描述 | 算法配置 |
部分可逆算法。 使用替換碼表進行映射替換(可逆),或使用隨機區間進行隨機替換(不可逆),實現字段整體或者部分內容的脫敏。 系統預置多套碼表可供選擇,并支持用戶自定義替換算法。 適用于證件號等構成規則固定的字段脫敏。
| 身份證映射替換 | 行政區劃隨機碼表 |
身份證隨機替換 | 行政區劃隨機碼表 | |
軍官證隨機替換 | 行政區劃隨機碼表 | |
護照隨機替換 | 用途字段隨機碼 | |
港澳通行證隨機替換 | 用途字段隨機碼 | |
銀行卡隨機替換 | Bin碼隨機碼表 | |
座機號碼隨機替換 | 行政區劃隨機碼表 | |
手機號隨機替換 | 網號 | |
統一信用碼隨機替換 | 登記部門隨機碼表、類別碼隨機碼表、行政區劃隨機碼表 | |
通用保格映射替換 | 大寫字母映射碼 、小寫字母映射碼、數字映射碼、特殊映射碼 | |
通用保格隨機替換 | 大寫字母隨機碼 、小寫字母隨機碼、數字隨機碼 、特殊隨機碼 |
變換脫敏
適用類型和典型場景 | 算法描述 | 算法配置示例 | 脫敏前數據示例 | 脫敏結果示例 |
部分可逆算法。 提供對數字或日期等進行取整操作(不可逆)和對文字進行位移操作(可逆)兩類變換脫敏算法。 適用于對敏感數據集進行分析和統計類場景。
| 數字取整: 保留小數點前第N位。N的取值范圍:1~19。 | N=4 | 12345.6789 | 12000 |
日期取整:日期取整保留到年、月、日、小時或分鐘。 | 小時 | 2023-04-15 14:30:45 | 2023-04-15 14:00:00 | |
字符位移:整體循環位移Bit數、向左或向右。 | 向左位移3 Bit數 | test | ttes |
加密脫敏
適用類型和典型場景 | 算法描述 | 算法配置示例 | 脫敏前數據示例 | 脫敏結果示例 |
可逆算法。 支持常見的對稱加密算法。 適用于對需要回源的字段進行加密的場景。
| DES算法 | 加密密鑰: | 123456 | c2TwheTI+rw= |
3DES算法 | 加密密鑰: | XUwzslGadsk= | ||
AES算法 | 加密密鑰: | YueDcm92UuqvKpVbeS+0Ng== |
洗牌脫敏
適用類型和典型場景 | 算法描述 | 算法配置 |
不可逆算法。 在源數據表抽取數據并確認數值范圍后,對該字段(在范圍內)進行列級別的打散重排和隨機選擇,實現混淆脫敏。 適用于結構化數據列級別的數據脫敏場景。
| 隨機洗牌 |
|
例如對一組設備所屬的城市信息打散重排:
脫敏前的數據 | 脫敏后的數據 | ||
設備ID | 城市 | 設備ID | 城市 |
D001 | 上海 | D001 | 西安 |
D002 | 杭州 | D002 | 上海 |
D003 | 西安 | D003 | 成都 |
D004 | 成都 | D004 | 杭州 |
計費說明
目前,僅企業版DSC實例支持使用數據脫敏功能。購買企業版實例后,即可使用數據脫敏功能。DSC采用包年包月模式計費,詳細說明,請參見計費概述。使用靜態脫敏時可能會包含額外計費。
脫敏方式 | 數據源 | DSC側計費 | 額外計費 |
靜態脫敏 |
| 待脫敏數據資產需要授權接入DSC,會抵扣購買的數據庫防護實例數和存儲防護容量。 | 如果您需要脫敏的云產品使用的是按量付費的方式,對應云產品會按照訪問或寫入數據量收取相應的費用。 |
本地計算機保存的結構化TXT、CSV、XLSX和XLS格式文件。 | 目前不抵扣實例的資源。 | 不額外收費。 | |
動態脫敏 | 自行構造的數據。 | 目前不抵扣實例的資源。 | 不額外收費。 |
開通服務
如果您當前賬號未開通過DSC服務或僅開通免費版服務,您可以先開通7天免費試用的企業版實例或直接購買企業版DSC實例。具體內容,請參見開通7天免費試用和購買數據安全中心。
如果您已開通DSC免費版服務但不是企業版實例,您需要升級版本才能使用數據脫敏功能。升級操作,請參見包年包月實例變配。
如果使用靜態脫敏,相關數據資產需要先授權接入DSC,您需要確保已購買足夠可用的數據庫防護實例數和OSS防護量。
靜態脫敏
功能說明
創建靜態脫敏任務時,可以選擇已配置的脫敏模板作為任務的脫敏規則,也可以直接設置目標敏感字段的脫敏算法作為任務的脫敏規則。脫敏模板配置,請參見配置脫敏模板和算法。
前提條件
如果使用靜態脫敏方式脫敏數據庫或OSS文件,需要已完成DSC授權和接入待脫敏數據資產。具體操作,請參見:
如果需要將脫敏后數據存儲到RDS表、PolarDB-X表、MaxCompute表、PolarDB表、OceanBase表、ADB-MySQL表、自建數據庫表或OSS Bucket中,DSC必須授權接入目標數據資產,且使用具有讀寫權限的賬號連接目標數據資產。對于RDS、PolarDB-X、PolarDB、OceanBase或ADB-MySQL數據庫,需要選擇賬密連接方式接入DSC。
新增脫敏任務
如果您在生產環境中直接對數據進行脫敏,數據庫的性能可能會有所下降。
通過新增脫敏任務,指定數據脫敏的范圍和規則。
登錄數據安全中心控制臺。
在左側導航欄,選擇
。在靜態脫敏頁簽的任務配置頁簽,單擊新增脫敏任務。
根據頁面導航,完成數據脫敏任務配置。
填寫任務基本信息,并單擊下一步。
說明任務名稱輸入不受限制。
配置脫敏數據的來源文件信息,并單擊下一步。
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分鐘內的數據進行脫敏。
設置脫敏后數據要存儲的目標位置,然后單擊測試,確認寫入權限通過后,單擊下一步。
重要對于選擇的目標數據資產,DSC連接數據資產的賬號必須具備寫入權限。
確認處理邏輯。
目標位置配置項
是否必填
配置項描述
觸發方式選擇
是
觸發方式表示執行脫敏任務的方式。支持以下方式 :
僅人工:通過手動的方式啟動脫敏任務。
僅定時觸發:通過設置的時間點定時自動執行脫敏任務,可選每小時、每天、每月、每周固定時間點自動觸發任務。
人工+定時觸發:選擇該方式,支持您手動單擊啟動來執行脫敏任務,和系統根據配置的定時時間自動執行脫敏任務(支持每小時、每天、每月、每周固定時間點自動觸發任務)。
開啟增量脫敏
否
您可根據需要選擇是否開啟增量脫敏。增量脫敏是指每次脫敏數據為上次脫敏任務完成后新增的數據的脫敏方式。您需要選擇一個源數據中隨著時間遞增的字段作為增量列,例如創建時間、自增ID(數據庫自帶的自增列)等。
重要當前僅有RDS數據支持增量脫敏。
分片字段
否
DSC執行靜態脫敏時會對源數據進行字段分片,通過并發處理的方式提高脫敏效率。您可根據需要選擇分片字段,支持選擇多個分片字段。
當前僅有RDS數據庫支持增量脫敏,建議使用主鍵或者唯一索引作為分片字段。
分片字段選擇框內如果未選取任何字段,DSC將會默認使用主鍵作為分片字段,對源數據進行脫敏處理。
重要如果您的源數據中沒有主鍵,您必須選擇分片字段,否則會導致脫敏任務失敗。
過多的分片字段會影響查詢性能以及數據準確性,請謹慎選擇。
表名沖突解決方式
是
表名稱存在沖突的情況下處理的方式。可選項:
刪除目標表建立新同名表。
在目標表中增加新數據。建議選擇該選項。
行沖突解決方式
是
表中的行內容存在沖突時的處理方式。可選項:
保留目標表沖突行,丟棄新插入數據。建議選擇該選項。
刪除目標表中的沖突行,新增插入數據。
單擊提交。
執行和查看脫敏任務
如果脫敏任務觸發方式是僅人工,必須手動啟動脫敏任務。如果脫敏任務觸發方式是僅定時觸發,僅支持通過設置的時間點定時自動啟動脫敏任務。如果脫敏任務觸發方式是人工+定時觸發,支持手動和自動啟動脫敏任務。
在靜態脫敏頁簽的任務配置頁簽,單擊新創建的脫敏任務操作列的啟動,執行脫敏任務。
在靜態脫敏頁簽,單擊任務狀態子頁簽,查看脫敏任務的執行進度和狀態。
脫敏任務執行失敗排查
脫敏任務執行失敗后,參考以下內容查看失敗原因。
執行失敗錯誤提示 | 錯誤原因 |
找不到脫敏任務,有可能是因為任務已經被刪除或者關閉 | 脫敏任務可能被刪除或被關閉(脫敏任務操作列下的開關為關閉狀態)。 |
定時任務的調度周期設置有誤 | 每日具體任務執行時間輸入有誤。 |
找不到脫敏源實例 | 脫敏源表所屬實例不存在。 |
找不到脫敏目標實例 | 可能的原因有實例授權取消或目標實例刪除等。 |
找不到脫敏源表 | 可能的原因有實例授權取消、源表刪除等。 |
脫敏算法參數設置有誤 | 算法參數填寫錯誤。 |
源表列為空 | 源分區字段的列沒有數據。 |
寫入目標表失敗 | 目標位置配置時寫入目標表失敗。 |
從源表查詢失敗 | 源表中未查詢到該數據。 |
創建目標表失敗 | 目標位置中可能不存在該表格。 |
找不到主鍵 | RDS源表缺少主鍵。 |
任務配置的MaxCompute分區字段有誤 | 創建脫敏任務時,在脫敏源配置項中填寫的源分區或者目標位置配置項填寫的目標分區有誤。 |
修改、刪除脫敏任務
等待執行或執行中的脫敏任務不支持修改或刪除。
修改脫敏任務
需要調整脫敏任務的配置時,您可以單擊目標脫敏任務操作列的修改,修改脫敏任務。
刪除脫敏任務
重要脫敏任務刪除后不支持恢復,建議您謹慎操作。
不再需要指定脫敏任務時,您可以單擊目標脫敏任務操作列的刪除,并在提示對話框中單擊確定。
動態脫敏
功能說明
動態脫敏任務必須依賴已配置的脫敏模板作為脫敏規則,對指定數據進行脫敏。您可以調用ExecDatamask接口,傳入待脫敏數據(Data)和脫敏模板ID(TemplateId),然后按照脫敏模板的匹配方式(字段名稱、敏感類型),對Data中dataList的數據進行脫敏。
您可以在數據安全中心控制臺的配置脫敏模板。
頁面的脫敏配置頁簽,獲取脫敏模板ID。支持使用自定義脫敏模板,具體操作,請參見調用ExecDatamask接口實現數據脫敏的脫敏模板中脫敏方式說明:
匹配方式 | 脫敏說明 |
字段名稱 | 根據dataHeaderList中列名,匹配脫敏模板中規則列表的字段名稱及對應算法,對dataList中對應列的數據進行脫敏。 |
敏感類型 | 根據ruleList中敏感類型的規則ID,匹配脫敏模板中規則列表下規則的標識ID,按照規則中字段名稱及對應算法,對dataList中對應列的數據進行脫敏。 敏感類型的規則列表中字段可選范圍為數據洞察中識別特征頁面中的數據特征,包含內置和自定義的識別特征。該特征名稱也作為規則列表中規則名稱,您可以調用DescribeRules接口,傳入CustomType(規則類型,即數據特征的來源:內置或自定義)、Name(規則名稱,即數據特征的名稱),查詢到該規則的標識ID(Id)。 |
脫敏示例圖:
使用限制
您調用ExecDatamask接口對指定數據進行動態脫敏時,每次脫敏的數據(Data)必須小于2 MB。
查看動態脫敏接口調用記錄
登錄數據安全中心控制臺。
在左側導航欄,選擇
。在數據脫敏頁面,單擊動態脫敏頁簽。
在動態脫敏頁面,查看ExecDatamask接口的調用記錄。
說明如果您在調用接口時使用了相同的賬號和IP地址,即使多次調用接口,操作記錄只會保留一條,并記錄累計調用次數。
使用靜態脫敏實現數據共享示例
使用靜態脫敏對某賬號下源OSS Bucket中的結構化CSV格式文件中的敏感數據進行脫敏,然后將脫敏后的文件保存到同賬號下的目標OSS Bucket,分享目標OSS Bucket給指定用戶,實現數據的安全共享。具體操作,請參見對OSS表格文件中的敏感數據進行脫敏。