首页> 中国专利> 一种HBase权限配置方法、装置及存储介质

一种HBase权限配置方法、装置及存储介质

摘要

本公开涉及计算机领域,公开了一种HBase权限配置方法、装置及存储介质,该方法为:响应客户端的权限调用请求,确定与权限调用请求对应的操作权限集合,权限调用请求用于表征客户端对目标数据所属的位置级别的操作,操作权限是基于HBase的权限控制代码中的API的实现功能创建的,并且,操作权限包括至少一个权限级别,操作权限集合包含有至少一个操作权限,基于目标数据所属的位置级别,确定与位置级别相匹配的目标权限级别,将与目标权限级别相对应的操作权限作为目标权限,授权给权限调用请求对应的位置级别,通过API创建操作权限使得HBase权限划分更加精细,从而为客户端想要执行操作的位置级别精准匹配对应的目标权限。

著录项

  • 公开/公告号CN113868681A

    专利类型发明专利

  • 公开/公告日2021-12-31

    原文格式PDF

  • 申请/专利权人 青岛海信网络科技股份有限公司;

    申请/专利号CN202111140221.5

  • 发明设计人 王超;李建伟;孙永良;陈维强;

    申请日2021-09-28

  • 分类号G06F21/60(20130101);G06F21/62(20130101);

  • 代理机构11291 北京同达信恒知识产权代理有限公司;

  • 代理人张恺宁

  • 地址 266071 山东省青岛市崂山区松岭路399号海信研发中心B3号楼4层

  • 入库时间 2023-06-19 13:29:16

说明书

技术领域

本申请涉及计算机技术,特别涉及一种HBase权限配置方法、装置及存储介质。

背景技术

目前,智慧城市已经从概念开始走向落地,从试点走向普及,其中大数据技术功不可没。大数据技术为智慧城市的各个领域提供强大的支持,就像血液一样遍布智慧城市中的各个系统。

NoSQL数据库因其对海量数据有着高效的管理能力,因而被广泛应用于各种大数据的生产场景中。HBase作为一种NoSQL数据库,不仅可以方便的进行存储,而且可以对数据进行便捷的处理和运算。但在使用过程中,HBase对外只能提供五种操作权限,分别是admin(A)、create(C)、write(W)、read(R)、execute(X)。这样,如果某一用户申请到了write权限,则可以在HBase中执行如put、delete、append等的写操作。但在实际生产应用中,若要控制用户只能写入(write)数据而不能删除(delete)数据,按照HBase现有的粗粒度权限授权,则无法满足这样的操作控制需求。

发明内容

本公开实施例提供一种HBase权限配置方法、装置及存储介质,用以提升HBase权限与位置级别匹配的精确度。

本公开提供的具体技术方案如下:

第一方面,一种HBase权限配置方法,包括:

响应客户端的权限调用请求,确定与权限调用请求对应的操作权限集合,其中,权限调用请求用于表征客户端对目标数据所属的位置级别的操作,操作权限是基于HBase的权限控制代码中的应用程序编程接口API的实现功能创建的,且,操作权限包括至少一个权限级别,操作权限集合包含有至少一个操作权限;

基于目标数据所属的位置级别,确定与位置级别相匹配的目标权限级别;

将与目标权限级别相对应的操作权限作为目标权限,授权给权限调用请求对应的位置级别。

在一些可能的实施例中,响应客户端的权限调用请求,确定与权限调用请求对应的操作权限集合,包括:

响应客户端的权限调用请求,基于权限调用请求,确定目标数据所属的位置级别,以及确定客户端对目标数据的操作;

基于位置级别,筛选出对位置级别执行操作的操作权限;

在筛选出的操作权限中,确定出与操作相对应的操作权限,基于确定出的操作权限创建操作权限集合。

在一些可能的实施例中,通过下列方式确定操作权限:

基于HBase的权限控制代码中的API对各个位置级别的数据所能实现的操作,确定权限控制代码中的API的实现功能;

将属于同一个位置级别的同一种实现功能的API,创建为同一种操作权限,其中,同一种操作权限中包含的API的个数至少为一个。

在一些可能的实施例中,权限级别包括优先级从高到低的全局权限级别、命名空间权限级别、表权限级别、列族权限级别和列权限级别;

通过下列方式设置操作权限的权限级别:

计算操作权限与全局权限级别之间的第一匹配度,若第一匹配度大于第一匹配阈值,则将全局权限级别作为操作权限对应的权限级别;

计算操作权限与命名空间权限级别之间的第二匹配度,若第二匹配度大于第二匹配阈值,且,当操作权限对应的第一父权限级别存在时,将第一父权限级别和命名空间权限级别均作为操作权限对应的权限级别,其中,第一父权限级别为全局权限级别;

计算操作权限与表权限级别之间的第三匹配度,若第三匹配度大于第三匹配阈值,且,当操作权限对应的第二父权限级别存在时,将第二父权限级别和表权限级别均作为操作权限对应的权限级别,其中,第二父权限级别为全局权限级别和/或命名空间权限级别;

计算操作权限与列族权限级别之间的第四匹配度,若第四匹配度大于第四匹配阈值,且,当操作权限对应的第三父权限级别存在时,将第三父权限级别和列族权限级别均作为操作权限对应的权限级别,其中,第三父权限级别为全局权限级别、命名空间权限级别和/或表权限级别;

计算操作权限与列权限级别之间的匹配度,若匹配度大于第五匹配阈值,且,当操作权限对应的第四父权限级别存在时,将第四父权限级别和列权限级别均作为操作权限对应的权限级别,其中,第四父权限级别为全局权限级别、命名空间权限级别、表权限级别和/或列族权限级别。

在一些可能的实施例中,基于目标数据所属的位置级别,确定与位置级别相匹配的目标权限级别,包括:

基于目标数据所属的位置级别,若确定全局权限级别与位置级别相匹配,则将全局权限级别作为目标权限级别;

基于目标数据所属的位置级别,若确定命名空间权限级别与位置级别相匹配,则将全局权限级别和命名空间权限级别作为目标权限级别;

基于目标数据所属的位置级别,若确定表权限级别与位置级别相匹配,则将全局权限级别、命名空间权限级别和表权限级别作为目标权限级别;

基于目标数据所属的位置级别,若确定列族权限级别与位置级别相匹配,则将全局权限级别、命名空间权限级别、表权限级别和列族权限级别作为目标权限级别;

基于目标数据所属的位置级别,若确定列权限级别与位置级别相匹配,则将全局权限级别、命名空间权限级别、表权限级别、列族权限级别和列权限级别作为目标权限级别。

在一些可能的实施例中,将与目标权限级别相对应的权限级别的操作权限作为目标权限,授权给权限调用请求对应的位置级别之后,还包括:

响应于客户端对位置级别的目标数据执行目标权限对应的操作,通过访问控制器确认客户端是否能够对目标数据执行目标权限对应的操作,其中,访问控制器为基于操作权限创建的权限限定代码;

若访问控制器确认通过,则允许客户端对位置级别的目标数据执行目标权限对应的操作;

若访问控制器确认不通过,则禁止客户端对位置级别的目标数据执行目标权限对应的操作。

在一些可能的实施例中,方法还包括:

响应于客户端对位置级别的撤权调用请求,将撤权调用请求对应的位置级别的目标权限设置为空。

第二方面,一种HBase权限配置装置,包括:

响应模块,用于响应客户端的权限调用请求,确定与权限调用请求对应的操作权限集合,其中,权限调用请求用于表征客户端对目标数据所属的位置级别的操作,操作权限是基于HBase的权限控制代码中的应用程序编程接口API的实现功能创建的,且,操作权限包括至少一个权限级别,操作权限集合包含有至少一个操作权限;

确定模块,用于基于目标数据所属的位置级别,确定与位置级别相匹配的目标权限级别;

授权模块,用于将与目标权限级别相对应的操作权限作为目标权限,授权给权限调用请求对应的位置级别。

第三方面,一种服务器,包括:

存储器,用于存储可被控制器执行的计算机程序;

控制器与存储器连接,被配置为执行上述第一方面任一项的方法。

第四方面,一种计算机可读存储介质,当存储介质中的指令由处理器执行时,使得处理器能够执行上述第一方面任一项的方法。

综上所述,本公开实施例中,公开了一种HBase权限配置方法、装置及存储介质,该HBase权限配置方法为:响应客户端的权限调用请求,确定与权限调用请求对应的操作权限集合,权限调用请求用于表征客户端对目标数据所属的位置级别的操作,操作权限是基于HBase的权限控制代码中的API的实现功能创建的,并且,操作权限包括至少一个权限级别,操作权限集合包含有至少一个操作权限,基于目标数据所属的位置级别,确定与位置级别相匹配的目标权限级别,将与目标权限级别相对应的操作权限作为目标权限,授权给权限调用请求对应的位置级别,通过API创建操作权限使得HBase权限划分更加精细,从而能够为客户端想要执行操作的位置级别精准匹配对应的目标权限。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的HBase权限配置方法的应用场景图;

图2为本申请实施例提供的一种HBase权限配置方法的流程示意图;

图3为本申请实施例中一种创建操作权限集合的流程示意图;

图4为本申请实施例中一种确定目标权限级别的流程示意图;

图5为本申请实施例中访问控制器确认目标权限的流程示意图;

图6为本公开实施例中一种HBase权限配置装置的逻辑架构示意图;

图7为本公开实施例中一种服务器的实体架构示意图。

具体实施方式

为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本申请的说明书和权利要求书的术语″第一″、″第二″等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

HBase作为部署在服务器上的一个关系型数据库,可以简单的通过增加廉价节点的方式进行扩展,对于数据本身可以很好的进行水平切分,不仅可以方便的进行存储,还可以方便的对数据进行处理和运算,这是HBase最核心的特性。

目前,HBase提供五种操作权限,即shell命令将HBase中的各个API集合成五种操作权限后,供客户端使用,现有的五种操作权限分别是admin(A)、create(C)、write(W)、read(R)、execute(X)。若将write权限授权给某一个客户端,则该客户端拥有write权限后,则可以执行write权限所包含的如put、delete、append等写操作。

下面结合附图对本申请优选的实施方式进行详细说明。

参阅图1所示,本公开实施例中,由服务器执行HBase权限配置方法的情况,客户端发送权限调用请求给服务器,服务器在响应该权限调用请求后为待执行操作的位置级别匹配对应的目标权限。参阅图2所示,本公开实施例中,HBase权限配置方法的具体流程如下:

步骤201:响应客户端的权限调用请求,确定与权限调用请求对应的操作权限集合,其中,权限调用请求用于表征客户端对目标数据所属的位置级别的操作,操作权限是基于HBase的权限控制代码中的应用程序编程接口API的实现功能创建的,且,操作权限包括至少一个权限级别,操作权限集合包含有至少一个操作权限。

在本申请实施例中,操作权限是基于API创建的,每一个API对应一个操作权限,这里先介绍下本申请实施例中各个操作权限的确定方式如下:

(1)基于HBase的权限控制代码中的API对各个位置级别的数据所能实现的操作,确定权限控制代码中的API的实现功能。

由于,HBase的权限控制代码中的每个API中都封装有相应的代码,用来实现相应的功能,因此,在实施过程中,根据HBase的权限控制代码中的API所能实现的操作,确定权限控制代码中的API的实现功能。例如,某一个API所能实现的操作为删除数据,则根据该删除数据的操作确定某一个API的实现功能为删除数据。

需要补充说明的是,由于客户端的权限调用请求针对的操作对象可能是表、表中的整列或者一列中的某一个数据,即权限调用请求所对应的需要执行操作的数据是针对各个位置级别的。相应的,在确定上述各个API的实现功能时,也需要具体确定到该API具体是针对哪一个或哪几个位置级别的。仍以上例来说明,在确定某一个API的实现功能为删除数据的基础上,进一步确定该删除数据是针对整个表数据的还是针对列数据的。

(2)将属于同一个位置级别的同一种实现功能的API,创建为同一种操作权限,其中,同一种操作权限中包含的API的个数至少为一个。

通常情况下,能够对同一个位置级别执行同一种实现功能的操作的API的数目为一个,例如,针对整个表数据执行A操作的API有一个,针对整个列数据执行A操作的API有一个等等,因此,同一种操作权限中包含的API的个数至少为一个。但当针对同一个位置级别执行同一种实现功能的操作的API的数目多于一个时,将该能够执行同一种实现功能的操作的API,都创建为同一种操作权限。

需要补充说明的是,实施过程中若考虑到shell命令集合的操作权限粒度过粗,而根据各个API直接创建的操作权限粒度过细的话,可以将对同一个位置级别执行同一类实现功能的操作的API归为一种操作权限。

实施过程中,考虑到各个操作权限所能执行操作的位置级别不仅包括上述在确定操作权限时确定的直接操作的位置级别,而且还包括该操作权限所继承上一级别的操作权限,因此,需要通过以下方式设置操作权限的权限级别:

这里先说明在HBase中权限级别包括优先级从高到低的全局权限级别、命名空间权限级别、表权限级别、列族权限级别和列权限级别,即一个全局权限级别包括下设的多个命名空间权限级别,一个命名空间权限级别包括下设的多个表权限级别,一个表权限级别包括下设的多个列族权限级别,一个列族权限级别包括下设的多个列权限级别。

1)计算操作权限与全局权限级别之间的第一匹配度,若第一匹配度大于第一匹配阈值,则将全局权限级别作为操作权限对应的权限级别;

实施过程中,通过计算匹配度的方式来确定各个操作权限的权限级别,这里匹配度的计算主要是比对操作权限与全局权限级别的可操作的位置级别的范围的重叠度,即若某一个操作权限与全局权限级别的可操作的位置级别的范围的完全重叠,则第一匹配度为100%;若某一个操作权限与全局权限级别的可操作的位置级别的范围的完全不重叠,则第一匹配度为0%。

针对每一个上述操作权限,从全局权限级别开始计算该操作权限与全局权限级别之间的第一匹配度,为了判别该操作权限是否具备全局权限级别,预先设置第一匹配阈值,这里的第一匹配阈值为将该操作权限判定为具备全局权限级别的最低值,若上述第一匹配度大于第一匹配阈值,则将全局权限级别作为操作权限对应的权限级别。

2)计算操作权限与命名空间权限级别之间的第二匹配度,若第二匹配度大于第二匹配阈值,且,当操作权限对应的第一父权限级别存在时,将第一父权限级别和命名空间权限级别均作为操作权限对应的权限级别,其中,第一父权限级别为全局权限级别;

同样的,通过计算第二匹配度的方式来确定各个操作权限是否具备命名空间权限级别,这里第二匹配度的计算主要是比对操作权限与命名空间权限级别的可操作的位置级别的范围的重叠度,即若某一个操作权限与命名空间权限级别的可操作的位置级别的范围的完全重叠,则第二匹配度为100%;若某一个操作权限与命名空间权限级别的可操作的位置级别的范围的完全不重叠,则第二匹配度为0%。

针对每一个操作权限,为了判别该操作权限是否具备命名空间权限级别,预先设置第二匹配阈值,这里的第二匹配阈值为将该操作权限判定为具备命名空间权限级别的最低值,若上述第二匹配度大于第二匹配阈值,则将命名空间权限级别作为操作权限对应的权限级别。

另外,考虑到操作权限能够自动继承上一级别的操作权限,在判定第二匹配度大于第二匹配阈值的基础上,判定该操作权限对应的第一父权限级别存在时,即查找该命名空间权限级别的父权限级别是否存在,若存在,则将第一父权限级别即全局权限级别也作为该操作权限对应的权限级别。

3)计算操作权限与表权限级别之间的第三匹配度,若第三匹配度大于第三匹配阈值,且,当操作权限对应的第二父权限级别存在时,将第二父权限级别和表权限级别均作为操作权限对应的权限级别,其中,第二父权限级别为全局权限级别和/或命名空间权限级别;

同样的,通过计算第三匹配度的方式来确定各个操作权限是否具备表权限级别,这里第三匹配度的计算主要是比对操作权限与表权限级别的可操作的位置级别的范围的重叠度,即若某一个操作权限与表权限级别的可操作的位置级别的范围的完全重叠,则第三匹配度为100%;若某一个操作权限与表权限级别的可操作的位置级别的范围的完全不重叠,则第三匹配度为0%。

针对每一个操作权限,为了判别该操作权限是否具备表权限级别,预先设置第三匹配阈值,这里的第三匹配阈值为将该操作权限判定为具备表权限级别的最低值,若上述第三匹配度大于第三匹配阈值,则将表权限级别作为操作权限对应的权限级别。

另外,考虑到操作权限能够自动继承上一级别的操作权限,在判定第三匹配度大于第三匹配阈值的基础上,判定该操作权限对应的第二父权限级别存在时,即查找该表权限级别的父权限级别是否存在,若存在,则将第二父权限级别即全局权限级别和/或命名空间权限级别也作为该操作权限对应的权限级别,具体的,当第二父权限级别包括全局权限级别和命名空间权限级别时,将全局权限级别和命名空间权限级别都作为该操作权限对应的权限级别;当第二父权限级别仅包括全局权限级别或者命名空间权限级别中的一个时,将全局权限级别或者命名空间权限级别作为该操作权限对应的权限级别。

4)计算操作权限与列族权限级别之间的第四匹配度,若第四匹配度大于第四匹配阈值,且,当操作权限对应的第三父权限级别存在时,将第三父权限级别和列族权限级别均作为操作权限对应的权限级别,其中,第三父权限级别为全局权限级别、命名空间权限级别和/或表权限级别;

同样的,通过计算第四匹配度的方式来确定各个操作权限是否具备列族权限级别,这里第四匹配度的计算主要是比对操作权限与列族权限级别的可操作的位置级别的范围的重叠度,即若某一个操作权限与列族权限级别的可操作的位置级别的范围的完全重叠,则第四匹配度为100%;若某一个操作权限与列族权限级别的可操作的位置级别的范围的完全不重叠,则第四匹配度为0%。

针对每一个操作权限,为了判别该操作权限是否具备列族权限级别,预先设置第四匹配阈值,这里的第四匹配阈值为将该操作权限判定为具备列族权限级别的最低值,若上述第四匹配度大于第四匹配阈值,则将列族权限级别作为操作权限对应的权限级别。

另外,考虑到操作权限能够自动继承上一级别的操作权限,在判定第四匹配度大于第四匹配阈值的基础上,判定该操作权限对应的第三父权限级别存在时,即查找该列族权限级别的父权限级别是否存在,若存在,则将第三父权限级别即全局权限级别、命名空间权限级别和/或表权限级别也作为该操作权限对应的权限级别,具体的,当第三父权限级别包括全局权限级别、命名空间权限级别和表权限级别时,将全局权限级别、命名空间权限级别和表权限级别都作为该操作权限对应的权限级别;当第三父权限级别仅包括全局权限级别、命名空间权限级别或者表权限级别中的一个时,将全局权限级别、命名空间权限级别或者表权限级别中的一个作为该操作权限对应的权限级别。

5)计算操作权限与列权限级别之间的匹配度,若匹配度大于第五匹配阈值,且,当操作权限对应的第四父权限级别存在时,将第四父权限级别和列权限级别均作为操作权限对应的权限级别,其中,第四父权限级别为全局权限级别、命名空间权限级别、表权限级别和/或列族权限级别。

同样的,通过计算第五匹配度的方式来确定各个操作权限是否具备列权限级别,这里第五匹配度的计算主要是比对操作权限与列权限级别的可操作的位置级别的范围的重叠度,即若某一个操作权限与列权限级别的可操作的位置级别的范围的完全重叠,则第五匹配度为100%;若某一个操作权限与列权限级别的可操作的位置级别的范围的完全不重叠,则第五匹配度为0%。

针对每一个操作权限,为了判别该操作权限是否具备列权限级别,预先设置第五匹配阈值,这里的第五匹配阈值为将该操作权限判定为具备列权限级别的最低值,若上述第五匹配度大于第五匹配阈值,则将列权限级别作为操作权限对应的权限级别。

另外,考虑到操作权限能够自动继承上一级别的操作权限,在判定第五匹配度大于第五匹配阈值的基础上,判定该操作权限对应的第四父权限级别存在时,即查找该列权限级别的父权限级别是否存在,若存在,则将第四父权限级别即全局权限级别、命名空间权限级别、表权限级别和/或列族权限级别也作为该操作权限对应的权限级别;当第四父权限级别仅包括全局权限级别、命名空间权限级别、表权限级别或者列族权限级别中的一个时,将全局权限级别、命名空间权限级别、表权限级别或者列族权限级别中的一个作为该操作权限对应的权限级别。

在根据权限控制代码中的API的实现功能确定了操作权限,并分别确定了每一个操作权限所具备的权限级别后,可针对客户端的某一个具体的权限调用请求,来为其分配相匹配的操作权限。

具体的,响应客户端的权限调用请求,确定与权限调用请求对应的操作权限集合,参阅图3所示,包括:

步骤2011:响应客户端的权限调用请求,基于权限调用请求,确定目标数据所属的位置级别,以及确定客户端对目标数据的操作。

实施过程中,在响应到客户端的权限调用请求后,解析该权限调用请求,获得该权限调用请求所包含的目标数据所属的位置级别和客户端对目标数据的操作,例如,当权限调用请求为对表1中的第2行第3列中的目标数据进行删除时,确定目标数据所属的位置级别为列,客户端对目标数据的操作为删除。

步骤2012:基于位置级别,筛选出对位置级别执行操作的操作权限。

在确定了目标数据所属的位置级别后,从根据API创建的各个操作权限中选取能够对该位置级别执行操作的操作权限,即按照位置级别筛选出多个操作权限,筛选出的多个操作权限都是可针对该位置级别的目标数据进行操作的。

例如,当权限调用请求为对表1中的第2行第3列中的目标数据进行删除时,确定目标数据所属的位置级别为列后,从各个操作权限中筛选出能够对列执行操作的操作权限,包括删除、写入、新增等等。

步骤2013:在筛选出的操作权限中,确定出与操作相对应的操作权限,基于确定出的操作权限创建操作权限集合。

为了与客户端的权限调用请求相匹配,在筛选出多个针对上述位置级别的操作权限后,进一步确定出与操作相对应的操作权限,例如,当权限调用请求为对表1中的第2行第3列中的目标数据进行删除后,在步骤2012中筛选出来的对位置级别执行操作的操作权限中,确定出与删除操作相对应的操作权限。

由于,针对某个位置级别的操作权限不止一个,为此,根据确定出的操作权限创建操作权限集合,在该操作权限集合中包含有所有能够对该位置级别执行操作的操作权限。

步骤202:基于目标数据所属的位置级别,确定与位置级别相匹配的目标权限级别。

由于,每一个操作权限都具备不同的权限级别,并且,操作权限还会自动继承父级别的操作权限。在确定了客户端的权限调用请求所对应的操作权限后,还需要进一步确定权限调用请求所对应的操作权限所具备的权限级别。具体的,参阅图4所示,包括:

步骤2021:基于目标数据所属的位置级别,若确定全局权限级别与位置级别相匹配,则将全局权限级别作为目标权限级别。

实施过程中,按照优先级从高到低的顺序逐一判断与目标数据所属的位置级别相匹配的权限级别,具体的,先判断全局权限级别与位置级别是否相匹配,优选地,可根据全局权限级别能够执行操作的范围与该位置级别能够执行操作的范围的重叠程度来判定,当重叠程度达到预先设好的设定值即可判定全局权限级别与位置级别相匹配,进而将全局权限级别作为目标权限级别。

步骤2022:基于目标数据所属的位置级别,若确定命名空间权限级别与位置级别相匹配,则将全局权限级别和命名空间权限级别作为目标权限级别。

同样的,判断命名空间权限级别与位置级别是否相匹配,优选地,可根据命名空间权限级别能够执行操作的范围与该位置级别能够执行操作的范围的重叠程度来判定,当重叠程度达到预先设好的设定值即可判定命名空间权限级别与位置级别相匹配,进而将命名空间权限级别作为目标权限级别。

在判定命名空间权限级别的父级别操作权限存在后,命名空间权限级别会自动继承全局权限级别,在确定该目标数据所属的位置级别对应的目标权限级别为命名空间权限级别后,该目标数据所属的位置级别还会自动继承全局权限级别。例如,对命名空间权限级别执行扫描操作,在本步骤中确定命名空间权限级别的扫描操作为目标权限级别对应的操作权限,在此基础上,还确定命名空间权限级别的父级别操作权限存在即针对全局权限级别的扫描操作存在时,令该命名空间权限级别执行扫描操作的同时,也允许全局权限级别的扫描操作也适用于该命名空间权限级别对应的目标数据。

若判定命名空间权限级别的父级别操作权限不存在后,则仅确定该目标数据所属的位置级别对应的目标权限级别为命名空间权限级别。

步骤2023:基于目标数据所属的位置级别,若确定表权限级别与位置级别相匹配,则将全局权限级别、命名空间权限级别和表权限级别作为目标权限级别。

同样的,判断表权限级别与位置级别是否相匹配,优选地,可根据表权限级别能够执行操作的范围与该位置级别能够执行操作的范围的重叠程度来判定,当重叠程度达到预先设好的设定值即可判定表权限级别与位置级别相匹配,进而将表权限级别作为目标权限级别。

在判定表权限级别的父级别操作权限存在后,表权限级别会自动继承全局权限级别和/或命名空间权限级别,在确定该目标数据所属的位置级别对应的目标权限级别为表权限级别后,该目标数据所属的位置级别还会自动继承全局权限级别和/或命名空间权限级别。例如,对表权限级别执行扫描操作,在本步骤中确定表权限级别的扫描操作为目标权限级别对应的操作权限,在此基础上,还确定表权限级别的父级别操作权限存在即针对全局权限级别和/或命名空间权限级别的扫描操作存在时,令该表权限级别执行扫描操作的同时,也允许全局权限级别和/或命名空间权限级别的扫描操作也适用于该表权限级别对应的目标数据。

若判定表权限级别的父级别操作权限不存在后,则仅确定该目标数据所属的位置级别对应的目标权限级别为表权限级别。

步骤2024:基于目标数据所属的位置级别,若确定列族权限级别与位置级别相匹配,则将全局权限级别、命名空间权限级别、表权限级别和列族权限级别作为目标权限级别。

同样的,判断列族权限级别与位置级别是否相匹配,优选地,可根据列族权限级别能够执行操作的范围与该位置级别能够执行操作的范围的重叠程度来判定,当重叠程度达到预先设好的设定值即可判定列族权限级别与位置级别相匹配,进而将列族权限级别作为目标权限级别。

在判定列族权限级别的父级别操作权限存在后,列族权限级别会自动继承全局权限级别、命名空间权限级别和/或表权限级别,在确定该目标数据所属的位置级别对应的目标权限级别为列族权限级别后,该目标数据所属的位置级别还会自动继承全局权限级别、命名空间权限级别和/或表权限级别。例如,对列族权限级别执行扫描操作,在本步骤中确定列族权限级别的扫描操作为目标权限级别对应的操作权限,在此基础上,还确定列族权限级别的父级别操作权限存在即针对全局权限级别、命名空间权限级别和/或表权限级别的扫描操作存在时,令该列族权限级别执行扫描操作的同时,也允许全局权限级别、命名空间权限级别和/或表权限级别的扫描操作也适用于该列族权限级别对应的目标数据。

若判定列族权限级别的父级别操作权限不存在后,则仅确定该目标数据所属的位置级别对应的目标权限级别为列族权限级别。

步骤2025:基于目标数据所属的位置级别,若确定列权限级别与位置级别相匹配,则将全局权限级别、命名空间权限级别、表权限级别、列族权限级别和列权限级别作为目标权限级别。

同样的,判断列权限级别与位置级别是否相匹配,优选地,可根据列权限级别能够执行操作的范围与该位置级别能够执行操作的范围的重叠程度来判定,当重叠程度达到预先设好的设定值即可判定列权限级别与位置级别相匹配,进而将列权限级别作为目标权限级别。

在判定列权限级别的父级别操作权限存在后,列权限级别会自动继承全局权限级别、命名空间权限级别、表权限级别和/或列族权限级别,在确定该目标数据所属的位置级别对应的目标权限级别为列权限级别后,该目标数据所属的位置级别还会自动继承全局权限级别、命名空间权限级别、表权限级别和/或列族权限级别。例如,对列权限级别执行扫描操作,在本步骤中确定列权限级别的扫描操作为目标权限级别对应的操作权限,在此基础上,还确定列权限级别的父级别操作权限存在即针对全局权限级别、命名空间权限级别、表权限级别和/或列族权限级别的扫描操作存在时,令该列权限级别执行扫描操作的同时,也允许全局权限级别、命名空间权限级别、表权限级别和/或列族权限级别的扫描操作也适用于该列权限级别对应的目标数据。

若判定列权限级别的父级别操作权限不存在后,则仅确定该目标数据所属的位置级别对应的目标权限级别为列权限级别。

步骤203:将与目标权限级别相对应的操作权限作为目标权限,授权给权限调用请求对应的位置级别。

实施过程中,在确定了权限调用请求所对应的目标权限级别后,进一步获取目标权限级别相对应的操作权限,并将该操作权限作为目标权限授权给权限调用请求对应的位置级别。具体的授权语句这里不再赘述。

例如,当权限调用请求为对表1中的第2行第3列中的目标数据进行删除时,确定目标权限级别为列权限级别,则将delete作为目标权限授权给表1中的第2行第3列,使客户端能够对表1中的第2行第3列的目标数据进行删除操作。

实施过程中,将与目标权限级别相对应的权限级别的操作权限作为目标权限,授权给权限调用请求对应的位置级别之后,还要通过访问控制器对已授权了目标权限的位置级别的操作权限进行确认,即只有在通过访问控制器的确认后,才允许客户端对该位置级别执行目标权限对应的操作,参阅图5所示,还包括:

步骤2041:响应于客户端对位置级别的目标数据执行目标权限对应的操作,通过访问控制器确认客户端是否能够对目标数据执行目标权限对应的操作,其中,访问控制器为基于操作权限创建的权限限定代码。

实施过程中,当客户端想要对位置级别的目标数据执行对应的操作时,服务器响应客户端对位置级别的目标数据执行目标权限对应的操作,并启用访问控制器确认客户端是否能够对目标数据执行目标权限对应的操作,具体的,访问控制器通过权限限定代码来执行确认过程。

例如,当权限调用请求为对表1中的第2行第3列中的目标数据进行删除时,访问控制器通过权限限定代码来限定对表1中的第2行第3列执行的操作为列权限级别的删除操作,若访问控制器确认通过,即确认客户端想要对目标数据执行的操作(例如,delete)符合该位置级别所对应的操作(例如,上述对表1中的第2行第3列执行的操作为列权限级别的删除操作),则执行步骤2042;若访问控制器确认不通过,即确认客户端对目标数据执行的操作(例如,put)不符合该位置级别所对应的操作(例如,上述对表1中的第2行第3列执行的操作为列权限级别的删除操作),则执行步骤2043。

步骤2042:允许客户端对位置级别的目标数据执行目标权限对应的操作。

实施过程中,在访问控制器确认客户端有权限对位置级别执行目标权限对应的操作后,允许客户端对位置级别的目标数据执行目标权限对应的操作,即客户端可以操作该目标数据了。

例如,当权限调用请求为对表1中的第2行第3列中的目标数据进行删除时,通过访问控制器的确认后,客户端即可删除该第2行第3列中的目标数据。

步骤2043:禁止客户端对位置级别的目标数据执行目标权限对应的操作。

实施过程中,在访问控制器确认客户端没有权限对位置级别执行目标权限对应的操作后,禁止客户端对位置级别的目标数据执行目标权限对应的操作,即不允许客户端操作该目标数据。

例如,当权限调用请求为对表1中的第2行第3列中的目标数据进行删除时,未通过访问控制器的确认的情况下,客户端无权删除该第2行第3列中的目标数据。

需要进行说明的是,该HBase权限配置方法中除了包括给位置级别授权操作权限,还包括给位置级别撤销相应的操作权限。具体的,响应于客户端对位置级别的撤权调用请求,将撤权调用请求对应的位置级别的目标权限设置为空,即用空值代替该位置级别原有的目标权限。

例如,在对目标数据进行删除的情况下,给权限调用请求对应的表1中的第2行第3列授予delete这一个目标权限后,可在响应到客户端对表1中的第2行第3列的撤权调用请求后,将上述delete这一个目标权限替换成null(空值),从而不再允许客户端对第2行第3列执行对目标数据进行删除的操作。

参阅图6所示,在介绍了本申请实施例提供的HBase权限配置方法之后,基于相同的发明构思,下面对本申请实施例提供的HBase权限配置装置进行详细说明:

响应模块601,用于响应客户端的权限调用请求,确定与权限调用请求对应的操作权限集合,其中,权限调用请求用于表征客户端对目标数据所属的位置级别的操作,操作权限是基于HBase的权限控制代码中的应用程序编程接口API的实现功能创建的,且,操作权限包括至少一个权限级别,操作权限集合包含有至少一个操作权限;

确定模块602,用于基于目标数据所属的位置级别,确定与位置级别相匹配的目标权限级别;

授权模块603,用于将与目标权限级别相对应的操作权限作为目标权限,授权给权限调用请求对应的位置级别。

参阅图7所示,在介绍了本申请实施例提供的HBase权限配置装置之后,基于相同的发明构思,下面对本申请实施例提供的一种服务器进行详细说明:

存储器701,用于存储可被控制器702执行的计算机程序;

控制器702与存储器701连接,被配置为执行:

响应客户端的权限调用请求,确定与权限调用请求对应的操作权限集合,其中,权限调用请求用于表征客户端对目标数据所属的位置级别的操作,操作权限是基于HBase的权限控制代码中的应用程序编程接口API的实现功能创建的,且,操作权限包括至少一个权限级别,操作权限集合包含有至少一个操作权限;

基于目标数据所属的位置级别,确定与位置级别相匹配的目标权限级别;

将与目标权限级别相对应的操作权限作为目标权限,授权给权限调用请求对应的位置级别。

在一些可能的实施例中,控制器702被配置为执行响应客户端的权限调用请求,确定与权限调用请求对应的操作权限集合,包括:

响应客户端的权限调用请求,基于权限调用请求,确定目标数据所属的位置级别,以及确定客户端对目标数据的操作;

基于位置级别,筛选出对位置级别执行操作的操作权限;

在筛选出的操作权限中,确定出与操作相对应的操作权限,基于确定出的操作权限创建操作权限集合。

在一些可能的实施例中,控制器702被配置为执行,通过下列方式确定操作权限:

基于HBase的权限控制代码中的API对各个位置级别的数据所能实现的操作,确定权限控制代码中的API的实现功能;

将属于同一个位置级别的同一种实现功能的API,创建为同一种操作权限,其中,同一种操作权限中包含的API的个数至少为一个。

在一些可能的实施例中,控制器702被配置为执行权限级别包括优先级从高到低的全局权限级别、命名空间权限级别、表权限级别、列族权限级别和列权限级别;

通过下列方式设置操作权限的权限级别:

计算操作权限与全局权限级别之间的第一匹配度,若第一匹配度大于第一匹配阈值,则将全局权限级别作为操作权限对应的权限级别;

计算操作权限与命名空间权限级别之间的第二匹配度,若第二匹配度大于第二匹配阈值,且,当操作权限对应的第一父权限级别存在时,将第一父权限级别和命名空间权限级别均作为操作权限对应的权限级别,其中,第一父权限级别为全局权限级别;

计算操作权限与表权限级别之间的第三匹配度,若第三匹配度大于第三匹配阈值,且,当操作权限对应的第二父权限级别存在时,将第二父权限级别和表权限级别均作为操作权限对应的权限级别,其中,第二父权限级别为全局权限级别和/或命名空间权限级别;

计算操作权限与列族权限级别之间的第四匹配度,若第四匹配度大于第四匹配阈值,且,当操作权限对应的第三父权限级别存在时,将第三父权限级别和列族权限级别均作为操作权限对应的权限级别,其中,第三父权限级别为全局权限级别、命名空间权限级别和/或表权限级别;

计算操作权限与列权限级别之间的匹配度,若匹配度大于第五匹配阈值,且,当操作权限对应的第四父权限级别存在时,将第四父权限级别和列权限级别均作为操作权限对应的权限级别,其中,第四父权限级别为全局权限级别、命名空间权限级别、表权限级别和/或列族权限级别。

在一些可能的实施例中,控制器702被配置为执行基于目标数据所属的位置级别,确定与位置级别相匹配的目标权限级别,包括:

基于目标数据所属的位置级别,若确定全局权限级别与位置级别相匹配,则将全局权限级别作为目标权限级别;

基于目标数据所属的位置级别,若确定命名空间权限级别与位置级别相匹配,则将全局权限级别和命名空间权限级别作为目标权限级别;

基于目标数据所属的位置级别,若确定表权限级别与位置级别相匹配,则将全局权限级别、命名空间权限级别和表权限级别作为目标权限级别;

基于目标数据所属的位置级别,若确定列族权限级别与位置级别相匹配,则将全局权限级别、命名空间权限级别、表权限级别和列族权限级别作为目标权限级别;

基于目标数据所属的位置级别,若确定列权限级别与位置级别相匹配,则将全局权限级别、命名空间权限级别、表权限级别、列族权限级别和列权限级别作为目标权限级别。

在一些可能的实施例中,控制器702被配置为执行将与目标权限级别相对应的权限级别的操作权限作为目标权限,授权给权限调用请求对应的位置级别之后,控制器702还被配置为执行:

响应于客户端对位置级别的目标数据执行目标权限对应的操作,通过访问控制器确认客户端是否能够对目标数据执行目标权限对应的操作,其中,访问控制器为基于操作权限创建的权限限定代码;

若访问控制器确认通过,则允许客户端对位置级别的目标数据执行目标权限对应的操作;

若访问控制器确认不通过,则禁止客户端对位置级别的目标数据执行目标权限对应的操作。

在一些可能的实施例中,控制器702还被配置为执行:

响应于客户端对位置级别的撤权调用请求,将撤权调用请求对应的位置级别的目标权限设置为空。

在介绍了本申请实施例提供的一种服务器之后,基于相同的发明构思,本申请实施例提供一种计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得所述处理器能够执行:。

响应客户端的权限调用请求,确定与权限调用请求对应的操作权限集合,其中,权限调用请求用于表征客户端对目标数据所属的位置级别的操作,操作权限是基于HBase的权限控制代码中的应用程序编程接口API的实现功能创建的,且,操作权限包括至少一个权限级别,操作权限集合包含有至少一个操作权限;

基于目标数据所属的位置级别,确定与位置级别相匹配的目标权限级别;

将与目标权限级别相对应的操作权限作为目标权限,授权给权限调用请求对应的位置级别。

综上所述,本申请实施例中,公开了一种HBase权限配置方法、装置及存储介质,该HBase权限配置方法为:响应客户端的权限调用请求,确定与权限调用请求对应的操作权限集合,权限调用请求用于表征客户端对目标数据所属的位置级别的操作,操作权限是基于HBase的权限控制代码中的API的实现功能创建的,并且,操作权限包括至少一个权限级别,操作权限集合包含有至少一个操作权限,基于目标数据所属的位置级别,确定与位置级别相匹配的目标权限级别,将与目标权限级别相对应的操作权限作为目标权限,授权给权限调用请求对应的位置级别,通过API创建操作权限使得HBase权限划分更加精细,从而能够为客户端想要执行操作的位置级别精准匹配对应的目标权限。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品系统。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品系统的形式。

本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品系统的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些更新和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号