Data Virtualization中的虚拟数据屏蔽
使用数据保护规则来屏蔽虚拟数据。 查询时,屏蔽的列将返回伪装的数据。
数据屏蔽仅适用于查询的结果集。 表和列中的原始数据保持不变。 屏蔽不适用于查询谓词或视图。 您可以使用数据屏蔽来避免泄露敏感数据。 但是,数据屏蔽并不能阻止Data Virtualization用户连接到服务并针对这些数据运行查询。 用户可以通过使用原始数据来连接和分组数据,生成报告,执行分析和收集洞察,同时仅屏蔽结果集。
更多信息,请参阅 IBM Knowledge Catalog 文档中的 “使用数据保护规则屏蔽数据 ”。
数据屏蔽规则仅适用于Data Virtualization中的以下对象:
- 虚拟化对象
- 本机 Db2 表
- 具体化查询表 (MQT)
根据数据屏蔽的方法,数据将进行编辑、替换或模糊处理。 更多信息,请参阅 Data Virtualization 中的“通过数据保护规则管理虚拟数据 ”。 虚拟化数据中列名旁边有一个锁图标(
),表示该列中的数据受数据保护规则保护。
观看以下视频,了解数据屏蔽在 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"。
- 部分编辑 (高级)保留掩码值原始长度的选项使用以下值的长度:
- VARCHAR列使用未屏蔽单元格值的长度。
- CHAR列使用列的长度。
- 新兴替代品日渐普及
- 替换操作数据映射
- 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 的语言代码或名称
- 组织名称
- 邓白氏商业识别码
- 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(包括视图) 中使用掩码列。
限制
- 重要说明:
当您在预览、下载或优化 Data Virtualization 数据资产时 Watson 除以下服务之外的其他服务 Data Virtualization, 在 Cloud Pak for Data (例如, IBM Knowledge Catalog , Watson Studio , 和 Data Refinery),并且在适用数据屏蔽或行级过滤的情况下,预览仅受数据保护规则和目录或项目访问控制的约束。 Data Virtualization 门禁系统未启用。
在 "Watson服务("Data Virtualization除外)的预览中应用数据屏蔽或行级过滤时,不应用Data Virtualization"访问控制。 Data Virtualization内部访问控制可通过Data Virtualization用户界面中的 "管理访问"进行控制,但不适用于其他 "Watson服务的预览,这些服务具有屏蔽或行级过滤功能。 您必须定义规则以管理对目录,项目,数据资产或连接的访问权,以便在其他 Watson 服务中进行访问控制。
- 多字节字符不支持标识屏蔽方法。 多字节字符将用“X”代替。
- Data Virtualization 不支持自定义数据类屏蔽。 改为使用标识屏蔽方法。
- 不支持模糊处理中的字符格式设置选项,而改为执行 "标识屏蔽" ,该屏蔽使用字母和数字来屏蔽字母,并维护字母大小写。