1

如何出于开发目的对 SQL Server 中的数据进行模糊处理,以便在没有加密密钥的情况下隐藏敏感数据,因为这是可以破解的。

4

1 回答 1

1

好的,我不确定您是否需要出于监管目的对数据进行加密,或者仅仅是因为您不信任您的开发人员。鉴于我不知道您的数据所在的法律,我无法回答监管方面的问题。

对于信任方来说,最好的解决方案不是加密/解密数据(尽管可能出于其他原因需要这样做),而是对数据集进行分区并只允许特定人员访问他们所需的数据。您可以通过拥有单独的开发、登台和生产环境来做到这一点:

  1. 开发人员仅在加载了足够的虚拟数据以完成工作的开发环境中工作。开发人员可以完全访问此处的数据和代码。

  2. QA 人员在模拟真实系统的暂存环境中测试代码,但同样只加载了足够的虚拟数据进行测试。开发人员可能有权访问此系统,也可能无权访问此系统

  3. 生产环境有经过测试的代码和所有的真实数据。只有受信任的系统管理员才能访问此系统。开发人员无权访问此系统。

敏感数据由系统管理员保护,授予人们在维护整个系统中所扮演的角色的正确权限。

在某些时候,您需要信任某人拥有您的数据,但通过对其进行分区,您可以减少有权访问它的人数。

编辑

从评论看来,您似乎已经拥有此架构,并且您希望将实时数据从生产服务器传输到开发服务器。一般来说,这是一个Bad Idea, 并且违背了拆分环境的目的。

除非您有某种令人信服的理由这样做,否则在开发环境中应该不需要有实际的敏感数据。如果您想做负载测试等,请让一些开发人员编写数据生成例程。

于 2013-08-15T11:18:08.677 回答