通过API接口可以对小规模的文本数据直接进行脱敏处理,用户可以使用该功能快速完成数据脱敏任务,如临时的一次性脱敏处理、零散数据地脱敏处理等。
对于较小规模数据(小于10000字符,含配置和格式字符)的处理,可以直接通过动态脱敏页面完成,操作步骤如下:
在顶部导航栏中选择[数据运营/数据安全],进入数据安全。
单击左侧导航树中的[数据脱敏/动态脱敏]菜单项,进入动态脱敏任务页面。
在页面左侧的Body区域中,按照示例输入脱敏配置和需要脱敏的数据。该区域中最多支持输入10000个字符,需要符合Json格式(系统会自动检查是否符合要求)。各参数的基本说明可参见页面右侧的“参数说明”页签,其中:
dataHeader中记录了数据的列头(字段)。
Strategies中针对数据列配置脱敏处理算法。
dataList/dataMap:待脱敏的数据内容放在dataList或dataMap中。对于形如List<Array>的数据,放在dataList,此时dataHeader不能为空;对于形如List<Map>的数据,放在dataMap。
配置完成后,单击<调试>按钮,系统会对输入的数据按照配置的脱敏策略直接进行处理。
处理完成后,右侧会切换为“调试结果”页签,展示脱敏处理的操作结果和用时,并在“查看结果”区域提供了脱敏后的数据结果。
此外,如果需要通过本地远程调用该API接口执行,动态脱敏页面还提供了代码生成功能。在动态脱敏页面右侧切换至“代码生成”页签,系统会基于左侧Body区域中的配置和数据,直接生成对应的代码,将代码拷贝至本地执行即可。
表-1 Json参考示例
|
列头前置(dataList)数据脱敏示例 |
列头内置(dataMap)数据脱敏示例 |
|
{ "dataHeader": [ "id", "name", "age" ], "strategies": [ { "columnName": "id", "algorithm": "MD5", "parameters": { "salt":"123ozf" } }, { "columnName": "name", "algorithm": "SHA-256", "parameters": { "salt":"A34123ozf" } }, { "columnName": "age", "algorithm": "SHA-256", "parameters": { "salt":"G79123erh" } } ], "dataList": [ [ 1, "zhaoyi", 21 ], [ 2, "qianer", 25 ] ], "dataMap": [] } |
{ "dataHeader": [], "strategies": [ { "columnName": "name", "algorithm": "Special-symbol", "parameters": { "split_symbol": "_", "cover_side": "dsad" } }, { "columnName": "age", "algorithm": "replace_fake_name", "parameters": { "type": "CHINESE_ADDRESS" } } ], "dataList": [], "dataMap": [ { "id": 1, "name1": "a_sdsa1", "age": 12 }, { "id": 2, "name": "a_sdsa2", "age": 13 }, { "id": 3, "name": "a_sdsa3", "age": 14 } ] } |
表-2 可选脱敏算法(algorithm)与参数(parameters)说明
|
算法 |
对应参数说明 |
|
MD5/SHA-1/SHA-256/HMAC-SHA1/SM3 |
哈希方式脱敏数据,以计算结果替代原数据 使用MD5/SHA-1/SHA-256/HMAC-SHA1/SM3算法对数据进行哈希计算,需要在parameters中指定如下参数: salt:指定哈希计算中使用的盐值 |
|
Three-parts |
掩盖方式脱敏数据,掩盖数据中的指定位 使用分段掩盖方法,对数据按指定分段进行掩盖处理,需要在parameters中指定如下参数:
|
|
Special-symbol |
掩盖方式脱敏数据,将原数据根据特殊字符分割后,掩盖其中一部分 使用特殊字符分割掩盖方法,对数据按特定特殊字符之前或之后的数据进行掩盖处理,需要在parameters中指定如下参数:
|
|
Base64 |
加密方式脱敏数据,以加密计算的结果取代数据;还支持对使用该方式加密的数据进行解密还原 使用Base64算法对数据进行加密或解密计算,需要在parameters中指定如下参数: mode:指定工作模式,取值包括encrypt、decrypt,分别表示加密和解密,默认值为encrypt |
|
DES/AES128/AES192/AES256/SM4 |
加密方式脱敏数据,以加密计算的结果替换数据;还支持对使用此类方式加密的数据进行解密还原 使用DES/AES128/AES192/AES256/SM4算法对数据进行加密或解密处理,需要在parameters中指定如下参数:
|
|
DESede |
加密方式脱敏数据,以加密计算的结果取代数据;还支持对使用该方式加密的数据进行解密还原 使用DESede算法对数据进行加密或解密计算,需要在parameters中指定如下参数:
|
|
Truncate-number |
转换方式脱敏数据,对数据进行转换处理 通过数字取整对数据进行处理,需要在parameters中指定如下参数: precision:配置精度,即小数点前N位进行置零 |
|
Truncate-date |
转换方式脱敏数据,对数据进行转换处理 通过日期取整对日期类数据进行处理,需要在parameters中指定如下参数: precision:配置精度,即日期的截断位置,处理结果中该位置之后的值会删除。取值包括:YEAR、MONTH、DAY、HOUR、MINUTE |
|
Displacement |
转换方式脱敏数据,对数据进行转换处理 按指定方向和位移量对数据中的字符进行位移,需要在parameters中指定如下参数:
|
|
replace_part |
替换方式脱敏数据,对数据内容进行替换处理 对数据进行分段,各分段按配置的替换方式和码表对对应分段数据进行替换,需要在parameters中指定如下参数:
示例如下: { "configs": [ { "beginIndex": 1 "endIndex": 4, "codeTableName": "DIVISION_CODE", "replaceMode": "RANDOM_REPLACE", }, { "beginIndex": 6, "endIndex": 8, "replaceMode": "RANDOM_DATE", "beginValue": "2000/1/1" "endValue": "2023/1/1", }, { "beginIndex": 9, "endIndex": 10, "replaceMode": "RANDOM_NUMBER", "beginValue": "10" "endValue": "99", }, { "beginIndex": 11 "endIndex": 12, "codeTableName": "BANK_CARD_BIN", "replaceMode": "MAP_REPLACE", } ] } |
|
replace_each_word |
替换方式脱敏数据,对数据内容进行替换处理 按照指定的码表和替换方式,从码表中抽取值,逐位替换数据中与选定码表同类的字符,需要在parameters中指定如下参数:
示例如下: { "mode": "random_replace", "code_tables": "UPPER_LETTER,LOWER_LETTER" } |
|
replace_fake_name |
替换方式脱敏数据,对数据内容进行替换处理 按照指定的假名类型,从码表中随机抽取值,替换原始数据,需要在parameters中指定如下参数: type:指定假名类型,取值包括CHINESE_NAME、CHINESE_ADDRESS、ID_CARD,分别表示中文名、中文地址、身份证号 |
|
shuffle |
洗牌方式脱敏数据,对数据进行重排序,需要在parameters中指定如下参数: mode:指定工作模式,取值包括RESORT、RANDOM_CHOOSE,分别表示打散重排和随机选择 |