通过API接口对数据进行脱敏

通过API接口可以对小规模的文本数据直接进行脱敏处理,用户可以使用该功能快速完成数据脱敏任务,如临时的一次性脱敏处理、零散数据地脱敏处理等。

对于较小规模数据(小于10000字符,含配置和格式字符)的处理,可以直接通过动态脱敏页面完成,操作步骤如下:

  1. 在顶部导航栏中选择[数据运营/数据安全],进入数据安全。

  1. 单击左侧导航树中的[数据脱敏/动态脱敏]菜单项,进入动态脱敏任务页面。

  1. 在页面左侧的Body区域中,按照示例输入脱敏配置和需要脱敏的数据。该区域中最多支持输入10000个字符,需要符合Json格式(系统会自动检查是否符合要求)。各参数的基本说明可参见页面右侧的“参数说明”页签,其中:

  1. 配置完成后,单击<调试>按钮,系统会对输入的数据按照配置的脱敏策略直接进行处理。

  1. 处理完成后,右侧会切换为“调试结果”页签,展示脱敏处理的操作结果和用时,并在“查看结果”区域提供了脱敏后的数据结果。

此外,如果需要通过本地远程调用该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中指定如下参数:

  • len1:指定第一段字符的长度

  • cover1:配置是否掩盖,取值包括TRUEFALSE,默认值为TRUE

  • len2:指定第二段字符的长度

  • cover2:配置是否掩盖,取值包括TRUEFALSE,默认值为TRUE

  • len3:指定第三段字符的长度

  • cover3:配置是否掩盖,取值包括TRUEFALSE,默认值为TRUE

  • default_policy:配置默认处理策略,取值包括TRUEFALSE,默认值为TRUE。当各分段配置无法覆盖全部数据时,未被覆盖的数据按默认处理策略处理

Special-symbol

掩盖方式脱敏数据,将原数据根据特殊字符分割后,掩盖其中一部分

使用特殊字符分割掩盖方法,对数据按特定特殊字符之前或之后的数据进行掩盖处理,需要在parameters中指定如下参数:

  • split_symbol:指定数据中的特殊字符作为分隔符

  • cover_side:配置掩盖的方向,取值包括leftright,即掩盖分隔符左侧或右侧的数据

Base64

加密方式脱敏数据,以加密计算的结果取代数据;还支持对使用该方式加密的数据进行解密还原

使用Base64算法对数据进行加密或解密计算,需要在parameters中指定如下参数:

mode:指定工作模式,取值包括encryptdecrypt,分别表示加密和解密,默认值为encrypt

DES/AES128/AES192/AES256/SM4

加密方式脱敏数据,以加密计算的结果替换数据;还支持对使用此类方式加密的数据进行解密还原

使用DES/AES128/AES192/AES256/SM4算法对数据进行加密或解密处理,需要在parameters中指定如下参数:

  • mode:指定工作模式,取值包括encryptdecrypt,分别表示加密和解密,默认值为encrypt

  • secret_key_type:指定密钥的编码方式,取值包括:

  • PLAIN_TEXT:普通明文字符串

  • BASE64_STRBase64编码的二进制数据

  • HEX_STR:十六进制编码的数据

  • secret_key:指定加密/解密计算中使用的密钥

DESede

加密方式脱敏数据,以加密计算的结果取代数据;还支持对使用该方式加密的数据进行解密还原

使用DESede算法对数据进行加密或解密计算,需要在parameters中指定如下参数:

  • mode:指定工作模式,取值包括encryptdecrypt,分别表示加密和解密,默认值为encrypt

  • secret_key_type:指定密钥的编码方式,取值包括:

  • PLAIN_TEXT:普通明文字符串

  • BASE64_STRBase64编码的二进制数据

  • HEX_STR:十六进制编码的数据

  • secret_key:指定加密/解密计算中使用的第一个密钥

  • secret_key_2:指定加密/解密计算中使用的第二个密钥

  • secret_key_3:指定加密/解密计算中使用的第三个密钥

Truncate-number

转换方式脱敏数据,对数据进行转换处理

通过数字取整对数据进行处理,需要在parameters中指定如下参数:

precision:配置精度,即小数点前N位进行置零

Truncate-date

转换方式脱敏数据,对数据进行转换处理

通过日期取整对日期类数据进行处理,需要在parameters中指定如下参数:

precision:配置精度,即日期的截断位置,处理结果中该位置之后的值会删除。取值包括:YEARMONTHDAYHOURMINUTE

Displacement

转换方式脱敏数据,对数据进行转换处理

按指定方向和位移量对数据中的字符进行位移,需要在parameters中指定如下参数:

  • precision:配置位移量,即数据中字符向指定方向移动的位数

  • direction:指定位移方向,取值包括leftright,分别表示向左移动或向右移动

replace_part

替换方式脱敏数据,对数据内容进行替换处理

对数据进行分段,各分段按配置的替换方式和码表对对应分段数据进行替换,需要在parameters中指定如下参数:

  • configs:分段配置列表,其后的{}内指定各分段的具体配置,支持配置多段,但各分段的起始和结束范围不能重叠

  • beginIndex:分段起始位置

  • endIndex:分段结束位置

  • replaceMode:替换的方式,取值包括MAP_REPLACERANDOM_REPLACERANDOM_DATERANDOM_NUMBER,分别表示映射替换、随机替换、随机日期、随机数字

  • codeTableName:替换分段数据使用的码表

  • DIVISION_CODE:行政区划码

  • BANK_CARD_BIN:银行卡BIN

  • TEL_PHONE_AREA_CODE:固定电话-区号

  • MOBILE_PHONE_NIN:手机号-网号

  • UPPER_LETTER:大写字母

  • LOWER_LETTER:小写字母

  • NUMBER:数字

  • SPECIAL_CHAR:特殊字符

  • codeTableContent:可选,码表数据,当codeTableName提供的内置码表不满足需求时,可通过本参数自定义码表值。仅replaceMode等于“MAP_REPLACE”或“RANDOM_REPLACE”时,才可配置本参数。如配置了本参数,将使用本参数中自定义码表值对原始数据进行替换,会忽略参数codeTableName指定的码表

  • beginValue:当replaceMode等于“RANDOM_DATE”时,输入起始时间字符串;当replaceMode等于“RANDOM_NUMBER”时,输入起始数字

  • endValue:当replaceMode等于“RANDOM_DATE”时,输入结束时间字符串;当replaceMode等于“RANDOM_NUMBER”时,输入结束数字

示例如下:

{

    "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:指定替换方式,取值包括MAP_REPLACERANDOM_REPLACE,分别表示映射替换、随机替换

  • code_tables:指定应用的码表,可指定多个,取值包括UPPER_LETTERLOWER_LETTERNUMBERSPECIAL_CHAR,分别表示大写字母、小写字母、数字、特殊字符

示例如下:

{

    "mode": "random_replace",

    "code_tables": "UPPER_LETTER,LOWER_LETTER"

}

replace_fake_name

替换方式脱敏数据,对数据内容进行替换处理

按照指定的假名类型,从码表中随机抽取值,替换原始数据,需要在parameters中指定如下参数:

type:指定假名类型,取值包括CHINESE_NAMECHINESE_ADDRESSID_CARD,分别表示中文名、中文地址、身份证号

shuffle

洗牌方式脱敏数据,对数据进行重排序,需要在parameters中指定如下参数:

mode:指定工作模式,取值包括RESORTRANDOM_CHOOSE,分别表示打散重排和随机选择