数据库访问权限控制方法、设备及存储介质技术

技术编号:23512947 阅读:22 留言:0更新日期:2020-03-18 00:12
本发明专利技术实施例公开了一种数据库访问权限控制方法、设备及存储介质。其中,方法包括:接收目标用户的数据库访问请求,并获取与数据库访问请求匹配的至少一个数据表的元数据信息;对数据库访问请求以及至少一个数据表的元数据信息进行编译,得到与数据库访问请求对应的语法树;在语法树的目标节点中,增加与目标用户匹配的数据库的管理权限,得到修改后的语法树;执行修改后的语法树,得到与数据库访问请求对应的请求结果。本发明专利技术实施例的方案实现了对数据库访问权限的精确控制,使数据库具有更细粒度的权限控制。

Database access control methods, devices and storage media

【技术实现步骤摘要】
数据库访问权限控制方法、设备及存储介质
本专利技术实施例涉及数据处理技术,尤其涉及一种数据库访问权限控制方法、设备及存储介质。
技术介绍
随着信息技术的不断发展,数据库在各行各业中得到了广泛的应用。数据库在承载重要数据的同时,也日益成为了不法分子的重点攻击目标。因此,通过控制数据库的访问权限,从而提高数据库抵御风险的能力,得到了广泛的研究。现有技术中,主要通过在数据库之外增加一个代理层,对用户访问数据库的请求进行拦截;代理层根据提交请求的用户权限,重新组织查询请求,并将重新组织的查询请求提交给数据库;数据库返回查询结果后对查询结果进行过滤,并将过滤后的结果返回给用户。现有技术的方案,通过在数据库之外增加一个代理层,对用户访问数据库的请求进行管理,增加了数据库被攻击的风险,同时通过代理层接收用户查询数据的请求并返回查询结果,也影响了数据库的整体性能,往往用户发送查询请求后,很长一段时间后才能接收到查询结果。
技术实现思路
本专利技术实施例提供一种数据库访问权限控制方法、设备及存储介质,以实现对数据库访问权限的精确控制,使数据库具有更细粒度的权限控制。第一方面,本专利技术实施例提供了一种数据库访问权限控制方法,该方法包括:接收目标用户的数据库访问请求,并获取与所述数据库访问请求匹配的至少一个数据表的元数据信息;对所述数据库访问请求以及至少一个所述数据表的元数据信息进行编译,得到与所述数据库访问请求对应的语法树;在所述语法树的目标节点中,增加与所述目标用户匹配的数据库的管理权限,得到修改后的语法树;执行所述修改后的语法树,得到与所述数据库访问请求对应的请求结果。第二方面,本专利技术实施例还提供了一种计算机设备,该设备包括处理器和存储器,所述存储器用于存储指令,当所述指令执行时使得所述处理器执行以下操作:接收目标用户的数据库访问请求,并获取与所述数据库访问请求匹配的至少一个数据表的元数据信息;对所述数据库访问请求以及至少一个所述数据表的元数据信息进行编译,得到与所述数据库访问请求对应的语法树;在所述语法树的目标节点中,增加与所述目标用户匹配的数据库的管理权限,得到修改后的语法树;执行所述修改后的语法树,得到与所述数据库访问请求对应的请求结果。第三方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术实施例任一实施例所述的数据库访问权限控制方法。本专利技术实施例通过接收目标用户的数据库访问请求,并获取与数据库访问请求匹配的至少一个数据表的元数据信息;对数据库访问请求以及至少一个数据表的元数据信息进行编译,得到与数据库访问请求对应的语法树;在语法树的目标节点中,增加与目标用户匹配的数据库的管理权限,得到修改后的语法树;执行修改后的语法树,得到与数据库访问请求对应的请求结果。解决了现有技术中需要增加代理层才能实现数据库访问权限的控制,实现了对数据库访问权限的精确控制,使数据库具有更细粒度的权限控制。附图说明图1是本专利技术实施例一中的一种数据库访问权限控制方法的流程图;图2是本专利技术实施例二中的一种数据库访问权限控制方法的流程图;图3是本专利技术实施例二中列举的一种应用场景图;图4是本专利技术实施例三中的一种数据库访问权限控制装置的结构示意图;图5是本专利技术实施例四中的一种计算机设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术实施例,而非对本专利技术实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术实施例相关的部分而非全部结构。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。本文使用的术语“数据库”是指可以存放数据的仓库,它的存储空间很大,可以存放百万条、千万条甚至上亿条数据。本专利技术实施例中涉及到的数据可以是任意场景下使用的任意类型的数据库,例如,可以是银行系统中存储贷款用户的贷款信息的数据库;也可以是交通系统中存储司机用户的违章信息的数据库;还可以是教育系统中存储学生考试成绩的数据库,本专利技术实施例对此不做限定。本文使用的术语“数据库访问请求”是指目标用户发送的,用于访问数据库中的任意一个数据表的请求。本文使用的术语“数据表的元数据信息”是指包含数据表的基本信息,例如,数据表的名称、创建时间以及数据表的大小等信息,还可以包括数据表的行级和/或列级管理权限定义信息以及数据表的行级和/或列级管理权限开关等与设置的管理权限相关的信息。本文使用的术语“语法树”是指通过对用户发送的数据库访问请求以及与用户的数据库访问请求对应的数据库中的至少一个数据表的元数据信息进行编译得到的树结构,其形式与“树”相似,被称为语法树。为了便于理解,将本专利技术实施例的主要专利技术构思进行简述。现有技术中,通过在数据库之外增加一个代理层,对用户访问数据库的请求进行拦截;代理层根据提交请求的用户权限,重新组织查询请求,并将重新组织的查询请求提交给数据库;数据库返回查询结果后对查询结果进行过滤,并将过滤后的结果返回给用户。这种方法增加了数据库被攻击的风险,并且通过代理层接收用户查询数据的请求并返回查询结果,也影响了数据库的整体性能,往往用户发送查询请求后,很长一段时间后才能接收到查询结果。专利技术人针对现有技术中需要在数据库之外增加代理层才能实现数据库权限管理的问题,考虑是否可以直接对数据库进行改进,尽量在提升数据库权限管理性能的同时,避免增加数据库被攻击的可能。基于上述思考,专利技术人创造性的提出,通过接收目标用户的数据库访问请求,并获取与数据库访问请求匹配的至少一个数据表的元数据信息;对数据库访问请求以及至少一个数据表的元数据信息进行编译,得到与数据库访问请求对应的语法树;在语法树的目标节点中,增加与目标用户匹配的数据库的管理权限,得到修改后的语法树;执行修改后的语法树,得到与数据库访问请求对应的请求结果。这样做的好处是,解决了现有技术中需要增加代理层才能实现数据库访问权限的控制,实现了对数据库访问权限的精确控制,使数据库具有更细粒度的权限控制。实施例一图1是本专利技术实施例一中的一种数据库访问权限控制方法的流程图,本实施例可适用于对数据库访问权限进行细粒度控制的情况,该方法可以由数据库访问权限控制装置来执行,该装置可以通过软件和/或硬件的方式实现,并集成在执行本方法的计算机设备中,在本实施例中执行本方法的设备可以是计算机、服务器、平板电脑或智能手机等。具体本文档来自技高网...

【技术保护点】
1.一种数据库访问权限控制方法,其特征在于,包括:/n接收目标用户的数据库访问请求,并获取与所述数据库访问请求匹配的至少一个数据表的元数据信息;/n对所述数据库访问请求以及至少一个所述数据表的元数据信息进行编译,得到与所述数据库访问请求对应的语法树;/n在所述语法树的目标节点中,增加与所述目标用户匹配的数据库的管理权限,得到修改后的语法树;/n执行所述修改后的语法树,得到与所述数据库访问请求对应的请求结果。/n

【技术特征摘要】
1.一种数据库访问权限控制方法,其特征在于,包括:
接收目标用户的数据库访问请求,并获取与所述数据库访问请求匹配的至少一个数据表的元数据信息;
对所述数据库访问请求以及至少一个所述数据表的元数据信息进行编译,得到与所述数据库访问请求对应的语法树;
在所述语法树的目标节点中,增加与所述目标用户匹配的数据库的管理权限,得到修改后的语法树;
执行所述修改后的语法树,得到与所述数据库访问请求对应的请求结果。


2.根据权利要求1所述的方法,其特征在于,所述数据库的管理权限具体包括:
针对所述数据库中至少一个数据表的行级管理权限和/或列级管理权限。


3.根据权利要求1所述的方法,其特征在于,在所述接收目标用户的数据库访问请求之前,还包括:
分别设置与各个用户对应的所述数据库的管理权限。


4.根据权利要求3所述的方法,其特征在于,设置与用户对应的所述数据库的管理权限,包括:
设置所述用户针对所述数据库中至少一个数据表的行级管理权限和/或列级管理权限;或者
取消所述用户针对所述数据库中至少一个数据表的行级管理权限和/或列级管理权限。


5.根据权利要求1所述的方法,其特征在于,所述执行所述修改后的语法树,得到与所述数据库访问请求对应的请求结果,包括:
根据所述数据库的管理权限以及至少一个所述数据表的元数据信息,对所述目标数据表执行行级和/或列级的数据筛选,得到与所述数据库访问请求对应的请求结果。


6.根据权利要求1所述的方法,其特征在于,所述执行所述修改后的语法树,得到与所述访问数据库请求对应的请求结果之后,还包括,
向所述目标用户反馈与所述数据库访问请求对应的请求结果。


7.根据权利要求1-6任一项所述的方法,其特征在于,所述数据表的元数据信息,包括:
所述数据库中与所述数据库访问请求匹配的至少一个数据表的基本信息。


8.一种计算机设备,其特征在于,所述设备包括处理器和存储器,所述存储器用于存储指令,当所述指令执行时使得所述处理器执行以下操作:
接收目标用户的数据库访问请求,并获取与所述数据库访问请求匹配的至少一...

【专利技术属性】
技术研发人员:王宾顾逸圣钟晶晶
申请(专利权)人:星环信息科技上海有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1