.
数据脱敏
用户使用手册
.
前言
欢迎使用 BYIT的软件产品 PowerCenter,它是一个开放式、可扩展的数据集成解决方案,可以为包括数据仓库、数据集市、数据迁移、数据同步和信息集线器在内的所有数据集成项目提供贯穿整个生命周期的解决方案。PowerCenter 集合了最新的改进技术,可以可靠管理数据资料库,并能及时、适用和有效地传递信息资源。
PowerCenter 元数据资料库可调整和驱动多种核心函数,包括提取、转换、载入和管理数据的函数。PowerCenter Server 可从多个平台提取大量数据、处理复杂的数据转换并支持高速载入。PowerCenter 可简化和加快将数据仓库从开发移到测试再到生产的进程。
.
.
数据屏蔽转换
本章包括以下主题:
•
数据屏蔽转换概览, 113 • 屏蔽属性, 114 • 键屏蔽, 115 • 置换屏蔽, 117 • 相关屏蔽, 120 • 随机屏蔽, 121 • 应用屏蔽规则, 122 • 表达式屏蔽, 126 • 特殊屏蔽格式, 128 • 社会保障号屏蔽, 128 • 信用卡号屏蔽, 129 • 电话号码屏蔽, 129 • 电子邮件地址屏蔽, 130 • 社会保险号屏蔽, 131 • IP 地址屏蔽, 131 • URL 地址屏蔽, 132 • 默认值文件, 132 • 数据屏蔽转换会话属性, 132 •
数据屏蔽转换的规则和准则, 133
数据屏蔽转换概览
使用数据屏蔽转换将敏感的生产数据更改为非生产环境的现实测试数据。数据屏蔽转换将基于为每一列配置的屏蔽规则来修改源数据。可针对软件开发、测试、培训和数据挖掘创建屏蔽的数据。可以维护屏蔽数据中的数据关系,并维护数据库表之间的引用完整性。数据屏蔽转换是被动转换。
数据屏蔽转换根据为端口配置的源数据类型和屏蔽类型提供屏蔽规则。对于字符串,可以限制字符串中要替换的字符以及要在屏蔽中应用的字符。对于数值和日期,可以为屏蔽的数据提供一个数字范围。可以根据原始数字的.
113
.
相关主题:
“端口的默认值” 页面上 35 • “应用屏蔽规则” 页面上 122 • “默认值文件” 页面上 132
•
屏蔽属性
在“属性”选项卡上定义输入端口并为每个端口配置屏蔽属性。您可以选择的屏蔽类型基于端口数据类型。选择 屏蔽类型时,Designer 会显示屏蔽类型的屏蔽规则。
区域设置
区域设置可确定数据中字符的语言和地区。从列表中选择区域设置。数据屏蔽转换可通过所选区域设置中的字符 屏蔽字符数据。源数据必须包含与所选区域设置兼容的字符。
如果区域设置不在列表中,请选择具有相似或匹配的代码页的区域设置。不能为区域设置选择 Unicode。
屏蔽类型
屏蔽类型是应用到所选列的数据屏蔽类型。选择以下屏蔽类型之一:
• • • • •
•
键屏蔽。为相同的源数据、屏蔽规则和种子值生成确定性的结果。 置换屏蔽。将数据列替换为字典中相似却无关的数据。 相关屏蔽。根据其他源列的值替换某个源列的值。 随机屏蔽。为相同的源数据和屏蔽规则生成随机结果。 表达式屏蔽。将表达式应用到端口以更改数据或创建数据。
特殊屏蔽格式。将特殊屏蔽格式应用到常见类型的敏感数据。可以屏蔽社会保障号、社会保险号、信用卡号、 电话号码、URL 地址、电子邮件地址或 IP 地址。 置换。将数据列替换为字典中相似却无关的数据。 无屏蔽。数据屏蔽转换不会更改源数据。
•
•
默认设置为“无屏蔽”。
可重复的输出
可重复的输出是数据屏蔽转换返回的一组连续的值。
可重复输出会返回确定性的值。例如,为一个名字列配置可重复输出。每次在工作流中包含数据屏蔽转换时,该 转换都会返回相同的屏蔽值。
可以为所有数据屏蔽类型配置可重复屏蔽。要配置可重复屏蔽,请单击可重复的输出并选择种子值。
种子
种子值是生成屏蔽值的起点。
数据屏蔽转换将创建一个默认种子值,它是一个介于 1 与 1,000 之间的随机数。可以输入不同的种子值,或者 应用映射参数值。将同一种子值应用于某一列,可在不同源数据中返回相同的屏蔽数据值。例如,如果您的四个 表中都有相同的 Cust_ID 列,并且您想要所有这些列都输出相同的屏蔽值,请将全部四列设置为同一种子值。
.
114
数据屏蔽转换
.
映射参数
可以使用映射参数定义种子值。为您要添加到转换的每个种子值创建映射参数。映射参数值是介于
1 和 1000 之 间的数字。为某个列配置数据屏蔽时,为种子选择“映射参数”。Designer 会显示一个映射参数列表。从列表中选择一个映
射参数。在运行会话之前,可以在会话的参数文件中更改映射参数值。在创建数据屏蔽转换之前创建映射参数。如果选择参数化种子值且映射没有映射参数,则会显示错误。如果选择 的端口具有引用已删除映射参数的屏蔽规则,则 Designer 会为该端口生成新的随机种子值。种子值不是映射参 数。系统会显示消息指明映射参数已删除,并且 Designer 会创建新的种子值。 集成服务会在以下情况下应用默认种子值:
•
为列选择了映射参数选项,但是会话没有参数文件。 • 删除映射参数。
•
映射参数种子值并非介于 1 和 1,000 之间。
集成服务将应用默认值文件中的屏蔽值。可以编辑默认值文件以更改默认值。 默认值文件是位于以下位置的 XML 文件:
如果默认值文件中的种子值并非介于 1 和 1,000 之间,则集成服务会为种子分配值 725,并在会话日志中写入 一条消息。相关主题: • “默认值文件” 页面上 132 关联 O/P 关联的 O/P 是输入端口的关联输出端口。数据屏蔽转换会为每个输入端口创建输出端口。命名约定为 out_ 键屏蔽 每当源值和种子值相同时,配置了键屏蔽的列将返回确定性的屏蔽数据。 数据屏蔽转换将为该列返回唯一值。 为列配置键屏蔽时,数据屏蔽转换将为该列创建种子值。 可以更改种子值,以便在不同的数据屏蔽转换之间生成 可重复的数据。 例如,配置键屏蔽以强制执行引用完整性。 使用相同的种子值屏蔽表中的主键和另一表中的外 键值。可以定义屏蔽规则以影响数据屏蔽转换所返回数据的格式。 使用键屏蔽来屏蔽字符串值和数值。 屏蔽字符串值 可以为字符串配置键屏蔽,以便生成可重复输出。配置屏蔽格式,以便定义对输出字符串中每个字符的限制和定 义屏蔽格式。配置源字符串字符和结果字符串替换字符,以用来定义要屏蔽的源字符和屏蔽它们所使用的字符。 键屏蔽 115 . . 下图显示了字符串数据类型的键屏蔽属性: 可以为键屏蔽字符串值配置以下屏蔽规则: • 种子。应用种子值,以便为列生成确定性屏蔽数据。选择以下选项之一: - 值。接受默认种子值或输入一个 1 到 1,000 之间的数字。 - 映射参数。使用映射参数可定义种子值。Designer 将显示您为映射创建的映射参数列表。从该列表中选择 • 映射参数以用作种子值。 屏蔽格式。定义置换输入数据中的每个字符的字符类型。可以将每个字符限制为字母、数字或字母数字字符类 型。 源字符串字符。定义源字符串中要屏蔽的字符。例如,每当输入数据中出现数字符号 (#) 字符时,屏蔽该字 符。当“源字符串字符”为空时,数据屏蔽转换将屏蔽所有输入字符。如果源字符串的字符数小于结果字符串 的字符数,则数据屏蔽转换不会始终返回唯一数据。 结果字符串字符。用“结果字符串字符”中定义的字符置换目标字符串中的字符。例如,输入以下字符可将每 个屏蔽配置为全部包含大写字母字符: ABCDEFGHIJKLMNOPQRSTUVWXYZ • • 屏蔽数值 为数值源数据配置键屏蔽以生成确定性的输出。 为列配置数值键屏蔽时,需要为该列分配随机种子值。 数据屏 蔽转换屏蔽源数据时,将应用需要使用种子的屏蔽算法。 如果不同的列中出现相同的源值,可以更改列的种子值以生成可重复的结果。 例如,要维护两个表之间的主键- 外键关系, 请在每个数据屏蔽转换中,为主键列输入与外键列相同的种子值。 数据屏蔽转换将为相同的数值生 成确定性的结果。 表之间的引用完整性得到维护。 . 116 数据屏蔽转换 . 屏蔽日期时间值 如果可以为日期时间值配置键屏蔽,数据屏蔽转换将需要使用随机数作为种子。 可以更改种子以匹配其他列的种 子值,以便返回列之间可重复的日期时间值。 数据屏蔽转换可以使用键屏蔽方法屏蔽介于 1753 和 2400 之间的日期。 如果源年份是闰年,则数据屏蔽转换 返回的年份也是闰年。 如果源月份包含 31 天,则数据屏蔽转换返回的月份也是 31 天。 如果源月份是二月, 则数据屏蔽转换将返回二月。 数据屏蔽转换将始终生成有效日期。 相关主题: • “日期范围 ” 页面上 125 置换屏蔽将一列数据替换为相似但无关的数据。 使用置换屏蔽将生产数据替换为真实的测试数据。 配置置换屏 蔽时,请定义包含置换值的字典。 数据屏蔽转换会对您配置的字典执行查找。 数据屏蔽转换将源数据替换为字典中的数据。 字典文件可以包含字 符串数据、日期时间值、整数以及浮点数。 按以下格式输入日期时间值: mm/dd/yyyy 可将数据置换为可重复或不可重复值。 选择可重复值时,数据屏蔽转换将为相同的源数据和种子值生成确定性的 结果。 必须配置种子值才能将数据置换为确定性的结果。集成服务为可重复屏蔽维护一份源值和已屏蔽值的存储 表。可将多列数据置换为同一字典行中的已屏蔽值。 为一个输入列配置置换屏蔽。 为从同一字典行接收已屏蔽数据 的其他列配置相关数据屏蔽。字典 字典是指包含文件中每行的置换数据的平面文件或关系表。数据屏蔽转换将生成一个数字以检索字典行。数据屏 蔽转换会生成一个哈希键以进行可重复的置换屏蔽,或者生成一个随机数字以进行不可重复的屏蔽。可以配置附 加查找条件。可以配置一个字典以屏蔽数据屏蔽转换中的多个端口。 以下示例显示了一个平面文件字典,其中包含名字和性别: SNO,GENDER,FIRSTNAME 1,M,Adam 2,M,Adeel 3,M,Adil 4,F,Alice 5,F,Alison 在此字典中,行中的第一个字段是序列号,第二个字段是性别。您可以将性别添加为查找条件。集成服务会使用 哈希键从字典中检索行,并查找性别与源数据中的性别匹配的行。 创建字典时,请遵循以下规则和准则: • 平面文件字典的第一行必须具有列标签,才能标识每个记录中的字段。这些字段以逗号分隔。如果第一行不包 含列标签,则集成服务会使用第一行中的字段值作为列名称。 置换屏蔽 117 置换屏蔽. . 118 . • 平面文件字典必须位于 $PMLookupFileDir 查找文件目录中。默认情况下,此目录位于以下位置: • 如果在 Windows 上创建了一个平面文件字典,并将其复制到 UNIX 计算机中,请验证该文件格式是否适用于 UNIX。例如,Windows 和 UNIX 使用不同的字符作为行尾标记。 • 如果为多个端口配置了置换屏蔽,则所有关系字典必须位于同一个数据库架构中。 • 平面文件字典的换行缓冲区长度必须少于或等于 600 个字符。 • 不能更改会话属性中的字典类型或置换字典名称。 存储表 数据屏蔽转换为会话间的可重复置换维护存储表。 存储表行包含源列和屏蔽的值对。 当数据屏蔽转换每次使用 可重复置换值屏蔽某个值时,将根据字典名称、区域设置、列名称、输入值和种子搜索存储表。 如果找到一个行,将从存储表返回该屏蔽值。 如果数据屏蔽转换未找到行,将从字典接收一个行以及一个哈希键。 存储表中的字典名称格式对于平面文件字典和关系字典是不同的。 平面文件字典名称通过文件名进行标识。 关 系字典名称使用以下语法: Informatica 提供可运行以创建关系存储表的脚本。 这些脚本位于以下位置: 该目录包含 Sybase、Microsoft SQL Server、IBM DB2 和 Oracle 数据库的脚本。 每个脚本都命名为 Substitution_<数据库类型>。 如果您配置 SQL 语句和主键约束,就能在一个不同的数据库中创建表。 当存储中具有未加密的数据并使用了相同的种子值和字典来加密相同的列时,需要为置换屏蔽加密存储表。 加密用于置换屏蔽的存储表 可以使用转换语言编码函数加密存储表。 如果已启用存储加密,则需要加密存储表。 1. 将 IDM_SUBSTITUTION_STORAGE 存储表作为源来创建一个映射。 2. 创建数据屏蔽转换。 3. 对输入值端口和屏蔽值端口应用置换屏蔽技术。 4. 对 INPUTVALUE 端口使用以下表达式: Enc_Base64(AES_Encrypt(INPUTVALUE, Key)) 5. 对 MASKEDVALUE 端口使用以下表达式: Enc_Base64(AES_Encrypt(MASKEDVALUE, Key)) 6. 将这些端口链接到目标。 置换屏蔽属性 可以为置换屏蔽配置以下屏蔽规则: • 可重复的输出。返回会话之间的确定性结果。数据屏蔽会转换将屏蔽值存储在存储表中。 • 种子。应用种子值,以便为列生成确定性屏蔽数据。选择以下选项之一: - 值。接受默认种子值或输入一个 1 到 1,000 之间的数字。 - 映射参数。使用映射参数可定义种子值。Designer 将显示您为映射创建的映射参数列表。从该列表中选择 映射参数以用作种子值。 数据屏蔽转换 . . - 唯一输出。强制数据屏蔽转换为唯一的输入值创建唯一的输出值。两个不同的输入值在屏蔽后不会产生相同 的输出值。字典必须具有足够的唯一行来支持唯一输出。 如果禁用唯一输出,则数据屏蔽转换可能不会为输入值生成唯一的屏蔽输出值。字典包含的行可能会较少。 • 字典信息。配置包含替代数据值的平面文件或关系表。 - 关系表。如果字典在数据库表中,则选择关系表。单击“选择表”以配置数据库和表。 - 平面文件。如果字典位于以逗号分隔的平面文件中,则选择“平面文件”。单击“选择平面文件”以浏览并 选择文件。- 字典名称。显示选定的平面文件或关系表名称。 - 输出列。选择要返回到数据屏蔽转换的列。 • 查找条件。配置查找条件以进一步限定要用于置换屏蔽的字典行。查找条件类似于 SQL 查询中的 WHERE 子 句。配置查找条件时,可以将源中某个列的值与字典中某个列的值进行比较。 例如,您要屏蔽名字。源数据和字典中都有名字列和性别列。您可以添加一个条件,使每个女性名字都用字典 中的一个女性名字来替换。查找条件会将源中的性别与字典中的性别进行比较。 - 输入端口。要在查找中使用的源数据列。 - 字典列。要与输入端口进行比较的字典列。 关系字典 当您选择关系表作为字典时,请配置包含该字典的数据库表。定义此表时,Designer 会连接至表并显示表中的 列。 要选择数据库,在数据屏蔽转换的“屏蔽属性”选项卡上单击“选择表”。 在“选择表”对话框中配置以下字段: • ODBC 数据源。连接至包含字典的数据库的 ODBC 数据源。 • 用户名。用于连接至数据库的数据库用户名。该用户名具有查看表格的数据库权限。 • 所有者名称。如果用户名不适字典表的所有者,输入表所有者。 • 密码。数据库用户名的密码。 • 搜索指定的表。可选。限制显示在对话框中的表数。 当您单击“连接”时,Designer 会连接至数据源并显示表。滚动表列表,并选择要用于字典的表。该表的名称此 时将显示在“屏蔽属性”选项卡的“字典名称”字段中。连接要求 您必须为存储表和关系字典配置数据库连接,才能对它们使用置换屏蔽。 在 Workflow Manager 中配置数据库连接。在会话属性的“映射”选项卡上,选择 IDM_Dictionary 连接和 IDM_Storage 连接的关系连接对象。 置换屏蔽的规则和准则 对于置换屏蔽,请使用以下规则和准则: • 如果唯一可重复置换屏蔽的存储表不存在,会话将失败。 • 如果字典不包含行,数据屏蔽转换将返回错误消息。 • 数据屏蔽转换找到存储表中包含区域设置、字典和种子的输入值时,它将检索屏蔽值,即使行不再位于字典 中。 置换屏蔽 119 . • • 如果删除连接对象或修改字典,请截断存储表。 否则,可能会产生意外结果。 如果字典中的值数量小于源数据中的唯一值数量,数据屏蔽转换将无法使用唯一可重复值来屏蔽数据。 数据 屏蔽转换将返回错误消息。 相关屏蔽 相关屏蔽会将源数据的多个列置换为相同字典行中的数据。 数据屏蔽转换对多个列执行置换屏蔽时,屏蔽的数据可能包含不切实际的字段组合。可以配置相关屏蔽,以便置 换同一字典行中多个输入列的数据。屏蔽的数据将接收到有效组合,例如“New York, New York”或“Chicago, Illinois”。 配置相关屏蔽时,请先配置进行置换屏蔽的输入列。配置要与该置换列相关的其他输入列。例如,选择邮政编码 列进行置换屏蔽,然后选择要与该邮政编码列相关的城市列和省/自治区/直辖市列。相关屏蔽可确保所置换的城 市和省/自治区/直辖市值对于所置换的邮政编码值有效。 注意: 如果没有先配置进行置换屏蔽的列,将无法配置相关屏蔽列。 配置相关屏蔽列时,请配置以下屏蔽规则: 相关列 要配置为置换屏蔽的输入列的名称。数据屏蔽转换将使用适用于该列的屏蔽规则从字典中检索置换数据。配 置为置换屏蔽的列将成为从字典中检索屏蔽数据的键列。 输出列 字典列的名称,其中包含配置为相关屏蔽的列的值。 相关屏蔽示例 数据屏蔽字典中可能包含具有以下值的地址行: SNO,STREET,CITY,STATE,ZIP,COUNTRY 1,32 Apple Lane,Chicago,IL,61523,US 2,776 Ash Street,Dallas,TX,75240,US 3,2229 Big Square,Atleeville,TN,38057,US 4,6698 Cowboy Street, Houston,TX,77001,US 需要从“地址”字典中屏蔽包含城市、省/自治区/直辖市和邮政编码的有效组合的源数据。 为 ZIP 端口配置置换屏蔽。 为 ZIP 端口输入以下屏蔽规则: 规则 字典文件类型 字典名称 输出列 为“城市”端口配置相关屏蔽。 值 平面文件或关系表 Address.dic 邮政编码 . 120 数据屏蔽转换 . 为“城市”端口输入以下屏蔽规则: 规则 值 相关列 邮政编码 输出列 城市 为“省/自治区/直辖市”端口配置相关屏蔽。 为“省/自治区/直辖市”端口输入以下屏蔽规则: 规则 值 相关列 邮政编码 输出列 省/自治区/直辖市 当数据屏蔽转换屏蔽邮政编码时,将为字典行中的邮政编码返回正确的城市和省/自治区/直辖市。 可重复的相关屏蔽 配置多个输入字段以从同一字典行接收屏蔽数据时,需要确定哪一字段配置用于置换屏蔽。通过可重复的屏蔽, 选择唯一标识源数据的列。数据屏蔽转换使用键字段来确定用于可重复屏蔽的存储中是否已存在行。注意: 源数据具有主键时,可以为置换屏蔽配置主键列。为相关屏蔽配置另一个列。 例如,如果屏蔽员工数据,则可为置换屏蔽配置 EmployeeID,并为相关屏蔽配置 FirstName 和 LastName。 配置可重复的屏蔽时,以下行会收到不同的屏蔽数据: EmployeeID FirstName LastName 111JohnJones 222Radhika Jones 如果选择 LastName 作为可重复相关屏蔽的键字段,则姓氏为 Jones 的每个行都会收到相同的屏蔽数据。 随机屏蔽将生成不确定性的随机屏蔽数据。 当不同的行中出现相同的源值时,数据屏蔽转换将返回不同的值。 可以定义屏蔽规则以影响数据屏蔽转换所返回数据的格式。 使用随机屏蔽方法屏蔽数值、字符串值和日期值。 屏蔽数值 屏蔽数值数据时,可以配置列的输出值范围。 数据屏蔽转换将根据端口精度返回一个介于范围上限和下限之间的 值。 要定义范围,请基于原始源值的差额配置最小和最大范围值或配置模糊范围。 可以为数值数据配置以下屏蔽参数: 随机屏蔽 121 随机屏蔽. . 范围 定义输出值的范围。 数据屏蔽转换将返回介于最小值和最大值之间的数值数据。 模糊范围 定义一个落在源数据的固定差额或百分比差额内的输出值范围。 数据屏蔽转换将返回接近源数据值的数值数 据。 可以配置范围和模糊范围。 屏蔽字符串值 配置随机屏蔽可为字符串列生成随机输出。 要配置对输出字符串中每个字符的限制,请配置屏蔽格式。 配置筛 选字符以定义要屏蔽的源字符和屏蔽所用的字符。 可以为字符串端口应用以下屏蔽规则: 范围 配置字符串的最小长度和最大长度。 数据屏蔽转换将返回一个介于最小字符串长度和最大字符串长度之间的 随机字符串。 屏蔽格式 定义用于置换输入数据中每个字符的字符类型。 可以将每个字符限制为字母、数字或字母数字字符类型。 源字符串字符 定义源字符串中要屏蔽的字符。 例如,每当输入数据中出现数字符号 (#) 字符时,屏蔽该字符。 当“源 字符串字符”为空时,数据屏蔽转换将屏蔽所有输入字符。 结果字符串替换字符 用“结果字符串字符”中定义的字符置换目标字符串中的字符。 例如,输入以下字符可将每个屏蔽配置为包 含大写字母字符 A - Z: ABCDEFGHIJKLMNOPQRSTUVWXYZ 屏蔽日期值 要使用随机屏蔽来屏蔽日期值,请配置输出日期的范围或选择一个差额。 配置差额时,请选择要模糊的日期部 分。 选择年、月、日、小时、分钟或秒。 数据屏蔽转换将返回配置范围内的一个日期。 屏蔽日期时间值时,可以配置以下屏蔽规则: 范围 为选定的日期时间值设置要返回的最小值和最大值。 模糊 基于要应用于日期单位的差额来屏蔽日期。 数据屏蔽转换将返回差额范围内的一个日期。 可以模糊年、 月、日、小时、分钟或秒。 选择要应用的低差额和高差额。 应用屏蔽规则 根据源数据类型应用屏蔽规则。在“屏蔽属性”选项卡上单击列属性时,Designer 会根据端口的数据类型显示屏 蔽规则。 . 122 数据屏蔽转换 . 下表介绍了可以根据屏蔽类型和源数据类型配置的屏蔽规则: 屏蔽类型 源数据类型 屏蔽规则 说明 随机和键 字符串 屏蔽格式 屏蔽时将输出字符串中的每个字符限制为字 母、数字或字母数字字符。 随机和键 字符串 源字符串字符 要屏蔽的源字符集或要从屏蔽中排除的源字符 集。 随机和键 字符串 结果字符串替 要在屏蔽中包含或排除的字符集。 换字符 随机 数值 范围 输出值的范围。 字符串 - 数值。数据屏蔽转换将返回介于最小值和最大日期/时间 值之间的数值数据。 - 字符串。返回介于最小字符串长度和最大字符 串长度之间的随机字符串。 - 日期/时间。返回最小和最大日期时间范围内的 日期和时间。 随机 数值 模糊 使用源数据固定差额或百分比差额的输出值范日期/时间 围。数据屏蔽转换将返回接近源数据值的数据。日期时间列要求使用固定差额。 屏蔽格式 配置屏蔽格式,将输出列中的每个字符限制为字母、数字或字母数字字符。使用以下字符定义屏蔽格式: A, D, N, X, +, R 注意: 屏蔽格式包含大写字符。输入小写屏蔽字符时,数据屏蔽转换会将该字符转换为大写。 下表介绍了屏蔽格式字符: Characte 说明 r A 字母字符。例如,ASCII 字符 a 到 z 以及 A 到 Z。 D 数字 0 到 9。对于数字 0 到 9 之外的其他字符,数据屏蔽转换将返回“X”。 N 字母数字字符。例如,ASCII 字符 a 到 z、A 到 Z 以及 0-9。 X 任何字符。例如,字母数字或符号。 + 无屏蔽。 R 剩余字符。R 指定字符串中的剩余字符可以是任何字符类型。R 必须显示为屏蔽中 的最后一个字符。 例如,某部门名称使用以下格式: nnn- 可以配置屏蔽,强制前三个字符为数字、部门名称为字母,并且在输出中保留短划线。配置以下屏蔽格式: DDD+AAAAAAAAAAAAAAAA 应用屏蔽规则 123 . . 124 . 数据屏蔽转换会将前三个字符替换为数字字符。不会替换第四个字符。数据屏蔽转换会将剩余字符替换为字母字 符。 如果未定义屏蔽格式,则数据屏蔽转换会将每个源字符替换为任意字符。如果屏蔽格式比输入字符串长,则数据 屏蔽转换将忽略屏蔽格式中的多余字符。如果屏蔽格式比源字符串短,则数据屏蔽转换将屏蔽格式为 R 的剩余字 符。注意: 无法使用范围选项配置屏蔽格式。 源字符串字符 源字符串字符是选择要对其进行屏蔽或不对其进行屏蔽的源字符。 源字符串中字符的位置不会造成影响。 源字 符区分大小写。可以配置任意数量的字符。 当字符为空时,数据屏蔽转换将替换列中所有的源字符。 为源字符串字符选择以下选项之一: 仅屏蔽 数据屏蔽转换对源中配置为源字符串字符的字符进行屏蔽。 例如,如果输入字符 A、B 和 c,当该字符出 现在源数据中时,数据屏蔽转换会将 A、B 或 c 替换为不同的字符。 不是 A、B 或 c 的源字符将不会发 生更改。 屏蔽区分大小写。 除了以下内容,全部屏蔽 除了出现在源字符串中的源字符串字符,屏蔽所有字符。 例如,如果输入筛选器源字符“-”并选择“除了 以下内容,全部屏蔽”,当该字符出现在源数据中时,数据屏蔽转换不会替换“-”字符。 其余源字符将发 生更改。 源字符串示例 源文件包含一个名为“相关项”的列。 “相关项”列包含多个用逗号分隔的名称。 需要屏蔽“相关项”列,并 在测试数据中使用逗号以分隔名称。 对于“相关项”列,请选择“源字符串字符”。 选择“不屏蔽”,然后输入“,”作为要跳过的源字符。 请勿输 入引号。数据屏蔽转换会替换掉源字符串中除逗号之外的所有字符。 结果字符串替换字符 结果字符串替换字符是您选择用于作为屏蔽数据中置换字符的字符。 配置结果字符串替换字符时,数据屏蔽转换 将使用结果字符串替换字符替换源字符串中的字符。 为了避免为不同的输入值生成相同的输出,请配置多种置换 字符,或者只屏蔽一些源字符。 字符串中每个字符的位置不会造成影响。 为结果字符串替换字符选择以下选项之一: 仅使用 仅使用您定义为结果字符串替换字符的字符屏蔽源。 例如,如果输入字符 A、B 和 c,数据屏蔽转换将使 用 A、B 和 c 替换源列中的每个字符。单词“horse”将替换为“BAcBA”。 除了以下内容,全部使用 使用除您定义为结果字符串替换字符的字符外的任意字符屏蔽源。 例如,如果您输入 A、B 和 c 结果字符 串替换字符,屏蔽数据将永远不会出现字符 A、B 或 c。 结果字符串替换字符示例 数据屏蔽转换 . 要将相关列中的所有逗号替换为分号,请完成以下任务: 1. 将逗号配置为源字符串字符,然后选择“仅屏蔽”。 如果相关列中出现逗号,则数据屏蔽转换将仅屏蔽逗号。 2. 将分号配置为结果字符串替换字符,然后选择“仅使用”。 数据屏蔽转换会将相关列中的每个逗号替换为分号。 范围 为数字、日期或字符串数据定义范围。 如果为数值或日期值定义了范围,则数据屏蔽转换将使用一个介于最小值 和最大值之间的值来屏蔽源数据。 为字符串配置范围时,请配置字符串长度范围。 字符串范围 配置随机字符串屏蔽时,数据屏蔽转换将生成与源字符串长度不同的字符串。 或者,可以配置字符串宽度的下限 和上限。 为宽度上限或下限输入的值必须是正整数。 每个宽度都必须小于或等于端口精度。 数值范围 为数值列设置最小值和最大值。 最大值必须小于或等于端口精度。 默认范围介于一到端口精度长度之间。 日期范围 为日期时间值设置最小值和最大值。 最小值字段和最大值字段包含默认的最小日期和最大日期。 默认的日期时 间格式为 MM/DD/YYYY HH24:MI:SS。 最大的日期时间必须晚于最小的日期时间。 模糊 模糊将创建在源数据值的固定差额或百分比差额范围内的输出值。 配置模糊可返回接近原始值的随机值。 可以 模糊数值和日期值。 模糊数值 选择固定差额或百分比差额以模糊数值源值。 低模糊值是小于源值的差额。 高模糊值是大于源值的差额。 低值 和高值都必须大于或等于零。 数据屏蔽转换返回屏蔽的数据时,数值数据将落在您定义的范围内。 下表介绍了当输入源值为 66 时模糊范围值的屏蔽结果: 模糊类型 低 高 结果 固定 0 10 介于 66 与 76 之间 固定 10 0 介于 56 与 66 之间 固定 10 10 介于 56 与 76 之间 百分比 0 50 介于 66 与 99 之间 百分比 50 0 介于 33 与 66 之间 百分比 50 50 介于 33 与 99 之间 应用屏蔽规则 125 . . 模糊日期值 通过配置模糊,将日期屏蔽为与源日期不同的日期。 选择要应用差额的日期单位。 可以选择年、月、日或小 时。 输入上限和下限以定义高于或低于源日期中的单位的差额。 数据屏蔽转换将应用该差额并返回在该差额内 的日期。 例如,要将屏蔽的日期限制为源日期两年内的日期,请选择年作为单位。 输入 2 作为上限和下限。 如果源日期 是 02/02/2006,则数据屏蔽转换将返回一个介于 02/02/2004 和 02/02/2008 之间的日期。 默认情况下,模糊单位是年。 表达式屏蔽 表达式屏蔽会对端口应用表达式以更改数据或创建新数据。在配置表达式屏蔽时,请在“表达式编辑器”中创建 一个表达式。选择输入和输出端口、函数、变量和运算符以构建表达式。 可以连接多个端口中的数据以便为其他端口创建值。例如,需要创建登录名。源具有名字列和姓氏列。屏蔽查找 文件中的名字和姓氏。在数据屏蔽转换中,创建另一个名为“Login”的端口。对于 Login 端口,配置一个表达 式以连接名字的首字母和姓氏: SUBSTR(FIRSTNM,1,1)||LASTNM 为端口配置表达式屏蔽时,默认情况下端口名称会显示为表达式。要访问表达式编辑器,请单击“打开”按钮。 表达式编辑器会显示没有为表达式屏蔽配置的输入端口和输出端口。无法将表达式的输出用作其他表达式的输 入。如果将输出端口名称手动添加到表达式中,可能会获得意外的结果。 从点击式界面选择函数、端口、变量和运算符,以便在构建表达式时最大程度地减少错误。 创建表达式时,请验证表达式是否返回与端口数据类型匹配的值。如果表达式端口的数据类型是数值而表达式为 其他数据类型,则数据屏蔽转换将返回零。如果表达式端口的数据类型是 String 而表达式为其他数据类型,则 数据屏蔽转换将返回空值。 可重复表达式屏蔽 源列出现在多个表中,且需要使用相同值屏蔽每个表中的该列时,请配置可重复表达式屏蔽。 配置可重复表达式屏蔽时,数据屏蔽转换会将表达式结果保存到存储表中。 如果该列出现在其他源表中,数据屏 蔽转换将返回存储表中的屏蔽值,而不是表达式中的屏蔽值。 字典名称 配置可重复的表达式屏蔽时,必须输入字典名称。 字典名称是允许多个数据屏蔽转换从相同的源值生成相同屏蔽 值的键。 请在每个数据屏蔽转换中定义相同的字典名称。 字典名称可以是任意文本。 存储表 存储表包含会话之间可重复表达式屏蔽的结果。 存储表行包含源列和屏蔽的值对。 表达式屏蔽的存储表是来自 置换屏蔽存储表的单独表。 当数据屏蔽转换每次使用可重复表达式屏蔽某个值时,将根据字典名称、区域设置、列名称和输入值搜索存储 表。 如果在存储表中找到了行,将从存储表中返回屏蔽的值。 如果数据屏蔽转换未找到行,将根据列的表达式 生成屏蔽值。 当存储中包含未加密数据并使用相同字典名称作为密钥时,需要加密表达式屏蔽的存储表。 . 126 数据屏蔽转换 . . 加密存储表以用于表达式屏蔽 可以使用转换语言编码函数加密存储表。 如果已启用存储加密,则需要加密存储表。 1. 将 IDM_EXPRESSION_STORAGE 存储表作为源来创建一个映射。 2. 创建数据屏蔽转换。 3. 在屏蔽值端口上应用表达式屏蔽技术。 4. 对 MASKEDVALUE 端口使用以下表达式: Enc_Base64(AES_Encrypt(MASKEDVALUE, Key)) 5. 将这些端口链接到目标。 示例 例如,Employees 表中包含以下列: FirstName LastName LoginID 在数据屏蔽转换中,使用组合了 FirstName 和 LastName 的表达式屏蔽 LoginID。 配置可重复的表达式屏蔽。 输入一个字典名称,作为可重复屏蔽的键。Computer_Users 表包含一个 LoginID 列,但不包含 FirstName 或 LastName 列: Dept LoginID Password 要屏蔽 Computer_Users 中与 Employees 中相同的 LoginID,请为 LoginID 列配置表达式屏蔽。 启用可重复 屏蔽并输入为 Employees 表中 LoginID 所定义的字典名称。 集成服务将从存储表中检索 LoginID 值。 请创建一个当集成服务在存储表中找不到 LoginID 行时要使用的默认表达式。 Computer_Users 表没有 FirstName 或 LastName 列,因此表达式将创建一个意义较小的 LoginID 列。 存储表脚本 Informatica 提供可运行以创建存储表的脚本。 这些脚本位于以下位置: 该目录包含 Sybase、Microsoft SQL Server、IBM DB2 和 Oracle 数据库的脚本。 每个脚本都命名为 Expression_<数据库类型>。 表达式屏蔽的规则和准则 对于表达式屏蔽,请使用以下规则和准则: • 无法将表达式的输出用作其他表达式的输入。 如果将输出端口名称手动添加到表达式中,可能会获得意外的 结果。 • 使用点击方法来构建表达式。 从点击式界面选择函数、端口、变量和运算符,以便在构建表达式时最大程度 地减少错误。 • 如果已为可重复的屏蔽配置数据屏蔽转换,并且不存在存储表,则集成服务会将源数据替换为默认值。 表达式屏蔽 127 . 相关主题: • “使用表达式编辑器” 页面上 30 特殊屏蔽格式 以下掩码类型保留原始数据的格式: • • • • • • • 社会保障号 信用卡号 电话号码 URL 地址 电子邮件地址 IP 地址 社会保险号 数据屏蔽转换使用真实格式的屏蔽值替换敏感数据。例如,屏蔽 SSN 时,数据屏蔽转换将返回格式正确但无效的 SSN。 当源数据格式或数据类型对于某个屏蔽无效时,集成服务将对数据应用默认屏蔽。集成服务将应用默认值文件中 的屏蔽值。可以编辑默认值文件以更改默认值。 相关主题: • “默认值文件” 页面上 132 社会保障号屏蔽 数据屏蔽转换将基于社会保障局的最新高层组织列表生成无效的社会保障号。高层组织列表包含社会保障局已签 发的有效编号。数据屏蔽转换从以下位置访问最新的高层组织列表: 数据屏蔽转换生成高层组织列表中不存在的 SSN 编号。社会保障局每个月更新一次高层组织列表。从以下位置下 载最新版本的列表: http://www.socialsecurity.gov/employer/ssns/highgroup.txt 社会保障号格式 数据屏蔽转换接受任何包含九位数字的 SSN 格式。 可使用任意字符集分隔这些数字。 例如,数据屏蔽转换接受 以下格式: +=54-*9944$#789-,*()”. 区号要求 数据屏蔽转换会返回一个社会保障号,该号码因与源格式相同而无效。 SSN 的前三位数字用于定义区号。 数据 屏蔽转换不会屏蔽区号。 它会屏蔽组号和序列号。 源 SSN 必须包含一个有效的区号。 数据屏蔽转换将在“高 . 128 数据屏蔽转换 . 层组织列表”上查找区号,并确定一系列未使用的编号,该转换可将这些编号作为屏蔽数据来应用。 如果 SSN 无效,则数据屏蔽转换不会屏蔽源数据。 可重复社会保障号屏蔽 数据屏蔽转换将返回具有可重复屏蔽的确定性社会保障号。 数据屏蔽转换无法返回所有唯一社会保障号,因为它 无法返回社会保障局已签发的有效社会保障号。信用卡号屏蔽 信用卡屏蔽会应用内置的屏蔽格式来掩藏信用卡号。可以输入多个信用卡号格式。有时,可以替换信用卡发卡 行。 PowerCenter 集成服务在屏蔽有效的信用卡号时,逻辑上会生成一个有效的信用卡号。源信用卡号的长度必须介 于 13 到 19 位数字之间。根据信用卡行业规则,输入信用卡号的校验和必须有效。 源信用卡号可以包含数字、空格和连字符。如果信用卡的字符数不正确,或者长度错误,则集成服务会将错误写 入会话日志。如果源数据无效,PowerCenter 集成服务则会应用默认的信用卡号屏蔽。 可以配置信用卡屏蔽以保留或替换信用卡号的前六位数字。这些数字一起标识信用卡发卡行。如果替换信用卡发 卡行,则可以指定另一个信用卡发卡行。可以指定以下信用卡发卡行:• American Express • Discover • JCB • MasterCard • Visa • 任意 如果选择“任意”,数据屏蔽转换会返回所有信用卡发卡行的组合。如果屏蔽信用卡发卡行,数据屏蔽转换会返 回不唯一的值。 例如,CUSTOMER 表具有以下信用卡号: 2131 0000 0000 0008 5500 0000 0000 0004 6334 0000 0000 0004 如果选择单个信用卡发卡行,则信用卡号会共享除最后一位数之外的所有内容。为了生成有效的信用卡号,数据 屏蔽转换会将每个信用卡的最后一位数设置为相同的值。 电话号码屏蔽 数据屏蔽转换可屏蔽电话号码,但不更改原始电话号码的格式。 例如,数据屏蔽转换可以将电话号码 (408)382 0658 屏蔽为 (607)256 3106。 源数据可包含数字、空格、连字符和括号。 集成服务不会屏蔽字母或特殊字符。 数据屏蔽转换可以屏蔽字符串、整型和长整型数据。 . 信用卡号屏蔽 129 . 电子邮件地址屏蔽 . 130 使用数据屏蔽转换屏蔽包含字符串值的电子邮件地址。 数据屏蔽转换可以使用随机 ASCII 字符屏蔽电子邮件地 址,也可以将电子邮件地址替换为真实电子邮件地址。 您可以对电子邮件地址应用以下类型的屏蔽: 标准电子邮件屏蔽数据屏蔽转换屏蔽电子邮件地址时会返回随机 ASCII 字符。 例如,数据屏蔽转换可将 *********************屏蔽为 *********************。 默认为标准。 高级电子邮件屏蔽 数据屏蔽转换会使用从转换输出端口或字典列中派生的其他真实电子邮件地址屏蔽电子邮件地址。 高级电子邮件屏蔽 通过高级电子邮件屏蔽,可以使用其他真实电子邮件地址来屏蔽电子邮件地址。数据屏蔽转换会从字典列或转换 输出端口创建电子邮件地址。 可以从映射输出端口创建电子邮件地址的本地部分。或者,也可以从关系表或平面文件列创建电子邮件地址的本 地部分。数据屏蔽转换可从域字典中的一个常量值或一个随机值创建电子邮件地址的域名。 可以根据以下选项创建高级电子邮件屏蔽: 基于映射的电子邮件地址 可以根据数据屏蔽转换输出端口创建电子邮件地址。为名字和姓氏列选择转换输出端口。根据为名字和姓氏 长度指定的值,数据屏蔽转换会屏蔽名字、姓氏或这两者。 基于字典的电子邮件地址 可以根据字典中的列创建电子邮件地址。字典可以是关系表或平面文件。 为名字和姓氏选择字典列。根据为名字和姓氏长度指定的值,数据屏蔽转换会屏蔽名字、姓氏或这两者。还 可以配置一个表达式来屏蔽电子邮件地址。如果配置表达式,则数据屏蔽转换不会根据名字或姓氏列的长度 进行屏蔽。高级电子邮件地址屏蔽类型的配置参数 配置高级电子邮件地址屏蔽时指定配置参数。 您可以指定以下配置参数: 分隔符 可以选择分隔符来分隔电子邮件地址中的名和姓,例如点、连字符或下划线。 如果不想分隔电子邮件地址中的名和姓,请将分隔符保留为空白。 FirstName 列 选择数据屏蔽转换输出端口或字典列以屏蔽电子邮件地址中的名。 LastName 列 选择数据屏蔽转换输出端口或字典列以屏蔽电子邮件地址中的姓。 FirstName 或 LastName 列的长度 限制名和姓列的屏蔽字符长度。 例如,名的输入数据为 Timothy,姓的输入数据为 Smith。 选择 5 作为 名列的长度。 选择 1 作为姓列的长度,并使用点作为分隔符。 数据屏蔽转换将生成以下电子邮件地址: 数据屏蔽转换 . timot.s@ 您可以使用常量值作为域名,例如 gmail.com。 或者,可以指定包含一组域名的另一个字典文件。 域字典 可以是平面文件或关系表。高级电子邮件地址屏蔽类型的表达式 在选择字典列创建电子邮件地址时,可以使用表达式函数。 要配置高级电子邮件屏蔽类型的表达式,请从字典中选择列以构成电子邮件地址。然后,可以使用字典列、转换 端口或同时使用字典列和转换端口配置表达式。 在表达式编辑器中,将按以下语法列出字典端口: <输入字符串映射端口>_Dictionary_<字典列名称> 社会保险号屏蔽 数据屏蔽转换可屏蔽九位数的社会保险号。 可使用任意字符集分隔这些数字。 如果该号码不包含分隔符,则屏蔽后的号码也不包含分隔符。 否则屏蔽的号码将采用以下格式: xxx-xxx-xxx SIN 起始数字 您可以定义屏蔽 SIN 的第一个数字。 启用起始数字,然后输入数字。 数据屏蔽转换会从您输入的数字开始创建屏蔽 SIN 数字。 可重复的 SIN 编号 可以将数据屏蔽转换配置为返回可重复的 SIN 值。 为可重复的 SIN 屏蔽配置端口时,数据屏蔽转换将在每次 源 SIN 值和种子值相同时返回确定性的屏蔽数据。 要返回可重复的 SIN 编号,请启用可重复的值并输入种子号。 数据屏蔽转换将返回每个 SIN 的唯一值。 IP 地址屏蔽 数据屏蔽转换通过将 IP 地址拆分成 4 个数字(用句点分隔)来将其屏蔽成其他 IP 地址。 第一个数字表示网 络。 数据屏蔽转换可屏蔽网络范围内的网络号。 数据屏蔽转换会将 A 类 IP 地址屏蔽为 A 类 IP 地址,将 10.x.x.x 地址屏蔽为 10.x.x.x 地址。 数据屏蔽 转换不会屏蔽类和专用网络地址。 例如,数据屏蔽转换可以将 11.12.23.34 屏蔽为 75.32.42.52.,将10.23.24.32 屏蔽为 10.61.74.84。 注意: 屏蔽多个 IP 地址时,数据屏蔽转换可以返回非唯一值,因为它不会屏蔽类或专用网络的 IP 地址。 . 社会保险号屏蔽 131 . URL 地址屏蔽 数据屏蔽转换通过搜索“://”字符串并解析其右侧的子字符串来解析 URL。 源 URL 必须包含“://”字符串。 源 URL 可以包含数字和字母字符。 数据屏蔽转换不会屏蔽 URL 协议。 例如,如果 URL 为 http://www.yahoo.com,数据屏蔽转换将返回 http:// MgL.aHjCa.VsD/。 数据屏蔽转换会生成无效 URL。 注意: 数据屏蔽转换总是针对 URL 返回 ASCII 字符。 默认值文件 源数据格式或数据类型对于屏蔽无效时,集成服务会对数据应用默认屏蔽。集成服务将应用默认值文件中的屏蔽 值。可以编辑默认值文件以更改默认值。 默认值文件是位于以下位置的 XML 文件: default_url = \"http://www.xyz.com\" default_phone = \"999999999\" default_ssn = \"999-99-9999\" default_cc = \"9999 9999 9999 9999\" default_seed = \"500\" /> 数据屏蔽转换会话属性 可以配置数据屏蔽转换会话属性以提高性能。 配置以下会话属性: 缓存大小 主内存中字典缓存的大小。增加内存大小以提高性能。对于 100,000 条记录,建议的最小大小为 32 MB。 默认值为 8 MB。 缓存目录 字典缓存的位置。必须具有该目录的写入权限。默认为 $PMCacheDir。 共享存储表 在数据屏蔽转换实例之间启用存储表共享。当两个数据屏蔽转换实例为数据库连接、种子值和区域设置使用 相同的字典列时,可启用共享存储表。当同一数据屏蔽转换中的两个端口为连接、种子和区域设置使用相同 的字典列时,也可以启用共享存储表。当数据屏蔽转换或端口未共享字典列时,将禁用共享存储表。默认为 “已禁用”。 . 132 数据屏蔽转换 . 存储提交时间间隔 一次提交到存储表中的行数。增加该值可提高性能。未配置共享存储表时,请配置提交时间间隔。默认值为 100,000。对存储进行加密 对存储表(例如 IDM_SUBSTITUTION_STORAGE 和 IDM_EXPRESSION_STORAGE)进行加密。在启用加密存储属 性之前,请验证是否已对存储表中的数据进行加密。如果不希望对存储表进行加密,请清除此选项。默认为 “已禁用”。 存储加密键 数据屏蔽转换将基于存储加密键对存储进行加密。为同一数据屏蔽转换实例的所有会话运行使用相同的加密 键。数据屏蔽转换的规则和准则 配置数据屏蔽转换时,请使用以下规则和准则: • 数据屏蔽转换不屏蔽空值。如果源数据包含空值,则数据屏蔽转换会返回空值。要替换空值,请为输入端口添 加允许使用用户定义的默认值的上游转换。 • 源数据格式或数据类型对于屏蔽无效时,集成服务会对数据应用默认屏蔽。集成服务将应用默认值文件中的屏 蔽值。• 数据屏蔽转换会返回与源的格式和区域代码相同的无效社会保障号。如果社会保障局在某个地区签发的社会保 障号已超过半数,则数据屏蔽转换可能无法返回具有键屏蔽的唯一无效社会保障号。 . 数据屏蔽转换的规则和准则 133 因篇幅问题不能全部显示,请点此查看更多更全内容