CN110135184B - 一种静态数据脱敏的方法、装置、设备及存储介质 - Google Patents
一种静态数据脱敏的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110135184B CN110135184B CN201810131585.9A CN201810131585A CN110135184B CN 110135184 B CN110135184 B CN 110135184B CN 201810131585 A CN201810131585 A CN 201810131585A CN 110135184 B CN110135184 B CN 110135184B
- Authority
- CN
- China
- Prior art keywords
- data
- desensitization
- static
- desensitizing
- partition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000003068 static effect Effects 0.000 title claims abstract description 82
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000000586 desensitisation Methods 0.000 claims abstract description 161
- 238000005192 partition Methods 0.000 claims abstract description 85
- 230000008676 import Effects 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 19
- 238000013475 authorization Methods 0.000 claims description 17
- 235000019580 granularity Nutrition 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 3
- 238000007418 data mining Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种静态数据脱敏的方法、装置、设备及存储介质,涉及数据安全领域,所述方法包括:对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据;对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据;将所述已脱敏数据写入关系数据库或大数据系统。本发明实施例可以同时支持大数据系统及关系数据库的静态数据脱敏,并支持敏感数据脱敏后导入导出大数据系统。
Description
技术领域
本发明涉及数据安全领域,特别涉及一种静态数据脱敏的方法、装置、设备及存储介质。
背景技术
在一些应用场景中,传统关系数据库需要向大数据系统迁移数据或者将大数据系统中的数据同步到关系数据库。这些源数据库系统中存储了大量的隐私数据,其中有些敏感信息具有以下特征:后续应用环节对于个体数据的失真不关注,仅关注群体的分布特征,用于统计和数据挖掘应用。对于这一类敏感信息,通过静态数据脱敏技术在将敏感数据持久化存储到目标数据库系统之前,就要依据数据特征使用随机化等数据脱敏算法对个体数据的敏感信息进行数据失真处理,使数据内容及数据间的关联能够满足测试、开发中的问题排查需要,同时进行数据分析、数据挖掘等分析活动。
目前,很多关系数据库自身不具备数据脱敏功能,无法利用数据库自身的能力进行静态脱敏。静态数据脱敏方法和装置大都面向关系数据库,不支持关系数据库与大数据系统之间敏感数据脱敏后的导入导出。
常用的静态脱敏方法通常利用脱敏服务器中间件执行脚本或者多线程任务获取脱敏后的数据后再导入目标数据库,此类方法需要脱敏服务器进行数据中转。在大数据海量数据的场景下,脱敏服务器将成为性能瓶颈,无法充分利用大数据的分布式并行处理能力进行静态数据脱敏。
发明内容
本发明实施例提供的一种静态数据脱敏的方法、装置、设备及存储介质,解决现有关系数据库和大数据系统(即大数据数据库系统)不支持数据脱敏,敏感数据脱敏后导入导出,以及采用脱敏服务器中间静态脱敏方式处理性能差的问题。
根据本发明实施例提供的一种静态数据脱敏的方法,包括:
对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据;
对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据;
将所述已脱敏数据写入关系数据库或大数据系统。
优选地,所述对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据包括:
利用大数据处理工具sqoop,从所述关系数据库获取所述待导入的数据集的元数据信息,并生成用于实现数据导入的映射规约MapReduce作业;
在执行所述MapReduce作业期间,根据所述待导入的数据集的元数据信息,对所述待导入的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏处理的多个映射Map任务;
为每个所述Map任务获取一个所述数据分区的分区信息,并根据所述分区信息,从所述关系数据库读取每个所述数据分区的数据。
优选地,所述对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据包括:
在执行每个所述Map任务期间,按照预设脱敏策略,在从所述关系数据库读取的数据中筛选出敏感数据;
调用所述预设脱敏策略指定的适于所述敏感数据的数据脱敏算法,并利用所述数据脱敏算法,对所述敏感数据进行脱敏处理,以便将脱敏处理后得到的数据写入所述大数据系统。
优选地,所述对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据包括:
利用sqoop,从所述大数据系统获取所述待导出的数据集的元数据信息,并生成用于实现数据导出的MapReduce作业;
在执行所述MapReduce作业期间,根据所述待导出的数据集的元数据信息,对所述待导出的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏任务的多个映射Map任务;
为每个所述Map任务获取一个所述数据分区的分区信息,并根据所述分区信息,从所述大数据系统读取所述数据分区的数据。
优选地,所述对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据包括:
在执行每个所述Map任务期间,按照预设脱敏策略,在从所述大数据系统读取的所述数据中筛选出敏感数据;
调用所述预设脱敏策略指定的适于所述敏感数据的数据脱敏算法,并利用所述数据脱敏算法,对所述敏感数据进行脱敏处理,以便将脱敏处理后得到的数据写入所述关系数据库。
优选地,在所述对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据前,还包括:
通过在所述sqoop的授权模型中加入作为新受控对象的脱敏资源,得到扩展授权模型,并利用所述扩展授权模型,设置所述预设脱敏策略。
优选地,所述利用所述扩展授权模型,设置所述预设脱敏策略包括:
利用所述扩展授权模型,设置不同的数据脱敏粒度,并根据所述数据脱敏粒度,设置所述预设脱敏策略。
根据本发明实施例提供的一种静态数据脱敏的装置,包括:
数据读取模块,用于对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据;
数据脱敏模块,用于按照预设脱敏策略,对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据;
数据写入模块,用于将所述已脱敏数据写入关系数据库或大数据系统。
根据本发明实施例提供的一种静态数据脱敏的设备,包括:处理器,以及与所述处理器耦接的存储器;所述存储器上存储有可在所述处理器上运行的静态数据脱敏的程序,所述静态数据脱敏的程序被所述处理器执行时实现如上述的静态数据脱敏的方法的步骤。
根据本发明实施例提供的一种存储介质,其上存储有静态数据脱敏的程序,所述静态数据脱敏的程序被处理器执行时实现上述的静态数据脱敏的方法的步骤。
本发明实施例提供的技术方案具有如下有益效果:
本发明实施例在不破坏原始数据的前提下,根据脱敏策略对待导入或待导出的敏感数据进行高性能分布式脱敏转换后再写入关系数据库或大数据系统,从而保护数据隐私。
附图说明
图1是本发明实施例提供的静态数据脱敏的方法框图;
图2是本发明实施例提供的静态数据脱敏的装置的结构框图;
图3是本发明实施例提供的静态数据脱敏的设备框图;
图4是本发明实施例提供的静态数据脱敏装置的功能模块图;
图5是本发明实施例提供的利用sqoop实施静态数据脱敏流程。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是本发明实施例提供的静态数据脱敏的方法框图,如图1所示,步骤包括:
步骤S101:对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据。
对待导入数据集的处理:利用sqoop,从关系数据库获取所述待导入的数据集的元数据信息,并生成用于实现数据导入的映射规约MapReduce作业,在执行该MapReduce作业期间,根据所述待导入的数据集的元数据信息,对所述待导入的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏处理的多个映射Map任务,然后为每个所述Map任务获取一个所述数据分区的分区信息,并根据所述分区信息,从所述关系数据库读取每个所述数据分区的数据。
对待导出数据集的处理:利用sqoop,从大数据系统获取所述待导出的数据集的元数据信息,并生成用于实现数据导出的MapReduce作业,在执行该MapReduce作业期间,根据所述待导出的数据集的元数据信息,对所述待导出的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏任务的多个映射Map任务,然后为每个所述Map任务获取一个所述数据分区的分区信息,并根据所述分区信息,从所述大数据系统读取所述数据分区的数据。
其中,sqoop:SQL-to-Hadoop,是一个用于Hadoop大数据系统和关系型数据库(即关系数据库)之间数据相互导入导出的开源工具,可以把关系型数据库的数据导入到Hadoop系统(如HDFS、HBase和Hive)中或把数据从Hadoop系统里抽取出来并导出到关系型数据库里(如MySQL、Oracle、DB2、PostgreSQL等)中。
步骤S102:对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据。
对待导入数据集的处理:在执行每个Map任务期间,按照预设脱敏策略,在从关系数据库中读取的数据中筛选出敏感数据,然后调用所述预设脱敏策略指定的适于所述敏感数据的数据脱敏算法,并利用所述数据脱敏算法,对所述敏感数据进行脱敏处理,以便将脱敏处理后得到的数据写入所述大数据系统。
对待导出数据集的处理:在执行每个Map任务期间,按照预设脱敏策略,在从所述大数据系统读取的所述数据中筛选出敏感数据,然后调用所述预设脱敏策略指定的适于所述敏感数据的数据脱敏算法,并利用所述数据脱敏算法,对所述敏感数据进行脱敏处理,以便将脱敏处理后得到的数据写入所述关系数据库。
也就是说,本发明实施例摒弃数据脱敏服务器中转数据的方式,通过sqoop导入导出工具进行数据脱敏,这种方式是大数据静态数据脱敏程序中主要技术,更具体地说,本发明实施例通过在MapReduce过程中嵌入数据脱敏流程实现hadoop数据脱敏。
其中,本发明实施例所述数据脱敏算法包括但不限于随机化、模糊化、置空、变化、替换、散列、位移、截断、加密、匿名化等。
步骤S103:将所述已脱敏数据写入关系数据库或大数据系统。
对待导入数据集的处理:将已脱敏数据写入大数据系统。
对待导出数据集的处理:已脱敏数据写入关系数据库。
本发明实施例解决了数据库系统不支持脱敏的问题,可以同时支持大数据系统及关系数据库的静态数据脱敏,并支持敏感数据脱敏后导入导出大数据系统,此外,充分利用大数据系统的分布式计算能力,进行高性能分布式脱敏转换,大大提升了静态脱敏的处理性能。
进一步地,在步骤S101前,通过在所述sqoop的授权模型中加入作为新受控对象的脱敏资源,得到扩展授权模型,然后利用所述扩展授权模型,设置所述预设脱敏策略,具体地说,可以利用所述扩展授权模型,设置不同的数据脱敏粒度,并根据所述数据脱敏粒度,设置所述预设脱敏策略。也就是说,本发明实施例实现了细粒度的脱敏策略模型及设置流程。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中。
进一步说,本发明还可以提供一种存储介质,其上存储有静态数据脱敏的程序,所述静态数据脱敏的程序被处理器执行时实现上述的静态数据脱敏的方法的步骤。其中,所述的存储介质可以包括ROM/RAM、磁碟、光盘、U盘。
图2是本发明实施例提供的静态数据脱敏的装置的结构框图,如图2所示,包括:
数据读取模块10,用于对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据;
数据脱敏模块20,用于按照预设脱敏策略,对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据;
数据写入模块30,用于将所述已脱敏数据写入关系数据库或大数据系统。
该装置工作流程如下:
对待导入数据集的处理:数据读取模块10利用sqoop,从关系数据库获取所述待导入的数据集的元数据信息,并生成用于实现数据导入的映射规约MapReduce作业,在执行该MapReduce作业期间,根据所述待导入的数据集的元数据信息,对所述待导入的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏处理的多个映射Map任务,然后为每个所述Map任务获取一个所述数据分区的分区信息,并根据所述分区信息,从所述关系数据库读取每个所述数据分区的数据。数据脱敏模块20在执行每个Map任务期间,按照预设脱敏策略,在从关系数据库中读取的数据中筛选出敏感数据,然后调用所述预设脱敏策略指定的适于所述敏感数据的数据脱敏算法,并利用所述数据脱敏算法,对所述敏感数据进行脱敏处理,以便数据写入模块30将脱敏处理后得到的数据写入所述大数据系统。
对待导出数据集的处理:数据读取模块10利用sqoop,从大数据系统获取所述待导出的数据集的元数据信息,并生成用于实现数据导出的MapReduce作业,在执行该MapReduce作业期间,根据所述待导出的数据集的元数据信息,对所述待导出的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏任务的多个映射Map任务,然后为每个所述Map任务获取一个所述数据分区的分区信息,并根据所述分区信息,从所述大数据系统读取所述数据分区的数据。数据脱敏模块20在执行每个Map任务期间,按照预设脱敏策略,在从所述大数据系统读取的所述数据中筛选出敏感数据,然后调用所述预设脱敏策略指定的适于所述敏感数据的数据脱敏算法,并利用所述数据脱敏算法,对所述敏感数据进行脱敏处理,以便数据写入模块30将脱敏处理后得到的数据写入所述关系数据库。
图3是本发明实施例提供的静态数据脱敏的设备框图,如图3所示,包括:处理器,以及与所述处理器40耦接的存储器50;所述存储器50上存储有可在所述处理器40上运行的静态数据脱敏的程序,所述静态数据脱敏的程序被所述处理器执行时实现如上述的静态数据脱敏的方法的步骤。
本发明实施例旨在不破坏原始数据的前提下,通过本发明实施例的方法、装置、设备及存储介质,动态地根据脱敏策略,利用大数据的分布式处理能力进行高性能静态数据脱敏,从而保护数据隐私。
图4是本发明实施例提供的静态数据脱敏装置的功能模块图,如图4所示,本发明实施例摒弃数据脱敏服务器中转脱敏数据的方式,静态数据脱敏装置由静态脱敏管理模块、sqoop及数据脱敏算法模块(实现图2各模块的功能)三部分组成。
静态脱敏管理模块负责管理静态脱敏任务,包括生成静态脱敏任务、调度并监控静态脱敏任务等,同时提供脱敏策略管理界面包括接口。
sqoop是Hadoop大数据系统和关系型数据库之间数据相互导入导出的工具,包括sqoop1及sqoop2。通过在sqoop的数据导入导出流程中增加数据脱敏处理实现静态数据脱敏,该过程完全利用了大数据的分布式处理能力并发运行,实现高性能静态脱敏处理,大大提升了处理性能。
数据脱敏算法模块对敏感数据按照脱敏算法逻辑进行脱敏转换,本发明所述的数据脱敏算法包括但不限于随机化、模糊化、置空、变化、替换、散列、位移、截断、加密、匿名化等。
本发明通过扩展sqoop的授权模型,支持细粒度的静态数据脱敏策略设置,对同一个列,可以根据场景针对不同的用户/用户组/角色设置不同的脱敏规则。
sqoop授权模型为:
GRANT privilege_action_type[,privilege_action_type]...ON resource[,resource]...TO principal_specification[,principal_specification]...[WITHGRANT OPTION]
REVOKE[GRANT OPTION FOR]privilege_action_type[,privilege_action_type]...ON resource[,resource]...FROM principal_specification[,principal_specification]...
其中:
privilege_action_type:是操作集,包括ALL|CREATE|READ|WRITE;
principal_specification:代表授权的用户、用户组或者角色名,包括USERuser_name|GROUP group_name|ROLE role_name;
resource:代表受控资源类型,包括SERVER server_name|CONNECTOR connector_name|LINK link_name|JOB job_name;
本发明在resource中增加MASKING,代表受控对象是脱敏资源;
具体格式为:MASKING masking_resource
其中,masking_resource:由link_name:database:table:column:masking_function组成;
比如,对某个链路link1上数据库DB中某张表T的列C设置随机化脱敏策略,则Masking_resource为Link1:DB:T:C1:random(1000);
如上,本发明实施例的脱敏策略控制的粒度为列级别,对同一个列,可以根据场景针对不同的用户/用户组/角色设置不同的脱敏规则,也同时也可以设置细粒度的授权规则。
本发明实施例的方法利用Hadoop大数据系统和关系型数据库之间数据相互导入导出的sqoop工具,通过在sqoop的数据导入导出流程中增加数据脱敏处理,利用大数据的MapReduce分布式处理能力将数据脱敏过程在大数据集群的多个分布式处理节点并发进行,实现了高性能静态脱敏处理,通过sqoop工具可以同时支持大数据与关系数据库的静态脱敏功能。
sqoop import导入命令会把导入过程转换为1个MapReduce作业在大数据集群分布式运行,每个Map读一片数据,并行从关系数据库中读取数据,在获取数据之后调用数据脱敏算法进行脱敏处理,经过脱敏处理后的数据写入Hadoop系统。
sqoop export导出命令会把导出过程转换为1个MapReduce作业在大数据集群分布式运行,每个Map读一片数据,根据用户指定的分隔符并行从hadoop数据库读入并解析数据,在写入数据库之前调用数据脱敏算法进行脱敏处理,经过脱敏处理后的数据转换成insert/update语句导入数据到关系数据库。
图5是本发明实施例提供的利用sqoop实施静态数据脱敏流程,如图5所示,具体步骤包括:
步骤1:系统管理员登录静态脱敏管理的脱敏策略界面,设置敏感数据的脱敏策略,指定敏感数据的脱敏算法,脱敏策略界面将用户设置的脱敏策略转换为sqoop的grant命令,提交给sqoop执行将脱敏策略写入sqoop系统。
特别地:本步骤可以直接通过Grant命令直接设置脱敏策略。
步骤2:系统管理员登录静态脱敏管理的任务管理界面,创建静态脱敏任务,指定新建静态数据脱敏任务的数据源及目标数据库、表、导出条件等,包括增量模式、任务提交到大数据集群的队列等各种控制参数。
步骤3:静态数据脱敏管理程序将用户的界面输入参数转换为一个或者多个sqoop命令,如果是导入,则转换为sqoop import命令,如果是导出,则转换为sqoop export命令,将命令写入待执行队列,按照顺序逐个调度执行。
特别地,通过使用sqoop的--check-column(指定要导入行时的要检查的列)和--last-value(指定先前导入检查列的最大值)参数,可以增量从数据库中导入新增的数据,sqoop只导入指定列中大于last-value的记录。对于写入后不更新的数据,并且ID是严格递增的,使用—incremental(指定sqoop如何确定哪些行是新的)参数增量导入,对会更新的数据,可以使用--incremental lastmodified(增量模式之一)来增量。增量导入结束后,sqoop会打印出--last-value,用于下次使用。
为了避免sqoop生成的MapReduce作业占用集群过多资源,在执行导入导出命令时,可以指定-Dmapreduce.job.queuename参数,设置MapReduce作业的运行队列,通过在此队列设置资源配额,限制任务占用系统物理资源。
步骤4:静态数据脱敏管理程序将sqoop的import或者export命令提交到Hadoop集群分布式执行。
步骤5:sqoop接受到静态数据脱敏管理程序的命令请求,对请求进行解析,包括以下两种情况:
(一)如果是import命令,即将关系数据库静态脱敏后导入Hadoop系统,具体流程包括:
步骤5.1:sqoop接收import数据导入请求,与源数据库通信,获取源数据库表的元数据信息。
步骤5.2:sqoop将导入命令翻译成MapReduce作业,设置好该作业的运行参数之后,启动一个MapReduce作业。
步骤5.3:该步骤为一个正常的MapReduce作业运行过程:
5.3.1:首先对数据进行切分,将数据集划分为不同的分区,将每个分区的处理范围写入文件中,启动多个Map任务完成如下流程:
5.3.2:InputFormat读取分区信息,从数据库中执行对应的SQL语句获取本分区的数据,并生成Key和Value对,交给map接口。
特别地,当执行完SQL语句从数据库获取SQL查询结果后,先获取脱敏策略,根据脱敏策略判断,判断当前获取的记录是否含有敏感字段,如果有,则需要根据配置的脱敏算法转换后,生成Key和Value对,交给map接口处理;
具体流程如下:
步骤5.3.2.1:首先获取待执行的SQL语句;
步骤5.3.2.2:获取SQL语句查询的输出表结构;
步骤5.3.2.3:获取步骤5.3.2.2每一个输出字段对应的脱敏规则;
步骤5.3.2.4:准备SQL语句;
步骤5.3.2.5:执行SQL语句;
步骤5.3.2.6:获取查询结果,对查询结果进行遍历,将行记录进行拼装供map调用,在遍历过程中对其中含敏感字段的列调用对应的脱敏算法转换,非敏感字段仅需要拼装。
5.3.3:map接口将获取的行数据写入HDFS文件中,生成的Key是行数据。
步骤5.4:所有的Map任务执行完成后,MapReduce作业会返回执行结果。
步骤5.5:sqoop向静态脱敏管理程序返回数据导入结果。
(二)如果是export命令,即将Hadoop系统数据静态脱敏后导出到关系数据库,具体流程包括:
步骤5.1:sqoop接收客户端的数据导出请求,与数据库Server通信,获取数据库表的元数据信息。
步骤5.2:sqoop将导入命令翻译成MapReduce作业,设置好该作业的运行参数之后,启动一个MapReduce作业。
步骤5.3:该步骤为一个正常的MapReduce作业运行过程。
步骤5.3.1:首先对数据进行切分,将数据集划分为不同的分区,将每个分区的处理范围写入文件中,启动多个Map任务完成如下流程:
步骤5.3.2:每个Map任务根据各自的任务范围进行数据导出工作,创建RecordReader通过从HDFS并行读取数据并生成Key和Value对,交给map接口。
特别地,在从HDFS读取数据过程中,先获取脱敏策略,根据脱敏策略判断,判断当前获取的记录是否含有敏感字段,如果有,则需要根据配置的脱敏算法转换后,生成Key和Value对,交给map接口处理。
具体流程如下:
步骤5.3.2.1:获取SQL语句查询的输出表结构;
步骤5.3.2.2:获取步骤5.2.1每一个输出字段对应的脱敏规则;
步骤5.3.2.3:通过RecordReader的nextValue接口获取一条行记录;
步骤5.3.2.4:对该行记录进行拆分,对其中含敏感字段的列调用对应的脱敏算法转换转换后进行拼装,对非敏感字段仅需要拼装,将拼装后的脱敏行记录交给map接口。
步骤5.3.3:map接口将行数据批量插入关系数据库的目标表中;
步骤5.4:所有的Map任务执行完成后,MapReduce作业会返回执行结果。
步骤5.5:sqoop向静态脱敏管理程序返回数据导出结果。
步骤6:静态数据脱敏管理程序接收sqoop返回的命令执行结果,如果命令执行成功,则继续选择下一条待执行的命令,执行步骤4-步骤5,直到所有待执行命令全部运行完成。如果命令执行失败,则按照失败处理策略决定处理步骤四跳过执行下一条命令或者继续进行尝试该命令或者整个任务失败;
步骤7:当所有待执行命令执行完成或者异常中断,则静态脱敏程序向用户返回结果。
特别地,本发明支持直接通过sqoop的导入导出命令实施静态脱敏,具体参考步骤5。
综上所述,本发明实施例具有以下技术效果:
本发明实施例解决了数据库系统不支持脱敏的问题,可以同时支持大数据及关系库的静态数据脱敏,同时充分利用了大数据系统的分布式计算能力,进行高性能分布式脱敏转换,大大提升了静态脱敏的处理性能。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
Claims (8)
1.一种静态数据脱敏的方法,其特征在于,包括:
对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据;
对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据;
将所述已脱敏数据写入关系数据库或大数据系统;
其中,所述对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据包括:
利用大数据处理工具sqoop,从所述关系数据库获取所述待导入的数据集的元数据信息,并生成用于实现数据导入的映射规约MapReduce作业;或利用sqoop,从所述大数据系统获取所述待导出的数据集的元数据信息,并生成用于实现数据导出的MapReduce作业;
在执行所述MapReduce作业期间,根据所述待导入的数据集的元数据信息,对所述待导入的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏处理的多个映射Map任务;或根据所述待导出的数据集的元数据信息,对所述待导出的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏处理的多个映射Map任务;
为每个所述Map任务获取一个所述数据分区的分区信息,并根据所述分区信息,从所述关系数据库读取每个所述数据分区的数据。
2.根据权利要求1所述的方法,其特征在于,所述对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据包括:
在执行每个所述Map任务期间,按照预设脱敏策略,在从所述关系数据库读取的数据中筛选出敏感数据;
调用所述预设脱敏策略指定的适于所述敏感数据的数据脱敏算法,并利用所述数据脱敏算法,对所述敏感数据进行脱敏处理,以便将脱敏处理后得到的数据写入所述大数据系统。
3.根据权利要求1所述的方法,其特征在于,所述对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据包括:
在执行每个所述Map任务期间,按照预设脱敏策略,在从所述大数据系统读取的所述数据中筛选出敏感数据;
调用所述预设脱敏策略指定的适于所述敏感数据的数据脱敏算法,并利用所述数据脱敏算法,对所述敏感数据进行脱敏处理,以便将脱敏处理后得到的数据写入所述关系数据库。
4.根据权利要求2或3所述的方法,其特征在于,在所述对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据前,还包括:
通过在所述sqoop的授权模型中加入作为新受控对象的脱敏资源,得到扩展授权模型,并利用所述扩展授权模型,设置所述预设脱敏策略。
5.根据权利要求4所述的方法,其特征在于,所述利用所述扩展授权模型,设置所述预设脱敏策略包括:
利用所述扩展授权模型,设置不同的数据脱敏粒度,并根据所述数据脱敏粒度,设置所述预设脱敏策略。
6.一种静态数据脱敏的装置,其特征在于,包括:
数据读取模块,用于对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据;
数据脱敏模块,用于按照预设脱敏策略,对每个所述数据分区的数据进行脱敏处理,得到已脱敏数据;
数据写入模块,用于将所述已脱敏数据写入关系数据库或大数据系统;
其中,所述对待导入或待导出的数据集进行划分,得到多个数据分区,并读取每个所述数据分区的数据包括:
利用大数据处理工具sqoop,从所述关系数据库获取所述待导入的数据集的元数据信息,并生成用于实现数据导入的映射规约MapReduce作业;或利用sqoop,从所述大数据系统获取所述待导出的数据集的元数据信息,并生成用于实现数据导出的MapReduce作业;
在执行所述MapReduce作业期间,根据所述待导入的数据集的元数据信息,对所述待导入的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏处理的多个映射Map任务;或根据所述待导出的数据集的元数据信息,对所述待导出的数据集进行划分,得到多个所述数据分区,并启动用于并发进行多个静态脱敏处理的多个映射Map任务;
为每个所述Map任务获取一个所述数据分区的分区信息,并根据所述分区信息,从所述关系数据库读取每个所述数据分区的数据。
7.一种静态数据脱敏的设备,其特征在于,所述设备包括:处理器,以及与所述处理器耦接的存储器;所述存储器上存储有可在所述处理器上运行的静态数据脱敏的程序,所述静态数据脱敏的程序被所述处理器执行时实现如权利要求1至5中任一项所述的静态数据脱敏的方法的步骤。
8.一种存储介质,其特征在于,其上存储有静态数据脱敏的程序,所述静态数据脱敏的程序被处理器执行时实现如权利要求1至5中任一项所述的静态数据脱敏的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810131585.9A CN110135184B (zh) | 2018-02-09 | 2018-02-09 | 一种静态数据脱敏的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810131585.9A CN110135184B (zh) | 2018-02-09 | 2018-02-09 | 一种静态数据脱敏的方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110135184A CN110135184A (zh) | 2019-08-16 |
CN110135184B true CN110135184B (zh) | 2023-12-22 |
Family
ID=67567693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810131585.9A Active CN110135184B (zh) | 2018-02-09 | 2018-02-09 | 一种静态数据脱敏的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110135184B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795764A (zh) * | 2019-11-01 | 2020-02-14 | 中国银行股份有限公司 | 一种数据脱敏方法及系统 |
CN112799820B (zh) * | 2021-02-05 | 2024-06-11 | 拉卡拉支付股份有限公司 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
CN113051357B (zh) * | 2021-03-08 | 2022-09-30 | 中国地质大学(武汉) | 一种基于博弈论的矢量地图最优化局部脱敏方法 |
CN113420330A (zh) * | 2021-06-28 | 2021-09-21 | 国网湖南省电力有限公司 | 大数据系统的可视化脱敏数据生成方法 |
CN114817390B (zh) * | 2022-04-27 | 2024-08-06 | 中国农业银行股份有限公司 | 一种基于Sqoop程序的数据处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138661A (zh) * | 2015-09-02 | 2015-12-09 | 西北大学 | 一种基于Hadoop的网络安全日志k-means聚类分析系统及方法 |
CN107040894A (zh) * | 2017-04-21 | 2017-08-11 | 杭州市综合交通研究中心 | 一种基于手机信令数据的居民出行od获取方法 |
CN107526813A (zh) * | 2017-08-23 | 2017-12-29 | 北京明朝万达科技股份有限公司 | 一种脱敏数据的处理方法和装置 |
CN107526836A (zh) * | 2017-09-07 | 2017-12-29 | 山东省城市商业银行合作联盟有限公司 | 基于大数据的银行零售存款业务数据分析系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7797341B2 (en) * | 2007-04-30 | 2010-09-14 | Hewlett-Packard Development Company, L.P. | Desensitizing database information |
-
2018
- 2018-02-09 CN CN201810131585.9A patent/CN110135184B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138661A (zh) * | 2015-09-02 | 2015-12-09 | 西北大学 | 一种基于Hadoop的网络安全日志k-means聚类分析系统及方法 |
CN107040894A (zh) * | 2017-04-21 | 2017-08-11 | 杭州市综合交通研究中心 | 一种基于手机信令数据的居民出行od获取方法 |
CN107526813A (zh) * | 2017-08-23 | 2017-12-29 | 北京明朝万达科技股份有限公司 | 一种脱敏数据的处理方法和装置 |
CN107526836A (zh) * | 2017-09-07 | 2017-12-29 | 山东省城市商业银行合作联盟有限公司 | 基于大数据的银行零售存款业务数据分析系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110135184A (zh) | 2019-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110135184B (zh) | 一种静态数据脱敏的方法、装置、设备及存储介质 | |
US11392586B2 (en) | Data protection method and device and storage medium | |
EP2565802B1 (en) | Data masking setup | |
DE202018006529U1 (de) | Gemeinsames Nutzen bzw. Teilen von Daten in einem mandantenfähigen Datenbanksystem | |
US9430665B2 (en) | Dynamic authorization to features and data in JAVA-based enterprise applications | |
DE202020005715U1 (de) | Dynamische Maskierung geteilter Datenobjekte | |
EP3690695A1 (en) | Data management system and data management method | |
DE112012005037T5 (de) | Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds | |
EP2406736A2 (en) | Composite hash and list partitioning of database tables | |
WO2014067449A1 (en) | System and method for flexible distributed massively parallel processing (mpp) database | |
Chen et al. | Bestpeer++: A peer-to-peer based large-scale data processing platform | |
US11275850B1 (en) | Multi-faceted security framework for unstructured storage objects | |
CN110532279A (zh) | 大数据平台权限控制方法、装置、计算机设备及存储介质 | |
Varga et al. | Introducing Microsoft SQL Server 2016: Mission-Critical Applications, Deeper Insights, Hyperscale Cloud | |
CN115758459A (zh) | 数据权限管理方法及装置 | |
US7752225B2 (en) | Replication and mapping mechanism for recreating memory durations | |
US20210089527A1 (en) | Incremental addition of data to partitions in database tables | |
CN111344997B (zh) | 重新连线密码密钥管理系统服务实例 | |
CN106897345A (zh) | 一种数据存储的方法及装置 | |
CN115221541A (zh) | 一种基于eBPF的自动化访问控制方法、系统及设备 | |
Rooney et al. | Experiences with managing data ingestion into a corporate datalake | |
CN107562521A (zh) | 一种资源管理方法及装置 | |
CN109241057A (zh) | 一种用于分布式系统的数字id生成方法 | |
US20240241981A1 (en) | Methods and systems for data synchronization, and computer-readable storage media | |
EP4081888A1 (en) | Dynamic adaptive partition splitting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |