一种数据访问控制方法、装置、设备及介质制造方法及图纸

技术编号:38672666 阅读:6 留言:0更新日期:2023-09-02 22:49
本申请公开了一种数据访问控制方法、装置、设备及介质,数据访问控制方法包括:获取用于表征数据访问请求的初始SQL语句,对所述初始SQL语句进行解析,生成AST语法树;根据所述AST语法树确定所述初始SQL语句对应的数据访问请求方的访问规则,生成包含所述访问规则的目标SQL语句;执行所述目标SQL语句,以控制所述数据访问请求方按照所述访问规则进行数据访问操作;或使数据源执行所述目标SQL语句,以控制所述数据访问请求方按照所述访问规则进行数据访问操作。行数据访问操作。行数据访问操作。

【技术实现步骤摘要】
一种数据访问控制方法、装置、设备及介质


[0001]本申请涉及计算机
,尤其涉及一种数据访问控制方法、装置、设备及介质。

技术介绍

[0002]随着科技进步,不断有各种各样的数据产生以及存储。相应的,对数据进行合理使用,也有利于促进生产生活的发展。一般的,可以通过各种主体对数据进行访问,进而利用访问到的数据完成各种操作。
[0003]然而,如果数据被不合理或不合法地获取,可能造成数据泄露或被不当利用,故对数据的访问并不是毫无限制的。
[0004]访问控制(Access Control)就是一种数据访问行为进行限制的方式,并且访问控制具有广泛应用,是几乎所有系统(包括计算机系统和非计算机系统)都需要用到的一种技术。这样一来,如何提高访问控制效果和效率,成为重要课题。
[0005]另外,目前的主流数据库产品仅支持表级别的访问控制,针对大数据量的不同用户行级访问控制通常是通过分表的方式实现,经常会出现数据冗余的情况。
[0006]有鉴于此,需要更有效和更高效的数据访问控制方案。

技术实现思路

[0007]本申请提供一种数据访问控制方法、装置、设备及介质,用以解决如何更有效和更高效地进行数据访问控制的技术问题。
[0008]为解决上述技术问题,本申请提供如下技术方案:一种数据访问控制方法,所述方法包括:获取用于表征数据访问请求的初始SQL语句,对所述初始SQL语句进行解析,生成AST语法树;根据所述AST语法树确定所述初始SQL语句对应的数据访问请求方的访问规则,生成包含所述访问规则的目标SQL语句;执行所述目标SQL语句,以控制所述数据访问请求方按照所述访问规则进行数据访问操作;或使数据源执行所述目标SQL语句,以控制所述数据访问请求方按照所述访问规则进行数据访问操作。
[0009]进一步的,其中,根据所述AST语法树确定所述初始SQL语句对应的数据访问请求方的访问规则包括:使用深度优先算法遍历所述AST语法树的所有节点,确定所述初始SQL语句所请求访问的目标数据,并确定所述目标数据的数据标签信息;其中,所述目标数据的数据标签信息用于表征所述目标数据对应的标签,和/或,所述目标数据的数据标签信息用于表征请求访问的目标数据的范围;获取所述初始SQL语句对应的数据访问请求方的主体标签信息;其中,所述数据访
问请求方的主体标签信息用于表征所述数据访问请求方对应的标签;确定所述主体标签信息对应的匹配策略,根据所述匹配策略将所述主体标签信息与所述数据标签信息进行匹配,根据匹配结果确定所述数据访问请求方的访问规则。
[0010]进一步的,其中,所述标签包括:枚举型标签,且各个枚举型标签之间相互独立;和/或,值域型标签,且各个所述值域型标签对应有级别范围或值域;和/或,层级型标签,且各个所述层级型标签对应有层级。
[0011]进一步的,其中,确定所述主体标签信息对应的匹配策略包括:若所述主体标签信息表征的标签中包括枚举型标签,则所述枚举型标签对应的匹配策略包括,将所述主体标签信息中的枚举型标签与所述数据标签信息中的枚举型标签进行匹配;和/或,若所述主体标签信息表征的标签中包括值域型标签,则所述值域型标签对应的匹配策略包括,将所述主体标签信息中的值域型标签对应的级别范围或值域,与所述数据标签信息中的值域型标签对应的级别范围或值域进行匹配;和/或,若所述主体标签信息表征的标签中包括层级型标签,则所述层级型标签对应的匹配策略包括,将所述主体标签信息中的层级型标签对应的层级,与所述数据标签信息中的层级型标签对应的层级进行匹配。
[0012]进一步的,其中,根据匹配结果确定所述数据访问请求方的访问规则包括:根据匹配结果确定所述目标数据中,允许所述数据访问请求方访问的数据。
[0013]进一步的,其中,所述目标数据来自于数据源;获取用于表征数据访问请求的初始SQL语句前,所述方法还包括:获取数据源中的各种数据对应的数据标签信息。
[0014]进一步的,其中,所述访问规则包括允许访问数据,所述允许访问数据为所述目标数据中,允许所述数据访问请求方访问的数据;控制所述数据访问请求方按照所述访问规则进行数据访问操作包括:允许所述数据访问请求方访问所述允许访问数据;或,将所述允许访问数据反馈给所述数据访问请求方。
[0015]进一步的,其中,所述访问规则包括允许访问数据,所述允许访问数据为所述目标数据中,允许所述数据访问请求方访问的数据;所述目标SQL语句中包含所述数据访问请求方的数据访问权限。
[0016]进一步的,其中,控制所述数据访问请求方按照所述访问规则进行数据访问操作包括:允许所述数据访问请求方按照所述访问权限访问所述允许访问数据;或,
将所述允许访问数据反馈给所述数据访问请求方,控制所述数据访问请求方按照所述数据访问权限访问所述允许访问数据。
[0017]本申请还提供一种数据访问控制装置,所述装置包括:解析模块,用于获取用于表征数据访问请求的初始SQL语句,对所述初始SQL语句进行解析,生成AST语法树;判断模块,用于根据所述AST语法树确定所述初始SQL语句对应的数据访问请求方的访问规则,生成包含所述访问规则的目标SQL语句;执行模块,用于执行所述目标SQL语句,以控制所述数据访问请求方按照所述访问规则进行数据访问操作;或使数据源执行所述目标SQL语句,以控制所述数据访问请求方按照所述访问规则进行数据访问操作。
[0018]本申请还提供一种数据访问控制设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行上述的数据访问控制方法。
[0019]本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述的数据访问控制方法。
[0020]本申请采用的上述至少一个技术方案能够达到以下有益效果:通过用于表征数据访问请求的初始SQL语句生成AST语法树,根据AST语法树确定数据访问请求方的访问规则,并将访问规则融入新的目标SQL语句,通过执行新的目标SQL语句,就可以便捷地控制数据访问请求方按照访问规则进行数据访问操作,提高数据访问控制效果和效率。
附图说明
[0021]为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对本说明书实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面介绍的附图仅仅是本说明书中记载的实施例可能涉及的部分附图,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0022]图1是本申请第一个实施例中的数据访问控制方法的流程示意图。
[0023]图2是本申请第一个实施例中的数据访问控制过程示意图。
[0024]图3是本申请第二个实施例中的数据访问控制装置的结构示意图。
具体实施方式本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据访问控制方法,其特征在于,所述方法包括:获取用于表征数据访问请求的初始SQL语句,对所述初始SQL语句进行解析,生成AST语法树;根据所述AST语法树确定所述初始SQL语句对应的数据访问请求方的访问规则,生成包含所述访问规则的目标SQL语句;执行所述目标SQL语句,以控制所述数据访问请求方按照所述访问规则进行数据访问操作;或使数据源执行所述目标SQL语句,以控制所述数据访问请求方按照所述访问规则进行数据访问操作。2.如权利要求1所述的方法,其特征在于,根据所述AST语法树确定所述初始SQL语句对应的数据访问请求方的访问规则包括:使用深度优先算法遍历所述AST语法树的所有节点,确定所述初始SQL语句所请求访问的目标数据,并确定所述目标数据的数据标签信息;其中,所述目标数据的数据标签信息用于表征所述目标数据对应的标签,和/或,所述目标数据的数据标签信息用于表征请求访问的目标数据的范围;获取所述初始SQL语句对应的数据访问请求方的主体标签信息;其中,所述数据访问请求方的主体标签信息用于表征所述数据访问请求方对应的标签;确定所述主体标签信息对应的匹配策略,根据所述匹配策略将所述主体标签信息与所述数据标签信息进行匹配,根据匹配结果确定所述数据访问请求方的访问规则。3.如权利要求2所述的方法,其特征在于,所述标签包括:枚举型标签,且各个枚举型标签之间相互独立;和/或,值域型标签,且各个所述值域型标签对应有级别范围或值域;和/或,层级型标签,且各个所述层级型标签对应有层级。4.如权利要求3所述的方法,其特征在于,确定所述主体标签信息对应的匹配策略包括:若所述主体标签信息表征的标签中包括枚举型标签,则所述枚举型标签对应的匹配策略包括,将所述主体标签信息中的枚举型标签与所述数据标签信息中的枚举型标签进行匹配;和/或,若所述主体标签信息表征的标签中包括值域型标签,则所述值域型标签对应的匹配策略包括,将所述主体标签信息中的值域型标签对应的级别范围或值域,与所述数据标签信息中的值域型标签对应的级别范围或值域进行匹配;和/或,若所述主体标签信息表征的标签中包括层级型标签,则所述层级型标签对应的匹配策略包括,将所述主体标签信息中的层级型标签对应的层级,与所述数据标签信息中的层级型标签对应的层级进行匹配。5.如权利要求2至4中任一项所述的方法,其特征在于,根据匹...

【专利技术属性】
技术研发人员:谭炜波王德鑫吴国勇蒋旭赵旭柴立伟王超李涛张国楠左建松周文平
申请(专利权)人:天津神舟通用数据技术有限公司
类型:发明
国别省市:

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

1