一种数据库集群权限的控制方法及装置的制造方法

文档序号:9276377阅读:440来源:国知局
一种数据库集群权限的控制方法及装置的制造方法
【技术领域】
[0001]本发明实施例涉及数据库领域,尤其涉及一种数据库集群权限的控制方法及装置。
【背景技术】
[0002]HBase (Hadoop Database)是一个高可靠性、高性能、面向列及可伸缩的分布式存储数据库,利用HBase技术可在多个服务器中搭建起大规模结构化存储集群。Hbase定位于数据库系统,数据库系统的安全性是数据库管理的重要指标之一。在多用户角色共用同一个Hbase集群的情况下,如果缺少权限控制,可能会发生未授权的对存储其中的数据进行随意删改等情况,从而影响数据库的安全性和稳定性。
[0003]开源社区官方提供的Hbase集群用户权限控制方案基于宿主操作系统,由数据库管理员(Database Administrator, DBA)对访问控制列表(Access Control List,ACL)进行管理,根据不同操作系统用户对应的数据进行权限的授予及回收后同步到ACL表,在接收到客户端发起的访问请求时,由ACL模块获取当前登录的操作系统用户信息,并参照ACL表进行合理权限范围内的操作控制。由于在实际应用过程中,具有不同职能的研发人员对应Hbase集群中的数据不同,而上述权限控制方案无法判断当前登录已授权操作系统用户的研发人员的职能范围,所以很可能会出现研发人员对其他职能范围内的数据进行随意删改等情况,仍然会影响数据库的安全性和稳定性。

【发明内容】

[0004]本发明实施例的目的是提出一种数据库集群权限的控制方法及装置,以解决现有HBase集群用户权限控制方案不能够保证数据库安全性和稳定性的问题。
[0005]一方面,本发明实施例提供了一种数据库集群权限的控制方法,包括:
[0006]当接收到针对集群中的职能数据的访问请求时,获取所述访问请求发送方的职能用户信息;
[0007]对所述职能用户信息进行验证,根据验证结果确定是否允许访问。
[0008]另一方面,本发明实施例提供了一种数据库集群权限的控制装置,包括:
[0009]职能用户信息获取模块,用于在接收到针对集群中的职能数据的访问请求时,获取所述访问请求发送方的职能用户信息;
[0010]验证模块,用于对所述职能用户信息进行验证,根据验证结果确定是否允许访问。
[0011]本发明实施例中提供的数据库集群权限的控制方案,可使具有特定职能的研发人员使用专属于该特定职能的职能用户账号访问Hbase集群中对应的职能数据。当有人在客户端上使用某一个职能用户账号想要访问Hbase集群中的某职能数据时,即接收到针对该职能数据的访问请求时,获取当前职能用户信息,对获取的职能用户信息进行验证,并根据验证结果确定是否允许访问。通过采用上述技术方案,可防止职能数据被不具备该职能的用户进行删改等操作,进而保证数据库的安全性和稳定性。并且,采用该技术方案,不需要在客户端进行任何业务代码的修改,侵入性小。
【附图说明】
[0012]图1为本发明实施例一提供的一种数据库集群权限的控制方法的流程图;
[0013]图2为本发明实施例二提供的一种优选的Hbase集群权限控制方法的流程图;
[0014]图3本发明实施例二提供的一种数据库集群权限的控制装置的结构框图。
【具体实施方式】
[0015]下面结合附图并通过【具体实施方式】来进一步说明本发明的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0016]实施例一
[0017]图1为本发明实施例一提供的一种数据库集群权限的控制方法的流程图,该方法可适用于Hbase集群权限的控制,具体可以由数据库集群权限的控制装置执行,其中该装置可由软件和/或硬件实现,一般可集成在服务器中。如图1所示,该方法包括:
[0018]步骤101、当接收到针对集群中的职能数据的访问请求时,获取访问请求发送方的职能用户信息。
[0019]示例性的,用于执行本发明实施例方法的装置可集成于服务器的协处理器(coprocessor)中,所述服务器具体可为集群服务器,也可为用于管理集群的服务器。不同研发人员由于所属技术部门不同或所参与的工作项目不同,一般具备不同的职能,可根据职能为不同的研发人员分配不同的职能用户。Hbase集群中包含了所有研发人员所需要的数据,可将Hbase集群中的数据按照职能进行分类,分类后的数据专用于其对应的职能,可称为职能数据。职能用户具体可指用于访问相应职能数据的账户。例如:某部门的研发人员具备职能A,可为该部门的研发人员分配职能用户a,则该部门研发人员可通过在客户端上登陆职能用户a来访问相应的职能数据。
[0020]示例性的,研发人员可通过在与集群通信连接的客户端上登陆职能用户,当需要对Hbase集群中的某职能数据进行访问时,客户端会发送针对该职能数据的访问请求。当服务器接收到访问请求时,便获取该客户端上登陆的职能用户信息。
[0021]示例性的,职能用户信息可包括职能用户账号名。
[0022]优选的,职能用户信息还可包括网络协议(Internet Protocol,IP)地址,即登陆当前职能用户的客户端的IP地址。
[0023]示例性的,在执行本步骤之前,还可先执行创建权限验证表(ACL表)的操作,该ACL表中包含各职能用户信息与各职能数据之间的对应关系。
[0024]步骤102、对职能用户信息进行验证,根据验证结果确定是否允许访问。
[0025]具体的,可判断职能用户信息与所要访问的职能数据是否符合ACL表中的对应关系,若符合,则确定允许访问。
[0026]示例性的,允许访问后,可对访问的职能数据进行相关操作,如对表、列族进行如下操作:数据库模式定义语言(Data Definit1n Language,DDL)操作、数据操纵语言(DataManipulat1n Language,DML)操作和数据读写操作(如 get、put 和 scan)等。
[0027]例如,具备职能B的甲通过客户端M(其IP地址对应职能B)登陆职能用户b,想要访问Hbase集群中对应职能B的职能数据,步骤101中,服务器会获取职能用户b的账户名和客户端M的IP地址,本步骤中将根据所获取到的账户名和IP地址查询ACL表,判断职能用户b与所要访问的职能数据是相对应的,所以具备访问权限,则确定允许访问,进而允许对该职能数据进行相关表的操作。对账号名和IP地址均进行验证的好处是,账号名可能容易泄露,对IP地址进行验证能够进一步增强数据存储的安全性。若甲继续想要访问Hbase集群中对应职能C的职能数据时,由于职能用户b与所要访问的职能数据不是对应的,那么会拒绝访问,进而也阻止了甲对
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1