本申请涉及数据库数据处理技术领域,尤其涉及一种用于实现数据库数据脱敏访问的技术。
背景技术:
动态脱敏技术是一种通过sql(structuredquerylanguage,结构化查询语言)改写技术,在不变动数据库中原始数据的前提下,针对敏感的原始数据进行数据抽取、数据漂白和动态掩码等处理的技术。通过动态脱敏技术,对敏感数据进行屏蔽、遮盖、变形处理,从而有效的防止敏感数据的泄漏。
目前对数据库数据的动态脱敏是在编写sql语句时,对敏感数据字段手动设置脱敏策略。由于每个数据库都是内部支持账号权限设置的,这种手动设置需要dba(databaseadministrator,数据库管理员)对数据库用户账号逐个进行授权脚本编写,使得账号管理非常混乱,而且操作不友好,效率也低。
技术实现要素:
本申请的目的是提供一种用于实现数据库数据脱敏访问的方法与设备,用以解决现有技术中实现数据库数据动态脱敏操作不友好、效率低的技术问题。
根据本申请的一个方面,提供了一种用于实现数据库数据脱敏访问的方法,其中,所述方法包括:
接收用户基于客户端web页面发送的访问数据库数据请求,其中,所述访问数据库数据请求中包含对应的用户账户的信息,并判断所述用户账户是否有访问权限;
若所述用户账户有访问权限,获取与所述访问数据库数据请求对应的响应数据,并将所述响应数据与预设数据脱敏策略进行匹配;
若所述响应数据中包含符合预设数据脱敏策略的数据,则将符合预设数据脱敏策略的数据进行变形,获得与所述访问数据库数据请求对应的脱敏数据;
向客户端web页面返回所述脱敏数据,以实现用户对数据库数据的脱敏访问。
可选地,其中,对用户账户的访问权限的设置是通过web页面进行的。
可选地,其中,所述访问权限包括:
允许访问的时间:
允许访问的ip地址;
允许对数据库的表的操作。
可选地,其中,所述对数据库的表的操作至少包括以下任一项:
删除表;
查询表内数据;
修改表内数据;
增加表内数据;
删除表内数据。
可选地,其中,所述数据脱敏策略包括:
确定数据库中的敏感数据并将敏感数据进行数据变形的规则,以实现对敏感数据的保护。
可选地,其中,所述将符合预设数据脱敏策略的数据进行变形包括以下至少一项:
将所述数据替换成预设字符串;
将所述数据的全部或者部分替换成预设字符;
将所述数据进行随机变形。
根据本申请的另一方面,还提供了一种用于实现数据库数据脱敏访问的设备,其中,所述设备包括:
第一装置,用于接收用户基于客户端web页面发送的访问数据库数据请求,其中,所述访问数据库数据请求中包含对应的用户账户的信息,并判断所述用户账户是否有访问权限;
第二装置,用于若所述用户账户有访问权限,获取与所述访问数据库数据请求对应的响应数据,并将所述响应数据与预设数据脱敏策略进行匹配;
第三装置,用于若所述响应数据中包含符合预设数据脱敏策略的数据,则将符合数据脱敏策略的数据进行变形,获得与所述访问数据库数据请求对应的脱敏数据;
第四装置,用于向客户端web页面返回所述脱敏数据,以实现用户对数据库数据的脱敏访问。
与现有技术相比,本申请通过一种用于实现数据库数据脱敏访问的方法与设备,首先接收用户基于客户端web页面发送的访问数据库数据请求,并判断所述用户账户是否有访问权限,接着若所述用户账户有访问权限,获取与所述访问数据库数据请求对应的响应数据,并将所述响应数据与预设数据脱敏策略进行匹配,然后若所述响应数据中包含符合预设数据脱敏策略的数据,则将符合预设数据脱敏策略的数据进行变形,获得与所述访问数据库数据请求对应的脱敏数据,最后向客户端web页面返回所述脱敏数据,以实现用户对数据库数据的脱敏访问。通过该方法,基于web实现数据库数据的账户访问权限及动态脱敏,大大提高了操作效率,提升了用户体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种用于实现数据库数据脱敏访问的方法流程图;
图2示出用户登录数据库后的一个可视化web页面;
图3示出一个设置允许访问数据库的时间段及允许访问数据的ip地址的可视化web页面;
图4示出一个配置敏感数据字段的脱敏策略的可视化web页面;
图5示出根据本申请另一个方面的一种用于实现数据库数据脱敏访问的设备示意图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
在本申请一个典型的配置中,系统各模块和可信方均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
为更进一步阐述本申请所采取的技术手段及取得的效果,下面结合附图及优选实施例,对本申请的技术方案,进行清楚和完整的描述。
图1示出本申请一个方面的一种用于实现数据库数据脱敏访问的方法流程图,其中,一个实施例的方法包括:
s11接收用户基于客户端web页面发送的访问数据库数据请求,其中,所述访问数据库数据请求中包含对应的用户账户的信息,并判断所述用户账户是否有访问权限;
s12若所述用户账户有访问权限,获取与所述访问数据库数据请求对应的响应数据,并将所述响应数据与预设数据脱敏策略进行匹配;
s13若所述响应数据中包含符合预设数据脱敏策略的数据,则将符合预设数据脱敏策略的数据进行变形,获得与所述访问数据库数据请求对应的脱敏数据;
s14向客户端web页面返回所述脱敏数据,以实现用户对数据库数据的脱敏访问。
在本申请中,所述方法通过设备1执行,所述设备1为计算机设备和/或云,所述计算机设备包括但不限于个人计算机、笔记本电脑、智能终端、工业计算机、网络主机、单个网络服务器、多个网络服务器集;所述云由基于云计算(cloudcomputing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。
在此,所述计算机设备和/或云仅为举例,其他现有的或者今后可能出现的设备和/或资源共享平台如适用于本申请也应包含在本申请的保护范围内,在此,以引用的方式包含于此。
在该实施例中,在所述步骤s11中,设备1接收到用户基于可视化的客户端web页面发送的访问数据库数据请求,其中,用户可以是基于网络在其它设备上通过可视化的客户端web页面登录成功后向设备1发送访问数据库数据请求,也可以是在设备1上通过可视化的客户端web页面登录成功后发送访问数据库数据请求。其中,访问数据库数据请求中包含了对应的用户账户信息。
设备1接收到用户基于其账户信息发送的访问数据库数据请求,判断该用户账户信息是否有访问权限。其中,用户账户信息的创建及访问权限的设置是由数据库dba根据实际需求操作的。
用户账户创建后,可通过可视化的客户端web页面登录数据库,建立与数据库的连接,如图2示出了一个用户登录数据库后的可视化的客户端web页面。
可选地,其中,对用户账户的访问权限的设置是通过web页面进行的。
其中,数据库dba根据实际需求,例如根据用户通过可视化的客户端web页面或离线申请并经审核,或者根据实际需要由dba主动操作,在设备1上或其它设备上通过可视化web页面创建用户账户信息,通过可视化web页面上简单的勾选操作,实现对用户账户的访问权限的设置,简单明了、高效。
可选地,其中,所述访问权限包括:
允许访问的时间:
允许访问的ip地址;
允许对数据库的表的操作。
数据库dba可以通过可视化的web页面对创建的用户账户的权限进行设置,包括但不限于:
设置允许用户访问数据库的时间段,设置允许访问数据库的ip地址,进一步地,设置允许对数据库中具体表或者视图的操作权限。基于设置的访问权限,用户在可视化的客户端web页面上通过账户登录后只能参照权限对数据库具体表或者视图的数据进行操作,若没有权限,则数据库返回到可视化的客户端web页面的将是与具体操作相对应的报错信息。
如图3所示的一个可视化的web页面,可设置允许访问数据库的时间段以及允许访问数据库的ip地址。
可选地,其中,所述对数据库的表的操作至少包括以下任一项:
删除表;
查询表内数据;
修改表内数据;
增加表内数据;
删除表内数据。
dba经可视化的web页面设置允许用户账户对数据库中具体表的操作权限,至少包括以下任一项:删除数据库的某个或某些表的权限,包括表内包含的数据;修改数据库的某个或某些表内的数据但不修改表结构的权限;增加数据库的某个或某些表内的数据但不变动表结构的权限;删除数据库的某个或某些表内的数据但不变动表结构的权限。
用户经可视化的客户端web页面通过账户登录访问数据库,对数据库的表进行操作时,若有相应的操作权限,则数据库会返回对应的数据到客户端web页面,若没有相应的操作权限,则返回相应的报错信息。
同样地,用户经可视化的客户端web页面通过账户登录访问数据库,对数据库的视图进行操作时,若有相应的操作权限,则数据库会返回对应的数据到客户端web页面,若没有相应的操作权限,则返回相应的报错信息。
继续在该实施例中,在所述步骤s12中,若判断下来所述用户账户对数据库数据有操作权限,则设备1从数据库获取相应的响应数据,并将响应数据与预设数据脱敏策略进行匹配。
可选地,其中,所述数据脱敏策略包括:
确定数据库中的敏感数据并将敏感数据进行数据变形的规则,以实现对敏感数据的保护。
其中,根据数据库拥有者的相关规定、政策以及相关法律法规,确定数据库中的敏感数据,并针对这些敏感数据设定将敏感数据变形的规则,实现数据库数据脱敏访问,达到脱敏效果,以免敏感数据直接被用户获取,使得敏感数据失去保护,造成泄密。其中,可对敏感数据所在的数据库、表、数据类型、脱敏规则、脱敏方式等进行设置,如图4所示,mysql1166数据库的表test2306中tel列的数据是人员手机号码,属于敏感数据,dba经可视化的web页面设置人员手机号码的脱敏策略,将mysql1166数据库的表test2306中tel列人员手机号码第4位开始连续3个数字做脱敏处理,变形替换成“***”。
继续在该实施例中,在所述步骤s13中,根据响应数据与预设的数据脱敏策略的匹配结果,若所述响应数据中包含符合预设数据脱敏策略的数据,则设备1将符合预设数据脱敏策略的数据进行变形,获得与所述访问数据库数据请求对应的脱敏数据。
例如,基于数据库拥有者的政策,人员的联系方式属于敏感数据,则用户经可视化的客户端web页面登录数据库,访问数据库中相关部门人员信息,其中包括人员11位手机号码,则设备1在收到数据库基于访问请求返回人员的手机号码时,会将手机号码进行变形处理,获得脱敏后的手机号码作为响应数据。
可选地,其中,所述将符合预设数据脱敏策略的数据进行变形包括以下至少一项:
将所述数据替换成预设字符串;
将所述数据的全部或者部分替换成预设字符;
将所述数据进行随机变形。
例如,若基于数据库拥有者的政策,人员的联系方式属于敏感数据,则用户经可视化的客户端web页面登录数据库,访问数据库中相关部门人员信息,其中包括人员11位手机号码,则数据库基于访问请求返回人员的手机号码时,会将手机号码的全部数字或部分数字进行变形处理,比如,采用一串字符串“!@#¥%”,则数据脱敏后在用户的可视化客户端web页面上相应显示人员的手机号码为“!@#¥%”,或者将全部数字用字符“*”替换,则数据脱敏后在用户的可视化客户端web页面上相应显示人员的手机号码为“***********”或者将部分数字用字符“*”替换,比如手机号码13912345678中间4位数字,则数据脱敏后在用户的可视化客户端web页面上相应显示人员的手机号码为“139****5678”。
继续在该实施例中,在所述步骤s14中,设备1将脱敏后的响应数据发送返回给用户的客户端web页面,在确保敏感数据安全的情况下,以实现用户对数据库数据的脱敏访问。
例如,申请人已开发adm(agiledatamanagement,敏捷数据管理平台)系统,dba可以通过可视化的web系统页面对一个或多个数据库、数据库的表或者视图、表中具体字段进行不同细粒度的访问权限控制,并对敏感数据设置敏感策略。用户可通过可视化的web页面打开访问数据库工具(如dbeaver/navicat)实现对数据库的访问,先判断是否有访问权限,当用户具有访问权限访问敏感数据时,再判断访问的数据是否匹配敏感策略,若匹配,则对数据库中的敏感数据根据配置的敏感策略进行脱敏处理后向用户返回脱敏数据,以实现对敏感数据的保护。
图5示出根据本申请另一个方面的一种用于实现数据库数据脱敏访问的设备示意图,其中,所述设备包括:
第一装置51,用于接收用户基于客户端web页面发送的访问数据库数据请求,其中,所述访问数据库数据请求中包含对应的用户账户的信息,并判断所述用户账户是否有访问权限;
第二装置52,用于若所述用户账户有访问权限,获取与所述访问数据库数据请求对应的响应数据,并将所述响应数据与预设数据脱敏策略进行匹配;
第三装置53,用于若所述响应数据中包含符合预设数据脱敏策略的数据,则将符合数据脱敏策略的数据进行变形,获得与所述访问数据库数据请求对应的脱敏数据;
第四装置54,用于向客户端web页面返回所述脱敏数据,以实现用户对数据库数据的脱敏访问。
其中,所述设备1的第一装置51接收用户基于客户端web页面发送的访问数据库数据请求,其中,所述访问数据库数据请求中包含对应的用户账户的信息,并判断所述用户账户是否有访问权限;若所述用户账户有访问权限,则将所述访问数据库数据请求发送至数据库,所述第二装置52获取与所述访问数据库数据请求对应的响应数据,并将所述响应数据与预设数据脱敏策略进行匹配;若所述响应数据中包含符合预设数据脱敏策略的数据,所述第三装置53将符合预设数据脱敏策略的数据进行变形,获得与所述访问数据库数据请求对应的脱敏数据;所述第四装置54向客户端web页面返回所述脱敏数据,以实现用户对数据库数据的脱敏访问。
根据本申请的又一方面,还提供了一种计算机可读介质,所述计算机可读介质存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述方法。
根据本申请的又一方面,还提供了一种设备,其中,该设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述方法的操作。
例如,计算机可读指令在被执行时使所述一个或多个处理器:接收用户基于客户端web页面发送的访问数据库数据请求,其中,所述访问数据库数据请求中包含对应的用户账户的信息,并判断所述用户账户是否有访问权限;若所述用户账户有访问权限,获取与所述访问数据库数据请求对应的响应数据,并将所述响应数据与预设数据脱敏策略进行匹配;若所述响应数据中包含符合预设数据脱敏策略的数据,则将符合预设数据脱敏策略的数据进行变形,获得与所述访问数据库数据请求对应的脱敏数据;向客户端web页面返回所述脱敏数据,以实现用户对数据库数据的脱敏访问。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。