我正在寻找(理想情况下是免费的,开源的)数据屏蔽工具。有这样的存在吗?
注意:这个相关问题涉及用于生成测试数据的工具,但是在这个问题中,我对从真实数据开始并对其进行遮罩以便在测试中使用更感兴趣,而不会丢失任何使其出于测试目的变得有趣的特殊关系。生成的数据可以用于某些测试目的,但是实际数据会带来您从未想到的问题。 生成测试数据大型数据集的工具
我正在寻找(理想情况下是免费的,开源的)数据屏蔽工具。有这样的存在吗?
注意:这个相关问题涉及用于生成测试数据的工具,但是在这个问题中,我对从真实数据开始并对其进行遮罩以便在测试中使用更感兴趣,而不会丢失任何使其出于测试目的变得有趣的特殊关系。生成的数据可以用于某些测试目的,但是实际数据会带来您从未想到的问题。 生成测试数据大型数据集的工具
Answers:
如果有一个通用的工具,我会感到非常惊讶-它怎么会“知道”什么是敏感数据,什么不是?例如,它将需要检查您的所有数据并识别信用卡号,电话号码,邮政编码,电子邮件地址以及任何其他敏感数据的所有可能格式。它还需要对您的模式保持聪明-例如,是否应将所有客户电子邮件地址重写为“ nobody@company.com”-或数据库,应用程序,其他工具的任何部分是否假定客户的电子邮件地址(或SSN或什么)是唯一的?还是您的应用程序中有一部分对信用卡号进行校验和,如果将它们全部重置为0000 0000 0000 0000,那会中断?还是您的电话系统假设客户
基本上,配置任何工具来执行此操作将比仅仅利用您对应用程序的知识编写自己的脚本要多得多或更多的工作。在我的站点上,我们只是制定了一项政策,即在首次审核以查找所有这些列并编写版本1之后,凡向其中添加了此类数据的列的人都更新脚本以使其匿名。
如果您的数据库很小,则具有简单的数据模型并且可以被当前的DBA很好地理解-脚本“可能”就是答案。但是,随着需求的变化,功能的增加以及开发人员/ DBA的到来,手动分析和掩盖典型数据库的工作(和成本)很快就会失控。
虽然我不知道任何开源数据屏蔽产品,但是有一些商业产品是相当全面的,相对易于使用的,并且可能出乎意料的合理成本。它们中的许多功能都具有开箱即用的发现功能,可以对敏感数据(SSN,信用卡,电话号码)进行识别和分类,以及维护校验和,电子邮件地址格式,数据分组等功能,以便屏蔽数据看起来和感觉真实。
但是您不必为此而接受我的(公认的偏见)这个词。询问诸如Gartner或Forrester之类的行业分析师,他们在掩盖方面有许多无偏见的报告可能会有所帮助。
希望这些评论会鼓励您考虑开发商业产品以及内部脚本开发。归根结底,最重要的是保护我们许多人日以继夜地看到的敏感数据,而这些数据是我们真正不需要做的工作–将我们和个人我们面临风险的数据。
迷彩软件公司高级集成专家Kevin Hillier
从来没有见过这样的项目,但是在我处理过一些敏感数据集之后,需要打扰的主要事情是人们的身份或个人识别信息。这应该只在数据库中的几个地方出现。
屏蔽操作应保留数据的统计属性和关系,并且可能需要保留实际的参考代码(或至少某种受控转换机制),以便可以将其与实际数据进行协调。
可以通过在字段中获取名称的唯一列表并将其替换为FirstNameXXXX(其中XXXX是序列号,每个不同的值一个)来实现这种目的。在开发环境中,可能用于身份盗用的信用卡号和类似信息很可能是禁止的,但只有在测试付款处理系统时才需要真实的密码-通常,供应商会为您提供特殊代码用于虚拟帐户。
编写这种匿名程序并不特别困难,但是您需要确切地同意需要与业务匿名化的内容。如有必要,逐字段浏览数据库。询问是/否会给您您不想要的误报。请业务代表解释为什么,或者不对特定数据进行匿名处理的后果或监管含义。
几周前我完成了相同的任务。我们评估了一些软件系统,但是大多数软件系统仅用于一种数据库,例如oracle,使用起来通常很复杂……因此,没有什么是最好的评估方法。我们花了几个星期。
我们决定购买数据屏蔽套件专业版,因为它是最容易使用的一种。它也可以屏蔽数据,例如,您可以将电子邮件地址更改为真实的电子邮件地址,例如... @ siemens.com至mike.miller@seimsen.com。
据我所知,您可以免费试用约500(?)条记录。
我这样做的方式:
column to be masked
))几年前,我首先陈述了这条路,此后根据这一实践建立了一家咨询公司。
我假设这样做的目的是建立测试数据,以用于那些无法访问生产信息的人员访问数据的人员的测试环境中。
首先要确定的是确切地需要掩盖哪些数据元素,并要做到这一点,最好首先使用诸如Schema Spy(开源)之类的数据发现工具开始,并且您将需要相关的jdbc驱动程序来完成此任务,但是是该过程中非常有用的步骤。
Talend Open Studio是我近年来用来执行某些ETL功能的最佳工具之一,通过将值替换为random或,您还将能够进行一些基本的掩蔽实践。查找/替换-保持一致性-使用地图组件。
但是,如果您正在寻找真正的数据屏蔽工具,那么我还没有找到合适的开源工具。如果您对工具的预算非常适中,建议使用Data Masker,但您将需要通过MS SQL或Oracle进行一些导入和导出,因为它们仅通过那些协议进行连接。
请访问http://www.datakitchen.com.au/2012-08-14-15-04-20/data-masking/data-masker-toolset, 以获取有关数据屏蔽,数据屏蔽方法,数据发现和测试数据的信息管理。在http://www.dataobfuscation.com.au上也有一个有用的博客。
Informatica市场上有一种称为Informatica ILM(TDM)的工具。这将PowerCenter用作ETL的备用,并使用可用的不同屏蔽选项来屏蔽数据。您完全需要一位数据分析师或SME,他们可以了解如何屏蔽数据。工具本身不提供应屏蔽哪些字段的信息,但是有一种内部算法或过程或过程来识别敏感数据字段,例如名称,带有编号的ID列,信用卡,SSN编号,帐号等。
我最喜欢的一个是IRI FieldShield(https://www.iri.com/products/fieldshield),它具有多功能性(大多数数据屏蔽功能),速度(用于内部数据移动的CoSort引擎)和人体工程学(简单的4GL作业)在其Eclipse GUI中支持大量的数据库和文件连接)。从价格上看,它大约是IBM和Informatica的一半,尽管它也可以在更大的数据集成套件中用于“大”数据转换,迁移和BI。因此,它也不是免费的,而是使用一些开放源代码(IDE,并且可以使用OpenSSL和GPG),并且脚本可以在Windows,Linux和其他Unix版本上运行。