我正在寻找一种自动化的解决方案,可以将敏感数据从prod环境清除到我的DEV和DEVINT环境,这样我就不需要编写大量代码就可以完成这个任务。有谁知道SSIS中的数据质量服务和数据清理步骤是否能帮到我呢?或者,是否还有其他人建议无需编写TSQL就可以删除我的数据呢?
发布于 2014-10-08 16:03:15
清理敏感数据是一个广泛的话题。你基本上需要根据你公司的数据保护政策来定义什么是PII (个人身份识别信息),或者什么是你不想让别人看到的敏感信息?
Server 2012*没有任何本机工具来屏蔽或清除敏感数据。
在我的公司,我们已经开发了内部工具,可以屏蔽客户敏感的数据,如电子邮件、电话、姓名等等。
如果您必须重复这样做,我建议您从PROD中获取模式,然后使用第三方工具(如来自红门的数据生成器 )生成测试数据。
有几种方法将有助于隐藏敏感数据(一旦确定了敏感数据-哪些被认为是敏感的),例如:
布伦特在如何屏蔽数据以进行安全测试?上写了一篇很好的博客
*在Server 2016中,微软引入了动态数据掩蔽
它是一种数据保护功能,它将敏感数据隐藏在指定数据库字段的查询结果集中,而数据库中的数据不会更改。动态数据掩蔽很容易在现有应用程序中使用,因为在查询结果中应用了掩蔽规则。
发布于 2014-10-08 16:29:09
您可能需要更详细地理解您所说的“数据清理”。我假设您的意思是获取生产数据和随机化敏感信息(任何标识人员或组织的信息,如名称、代码、地址等)。
您很难通过自动化解决方案找到更多的解决方案,至少不能处理最简单的数据库,因为如果没有特定的应用程序知识,就很难确定需要更改什么,必须保持什么--否则应用程序将无法理解它,而必须更改哪些内容,但必须与其他数据保持同步(如果您将所有数据都以良好的结构化形式处理,那么复制将是最小的/零)。
即使写一些一般有用的东西是实用的,而作为涵盖简单字段的一般工具,自由文本字段也是一个很大的问题,因为它们可能包含敏感信息,并且需要相当多的人工智能来解析(只是消隐或随机化它们可能不合适)。
我可以设想一个工具,可以帮助您讨论创建数据清理脚本的一些腿工作,但我不知道存在什么。
通常更容易,尤其是说服审计师--如果客户要求您被客户访问以检查您对数据的处理,生成随机/任意的测试数据--可能仍然使用对生产数据库的引用--但只用于确保您的测试数据在每个表中具有相同的数据平衡。这样你就知道里面没有敏感的信息,因为不可能有:你从来没有从任何开始,你知道你没有放任何信息。有几个工具是为了从这个方向来帮助这个过程,我相信RedGate在他们的工具箱里提供了一个工具。
https://dba.stackexchange.com/questions/78693
复制相似问题