您可以使用数据保护规则来屏蔽虚拟数据。 查询时,屏蔽的列将返回伪装的数据。
数据屏蔽仅适用于查询的结果集。 表和列中的原始数据保持不变。 屏蔽不适用于查询谓词或视图。 您可以使用数据屏蔽来避免泄露敏感数据。 但是,数据屏蔽并不能阻止Data Virtualization用户连接到服务并针对这些数据运行查询。 用户可以通过使用原始数据来连接和分组数据,生成报告,执行分析和收集洞察,同时仅屏蔽结果集。
数据屏蔽规则仅适用于Data Virtualization中的以下对象:
- 虚拟化对象
- 本机 Db2® 表
- 具体化查询表 (MQT)
根据数据屏蔽的方法,数据将进行编辑、替换或模糊处理。 有关详细信息,请参阅 Data Virtualization中的使用数据保护规则管理虚拟数据。 虚拟化数据中列名旁边的锁定图标 () 指示列中的数据被数据保护规则屏蔽。
受支持的屏蔽操作
- 编辑 (基本)
- 编辑操作数据映射
- 下表描述了哪些数据类型可在Data Virtualization中映射为Redact操作。
- VARCHAR 已屏蔽为 "XXXXXXXXXX" 或" X " * 列长,以较短者为准。
- CHAR 被屏蔽为 "XXXXXXXXXX" 或" X " * 列长,以较短者为准。
- 数字数据类型被屏蔽为 0。
- DATE 被屏蔽为 "2001-01-01"。
- TIME 被屏蔽为 "00:00:00"。
- 将 TIMESTAMP 屏蔽为 DATE ("2001-01-01 00:00:00.0")。
- BOOLEAN 已编辑为 "False"。
- 部分编辑 (高级)
- 新兴替代品日渐普及
- 替换操作数据映射
- CHAR 或 VARCHAR
- 替代屏蔽操作基于 Salted sha256 散列,当它与 CHAR/VARCHAR 列一起使用时,它将获得 base64 编码。 列长度必须至少为 43 个字节才能避免冲突 (两个不同的输入会产生相同的输出)。
- SMALLINT , INT , BIGINT , DECIMAL , DOUBLE , REAL 和 DECFLOAT
- 替换显示原始值的数字散列。 如果生成的值具有前导 "0" ,那么将不会显示该零。 例如,掩码值 "02" 仅显示为 "2"。
- DATE 和 TIMESTAMP
- 替换显示原始值的散列表示。
- CLOB , BLOB , BINARY 和 VARBINARY
NULL
(如果列定义为NOT NULL
,那么为空值)- 其他数据
- 回退为编辑操作。
- 模糊处理 (基本)
- 模糊处理 (高级)
- 可逆屏蔽
- 具有 Identifier 方法的字符格式化选项
- 保留格式
- 不可逆屏蔽
- 可重复一致性
- 随机一致性
- 输入验证
- 标识方法
对于模糊处理和高级屏蔽选项,支持以下数据类。
- 个人姓名
- 名字
- 姓氏
- 名字后缀
- 尊称
- 性别
- 电子邮件地址
- 出生日期
- 驾驶证
- 所有 50 个美国州驾驶执照号码格式
- 美国社会保障号
- 美国社会保障号后 4 位
- 种族
- 眼睛颜色
- 头发颜色
- 爱好/休闲活动
- 法定婚姻/民事状况
- 政党
- 就业状况
- 关系
- 宗教
- 根据 ISO 369 的语言代码或名称
- 组织名称
- Dun & Bradstreet Business Identifier
- DUNS 号码
- 财富 1000 强公司
- 国际商业条款
- 商业和政府机构代码
- 地址行
- 地址行 1
- 地址行 2
- 地址行 3
- 国家或地区名称
- 国家或地区代码
- 美国街道名称
- 美国州首府名称
- 美国邮政编码
- 美国电话号码
- 美国州代码
- 美国州名
- 美国县名
- 省/自治区/直辖市名称
- 城市 (英语)
- 加拿大省代码
- 加拿大省名
- 纬度
- 经度
- ISO 3166-2 国家/地区代码
- 因特网协议地址
- 因特网协议 V6 地址
- 银行标识代码
- 帐号
- 信用卡号
- Visa 卡信用卡
- 美国运通信用卡
- 主卡信用卡
- 发现卡信用卡
- 餐厅俱乐部信用卡
- 日本信用卡局
- 日期
- 日期时间
- 月
- 温度
- 德国车辆登记号
- 国际疾病统计分类 v10
使用说明
- Data Virtualization中的数据屏蔽支持仅限于以下数据类型:
- 字符串(CHAR 和 VARCHAR)
- 数字 (SMALLINT , INT , BIGINT , DECIMAL , DOUBLE , REAL 和 DECFLOAT)
- 日期和时间 (DATE , TIMESTAMP)
- 布尔值
- 无论如何定义屏蔽规则,数据类型为 TIME 的列始终被屏蔽为 00:00:00.000 。
- 类型为 CLOB , BLOB , BINARY 和 VARBINARY 的列将被屏蔽为
NULL
(如果该列定义为NOT NULL
,那么将被屏蔽为空值) ,而不考虑屏蔽操作。 - 掩码不适用于查询谓词,例如 SQL 语句中的 WHERE , GROUP BY , JOIN , HAVING , SELECT DISTINCT 和 ORDER BY 子句。
- 要应用数据屏蔽规则,必须在受管目录中捕获虚拟对象,并使用Data Virtualization连接类型。
- 无法将数据屏蔽规则直接应用于视图。 根据应用于视图所引用对象的数据保护规则,将屏蔽视图的结果集。 您可以屏蔽视图定义中引用的表中的标识详细信息。
- 编辑 (包括部分) 所有数字数据类型的列将导致屏蔽为 0。
- 使用规则构建器用户界面定义数据保护规则。 Data Virtualization支持部分编辑选项,详见《在Data Virtualization中使用数据保护规则管理虚拟数据》。
- 要确保结果正确,请对列定义使用相应的数据类分配。 例如,请勿将 "邮政编码" 数据类分配给 DECIMAL 类型的列。
- 对不受支持的数据类进行模糊处理将始终执行 "标识" 屏蔽,这将屏蔽带有字母的字母和带有数字的数字的字母,并维护字母大小写。
- 当替换或模糊处理
NULL
值时,将为具有受支持数据类的列生成随机值 (非确定性)。 具有不受支持的数据类的列中的NULL
值将回退到标准编辑。 - 当将 Identifier 屏蔽方法与模糊处理配合使用时,将编辑空值。
- 聚集函数 (例如 SUM) 可能会导致替换掩码中的数字溢出。 可以将该列强制转换为更高级别的类型,如以下示例中所示:
SELECT SUM(CAST(VALUE AS DECIMAL(31,0))) FROM PROJECT1.CUSTOMERS
- 在 模糊处理 规则中使用 input validation 选项时,内部字典不知道的任何输入值都将被视为无效,并且将改为执行 redaction 。
- 编辑会产生最佳性能。 替换和模糊处理使用更高级的算法,从而产生更大的开销。
- 无法在从涉及
EXCEPT
,EXCEPT ALL
,INTERSECT
,INTERSECT ALL
或UNION
集合运算符的集合操作派生的SELECT
(包括视图) 中使用掩码列。
限制
- 重要说明:
When you preview, download, or refine Data Virtualization data assets in Watson services other than Data Virtualization, in Cloud Pak for Data (for example, IBM Knowledge Catalog, Watson Studio, and Data Refinery), and in cases when data masking or row-level filtering applies, the preview is subject to the data protection rules and catalog or project access control only. 不执行Data Virtualization访问控制。
在 "Watson服务("Data Virtualization除外)的预览中应用数据屏蔽或行级过滤时,不应用Data Virtualization"访问控制。 Data Virtualization内部访问控制可通过Data Virtualization用户界面中的 "管理访问"进行控制,但不适用于其他 "Watson服务的预览,这些服务具有屏蔽或行级过滤功能。 您必须定义规则以管理对目录,项目,数据资产或连接的访问权,以便在其他 Watson 服务中进行访问控制。
- 多字节字符不支持标识屏蔽方法。 返回原始多字节字符。
- 当您按单字节屏蔽多字节字符或使用多字节屏蔽单字节字符时,可能会看到意外结果。
- Data Virtualization不支持屏蔽自定义数据类。 改为使用标识屏蔽方法。
- 不支持模糊处理中的字符格式设置选项,而改为执行 "标识屏蔽" ,该屏蔽使用字母和数字来屏蔽字母,并维护字母大小写。
- 在某些情况下,目录或项目中的屏蔽预览可能与Data Virtualization中的不同。