隐私信息打码

更新时间:
复制为 MD 格式

隐私信息打码算子基于正则表达式,针对个人隐私信息进行识别和替换,例如将邮箱地址字符替换成[EMAIL],手机/电话号码替换成[TELEPHONE],身份证号码替换成[IDNUM]等。本文介绍隐私信息打码算子的配置方法。

前提条件

  • 需联系Dataphin团队开通非结构化数据功能后,才能使用工作流功能。

  • 已完成工作流的创建,详细创建步骤请参见创建工作流

权限说明

Basic项目的项目管理员、开发者、分析师以及拥有数据集-使用权限的自定义项目角色,可在算子的输入和输出数据集中使用该项目下的所有数据集。

操作步骤

  1. Dataphin首页的顶部菜单栏中,选择研发 > 数据研发

  2. 开发页面的顶部菜单栏选择项目

  3. 在左侧导航栏中选择数据处理 > 工作流,在左侧工作流列表中单击目标工作流,打开工作流画布,在左侧算子库中拖动隐私信息打码算子至画布中,并在右侧隐私信息打码面板中配置以下参数。

    参数

    描述

    步骤名称

    输入当前算子名称,支持任意字符,不超过256个字符。

    输入配置

    数据集

    选择需处理的数据集,可选择混合数据集表数据集。数据集选择完成后还需选择其版本,默认为该数据集正序的第一个版本。

    当前算子作为其他算子的下游时,此处所选数据集通常与上游算子的输出数据集一致。

    输入字段

    待处理文档URL或文本,需选择输入数据集中来源字段,可选择输入数据集中元数据表的所有字段。系统根据字段类型自动识别处理对象,若为URL类型,则抓取并解析指向的文档(支持.txt/.md/.csv/.json/.xml/.html格式的文件);若为URL类型,则直接将该字段内容作为纯文本处理。

    过滤条件(非必填)

    使用SQL语法,仅需输入where语句后的过滤条件,支持使用系统全局变量,例如业务日期${bizdate}。

    算子配置

    脱敏内容选择

    待处理文本中需要脱敏的内容,系统识别脱敏内容的正则详情请参见附录:脱敏内容的识别正则及脱敏后内容

    输出配置

    数据集

    支持选择来源数据集其他数据集。若来源数据集的元数据表不存在主键,则输出数据集默认选择其他数据集。

    当选择其他数据集时,若输入字段所选的是URL类型字段(处理后会生成文件),输出数据集仅支持选择混合数据集;若输入字段所选的不是URL类型字段,输出数据集支持选择混合数据集表数据集

    数据集选择完成后还需选择其版本,默认为该数据集正序的第一个版本。选择来源数据集时,算子产出的元数据将写入来源数据集同版本对应的元数据表中。

    文件输出路径

    输入文件输出的路径,仅当输入字段为URL类型时支持配置。

    加载策略

    若所选输出数据集的元数据表中存在主键,则默认选择主键冲突时更新;若不存在主键,则默认选择追加数据。

    • 追加数据:直接向目标表新增追加数据,当主键/约束冲突时,会提示错误。

    • 主键冲突时更新:当主键/约束冲突时,会先删除整行主键重复的旧数据,再插入新数据。

    • 覆盖:先删除目标表的数据,再写入数据。

    说明

    输出数据集选择来源数据集时,加载策略仅支持主键冲突时更新

    字段映射

    隐私信息打码算子的输入字段为URL字段时,将固定输出markdown_url字段,即输出文件的存储URL;输入字段不是URL字段时,将固定输出processed_text字段,即转提取的正文内容。

    算子输出字段默认映射至输出数据集的同名字段,您也可以手动选择目标字段进行自定义映射。此外,支持将来源数据集的透传字段映射至目标数据集。您可以通过以下方式管理字段映射:

    • 新增输出字段:单击后新增一行空白字段映射关系。仅输出数据集选择其他数据集时支持此功能。

    • 批量映射:单击后可选择批量手动映射、同名映射或同行映射。仅输出数据集选择其他数据集时支持此功能。

    • 删除映射:单击删除图标可删除对应行的字段映射,但算子固定输出字段的映射不支持删除。

  4. 配置完成后,单击画布顶部菜单栏中的保存,保存此次配置。

    单个算子配置完成后,可继续为其选择上游或下游算子来完成完整工作流的配置。

附录:脱敏内容的识别正则及脱敏后内容

脱敏内容

识别使用的正则表达式

脱敏后展示内容

手机号码

(?<!\d)(1[3-9]\d{9})(?!\d)

[MOBILEPHONE]

邮箱

(?<![A-Za-z0-9._%+-])([A-Za-z0-9._%+-]+@[A-Za-z0-9-]+(?:\.[A-Za-z0-9-]+)+)(?![A-Za-z0-9._%+-])

[EMAIL]

座机电话

(?<!\d)((?:\(\s*0\d{2,3}\s*\)|0\d{2,3})[-\s]?\d{7,8})(?!\d)

[TELEPHONE]

身份证

(?<!\d)([1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|3[01])\d{3}[0-9Xx])(?!\d)

[IDNUM]

身份证号(中国台湾)

(?<![A-Za-z0-9])([A-Z][12]\d{8})(?![A-Za-z0-9])

[IDNUM]

身份证号(中国香港)

(?<![A-Za-z0-9])([A-Z]{1,2}\d{6}\(?[0-9A]\)?)(?![A-Za-z0-9])

[IDNUM]

身份证号(中国澳门)

(?<![A-Za-z0-9])([157]\d{6}\(?[0-9A-Z]\)?)(?![A-Za-z0-9])

[IDNUM]

IPv4地址

(?<!\d)((?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.(?:25[0-5]|2[0-4]\d|[01]?\d\d?))(?!\d)

[IPV4]

IPv6地址

(?<![0-9A-Fa-f:])((?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4}|(?:[0-9A-Fa-f]{1,4}:){1,7}:|(?:[0-9A-Fa-f]{1,4}:){1,6}:[0-9A-Fa-f]{1,4}|(?:[0-9A-Fa-f]{1,4}:){1,5}(?::[0-9A-Fa-f]{1,4}){1,2}|(?:[0-9A-Fa-f]{1,4}:){1,4}(?::[0-9A-Fa-f]{1,4}){1,3}|(?:[0-9A-Fa-f]{1,4}:){1,3}(?::[0-9A-Fa-f]{1,4}){1,4}|(?:[0-9A-Fa-f]{1,4}:){1,2}(?::[0-9A-Fa-f]{1,4}){1,5}|[0-9A-Fa-f]{1,4}:(?::[0-9A-Fa-f]{1,4}){1,6}|:(?::[0-9A-Fa-f]{1,4}){1,7}|::)(?![0-9A-Fa-f:])

[IPV6]

信用卡号

(?<!\d)(4\d{12}(?:\d{3})?(?:\d{3})?|5[1-5]\d{14}|3[47]\d{13}|3(?:0[0-5]|[68]\d)\d{11}|6(?:011|5\d{2})\d{12}|35\d{14}|62\d{14,17})(?!\d)

[CREDITCARD]

银行卡号

(?<!\d)([1-9]\d{14,18})(?!\d)

[BANKCARD]

护照

(?<![A-Za-z0-9])([EeGg]\d{8}|[Dd]\d{8}|[Pp]\d{7}|[Ss]\d{7,8}|[HhMm]\d{8,10}|[TtLl]\d{8}|1[45]\d{7})(?![0-9A-Za-z])

[PASSPORT]

社保卡

(?<![A-Za-z0-9])([A-Z]\d{7}-?[0-9X])(?![A-Za-z0-9])

[SOCIALID]