最近看到了一些关于Oracle数据库的Data Masking方面的资料。虽然我用不上,但是觉得这个Pack设计的初衷还是非常体贴某些用户的。虽然说并不是人人都需要,也不是什么特别高深的技术,但是对于某些人来说,终于可以多一些时间回去享受一下老婆孩子热炕头的生活了。
        我想Oracle设计Data Masking应该是为了要解决从生产环境的数据向测试环境(或者开发环境)导入时可能会产生的数据内容安全问题。因为在软件开发的最后阶段,是需要一个尽量真实的数据来作为基础测试软件的一系列功能。尤其是企业信息化系统,什么ERP、BI、EPM……这些大型系统实施或开发的时候,对于基础数据的要求很严格。很多时候都是直接克隆生产环境的数据来进行软件系统的测试。这个操作应该是很简单的,比如相同的操作系统把数据文件拷贝过来就可以了。但是随之而来的影响却是深远的。生产数据中,首先它是一个真实的数据,透过数据基本上掌握了整个企业的资料。其次,在这当中包含很多敏感数据,不光是敏感数据,而且还是真实的敏感数据。什么销售额、利润、成本、每个人的工资……完完全全都是纪实版的商业秘密。如果在测试环境中发生了信息泄露问题,那么对于企业数据安全将造成致命的后果。
        对于某些企业,已经意识到了这个安全问题。于是自己编写一些脚本在生产数据上做一些更改然后用于开发和测试环境。但是这样做费时费力又难免出错。如果破坏了数据件的完整关系或某种对应关系,会给软件测试和信息化项目实施带来重大的损失。这方面,做ERP、BI、EPM项目实施的朋友们可能深有体会。出于企业数据安全的考虑,企业拿出来用于测试的数据往往会导致这些应用系统的错误甚至崩溃。而且这些信息系统里的数据关系超级错综复杂,搞不好请高人写个脚本,加班费都要花去不少银子,而结果还不一定满意。当你满头大汗的检查信息系统错误的时候,那一堆错误数据可能正隐藏在某个数据表的深处偷笑……
        彻底改善这种状况就是Oracle Database Data Masking出现的一个重要原因。嗯,我想可能也是因为Oracle收购了大量的ERP、BI、EPM软件厂商以后,在实施过程中切实的感受到了这个困难。所以,什么是Data Masking,简单来说就是编脚本的活,现在Oracle帮你干了。即可以保证数据关系的正确和完整,又通过数据转换保护了敏感数据不会外泄。

        Data Masking的功能很好理解:
        1.   按照指定的规则进行数据转换,可以通过规则控制最终生成的数据格式。比如某个地区的身份证,其前六位一定是地区的号码,后面八位是出生日期,最后四位可以取随机数,然后配合区分男女性别的规则,就会产生一系列的完全有可能是真实的“虚拟身份证号”。或者某地区的车牌,又或者内部一些单据都可以设定规则来进行转换。
        2.   维护数据表间的引用关系:如果数据库系统里存在表之间的引用完整性规定,则转换后的数据自动维持表之间的引用关系,如果系统里本来并不存在引用关系的表(如Siebel的应用并不通过主外键来定义数据的完整性,而是通过自己定义的一个字段来定义完整关系),也可以手工指定数据间的引用关系从而能够使得转换后的数据能够维持原来的引用关系。
        3.   通过EM图形界面来定义Data Masking,非常容易理解和上手!

 

最近看到了一些关于Oracle数据库的Data Masking方面的资料。虽然我用不上,但是觉得这个Pack设计的初衷还是非常体贴某些用户的。虽然说并不是人人都需要,也不是什么特别高深的技术,但是对于某些人来说,终于可以多一些时间回去享受一下老婆孩子热炕头的生活了。
我想Oracle设计Data Masking应该是为了要解决从生产环境的数据向测试环境(或者开发环境)导入时可能会产生的数据内容安全问题。因为在软件开发的最后阶段,是需要一个尽量真实的数据来作为基础测试软件的一系列功能。尤其是企业信息化系统,什么ERPBIEPM……这些大型系统实施或开发的时候,对于基础数据的要求很严格。很多时候都是直接克隆生产环境的数据来进行软件系统的测试。这个操作应该是很简单的,比如相同的操作系统把数据文件拷贝过来就可以了。但是随之而来的影响却是深远的。生产数据中,首先它是一个真实的数据,透过数据基本上掌握了整个企业的资料。其次,在这当中包含很多敏感数据,不光是敏感数据,而且还是真实的敏感数据。什么销售额、利润、成本、每个人的工资……完完全全都是纪实版的商业秘密。如果在测试环境中发生了信息泄露问题,那么对于企业数据安全将造成致命的后果。
对于某些企业,已经意识到了这个安全问题。于是自己编写一些脚本在生产数据上做一些更改然后用于开发和测试环境。但是这样做费时费力又难免出错。如果破坏了数据件的完整关系或某种对应关系,会给软件测试和信息化项目实施带来重大的损失。这方面,做ERPBIEPM项目实施的朋友们可能深有体会。出于企业数据安全的考虑,企业拿出来用于测试的数据往往会导致这些应用系统的错误甚至崩溃。而且这些信息系统里的数据关系超级错综复杂,搞不好请高人写个脚本,加班费都要花去不少银子,而结果还不一定满意。当你满头大汗的检查信息系统错误的时候,那一堆错误数据可能正隐藏在某个数据表的深处偷笑……
彻底改善这种状况就是Oracle Database Data Masking出现的一个重要原因。嗯,我想可能也是因为Oracle收购了大量的ERPBIEPM软件厂商以后,在实施过程中切实的感受到了这个困难。所以,什么是Data Masking,简单来说就是编脚本的活,现在Oracle帮你干了。即可以保证数据关系的正确和完整,又通过数据转换保护了敏感数据不会外泄。

的功能很好理解:

 

1.   按照指定的规则进行数据转换,可以通过规则控制最终生成的数据格式。比如某个地区的身份证,其前六位一定是地区的号码,后面八位是出生日期,最后四位可以取随机数,然后配合区分男女性别的规则,就会产生一系列的完全有可能是真实的“虚拟身份证号”。或者某地区的车牌,又或者内部一些单据都可以设定规则来进行转换。
2.   维护数据表间的引用关系:如果数据库系统里存在表之间的引用完整性规定,则转换后的数据自动维持表之间的引用关系,如果系统里本来并不存在引用关系的表(如Siebel的应用并不通过主外键来定义数据的完整性,而是通过自己定义的一个字段来定义完整关系),也可以手工指定数据间的引用关系从而能够使得转换后的数据能够维持原来的引用关系。
3.   通过EM图形界面来定义Data Masking,非常容易理解和上手!


 


 

Data Masking

的功能很好理解:

 

 



 

如下图所示:将源数据(上半部分)进行加工转换,在保持原有结构和规则的前提下,以新的数据覆盖原有内容。最终生成用于测试和开发环境的数据(下半部分)

 

      Data Masking的工作,照我理解应该是这样一个流程。

没有相关文章