一种面向云计算多租户模式的数据权限控制方法和系统技术方案

技术编号:10847211 阅读:185 留言:0更新日期:2014-12-31 18:25
本发明专利技术公开了一种面向云计算多租户模式的数据权限控制方法和系统,该方法包括将相互对应的租户身份信息、数据类型信息、以及权限控制策略服务类进行绑定,使得通过租户身份信息、该租户下属的用户身份信息、以及数据类型信息可在权限控制策略服务类中获取该租户下属的该用户对于该数据类型的操控权限;获取用户对应操控的数据类型信息,结合其用户身份信息、该用户所属的租户身份信息查找对应的权限控制策略服务类;根据上述查找出的权限控制策略服务类,获取该用户对于该数据类型的操控权限。本发明专利技术在多租户模式下,可以满足不同租户对权限管理的个性化需求,并且很大程度上缩减了数据库操作时间的耗费,而且还可实现更加复杂的数据权限控制。

【技术实现步骤摘要】

本专利技术属于云计算多租户
,具体涉及一种面向云计算多租户模式的数据权限控制方法和系统
技术介绍
云计算多租户技术(multi-tenancy)是一种新的软件架构技术,它是在探讨与实现如何在多租户的环境下共用相同的系统或程序组件,在确保各用户间数据的隔离性的同时,满足各租户个性化的需求。多租户技术其中一个关键是如何处理不同租户的个性化需求,其中权限管理的个性化技术显得尤为重要。在传统的企业信息系统中,权限管理是一个基础和关键的部分。权限可以包含两部分:1)功能权限;2)数据权限。功能权限是对系统中某些功能能否使用的控制,而数据权限是对系统中的各种数据是否可以访问和操作的控制。系统一旦开发完成,功能就确定了,所以功能权限的控制是明确的和固定的。但是数据权限不一样,系统在开发完成后的运行中,会生产大量的数据,对这些数据需要进行控制,因此数据权限是动态的,具有很高的复杂度。在企业信息系统中,数据权限的管理一般有两种方式:第一种常见方式是将权限的判断采用代码固定死。比如,生成的报销单能够被申请人和财务主管查看,那么判断报销单能否被查看的逻辑伪代码如下:另外一种是采用了访问控制列表(Action Control List,ACL)的方式,将系统中每一条数据与控制主体(比如用户)建立权限绑定的关系,使得在判断某条数据是否可以被访问时,能够从权限绑定信息中查询到对应的权限,从而控制该数据的访问。比如,上例中采用ACL对报销单进行数据权限控制将产生如下的权限绑定关系:控制对象控制主体权限张三的报销单张三可查看张三的报销单财务主管可查看,可删除,可管理李四的报销单李四可查看李四的报销单财务主管可查看,可删除,可管理当判断张三的报销单哪些人可以读时,通过该关系可以查询出张三和财务主管两个主体可以查看。当判断张三的报销单哪些人可以删除时,通过该关系可以查询出只有财务主管可以删除。其中,第一种方式是最简单的,在企业信息管理系统中经常被使用,但是该种方式无法支持多租户模式下,不同租户对权限管理的个性化需求。比如:租户A采用权限“生成的报销单能够被申请人和财务主管查看”,而租户B采用权限“生成的报销单能够被申请人和财务专员查看”,那么租户A的权限控制代码如下:而租户B的权限控制代码如下:如果将租户A和租户B的个性化权限管理需求统一进行处理,那么权限控制代码如下:如果按照以上的方式,那么随着租户数量的增加,那么相应的权限管理代码就要进行修改,所以这种做法是不可行的。因为,这种方法每增加一个租户,就需要加一段相应的代码,租户的数量是动态变化的,如果变化一个租户就要修改代码,这是不可以接受的。第二种ACL的方式控制粒度较细,能够对任意类型的业务数据进行控制,也能够支持云计算多租户模式,但是该种方式本身具有一个缺点,在于一旦出现修改或删除,那么权限绑定关系就必须进行修改或删除。比如报销单数据,如果系统中存在1万条数据,那么一旦财务主管换人,则需要对这1万条数据对应的权限绑定关系进行更新,这将造成数据更新效率低下的问题。与此同时,企业信息管理系统中还存在很复杂的权限情况,采用ACL的方式难以处理。比如权限“部门经理能够查看成员及所有子部门下的成员的报销单”,那么采用ACL的方式,则一旦生成一张新的报销单,那么将产生如下的权限绑定关系列表:以上可知,这种权限使得需要根据组织架构来生成权限绑定关系。添加一条报销单数据,将会生成N条权限绑定关系,同时也有修改或者删除的问题存在。一旦张三的报销单删除,那么与张三的报销单相关的权限绑定关系都将被删除,这也会造成很大的数据更新操作的困难。
技术实现思路
本专利技术的目的在于提供一种面向云计算多租户模式的数据权限控制方法和系统,不仅可以支持云计算多租户模式,还能够解决现有技术数据库操作时间耗费巨大和复杂权限管理难以处理的问题。为了实现上述专利技术目的,本专利技术采用的技术方案如下:一种面向云计算多租户模式的数据权限控制方法,包括:将相互对应的租户身份信息、数据类型信息、以及权限控制策略服务类进行绑定,使得通过租户身份信息、该租户下属的用户身份信息、以及数据类型信息可在权限控制策略服务类中获取该租户下属的该用户对于该数据类型的操控权限;获取用户对应操控的数据类型信息,结合其用户身份信息、该用户所属的租户身份信息查找对应的权限控制策略服务类;根据上述查找出的权限控制策略服务类,获取该用户对于该数据类型的操控权限。进一步的,所述将相互对应的租户身份信息、数据类型信息、以及权限控制策略服务类进行绑定,具体是通过生成一类型权限绑定信息来体现三者的绑定关系。进一步的,所述将相互对应的租户身份信息、数据类型信息、以及权限控制策略服务类进行绑定时,一个数据类型可以对应绑定一个或者多个权限控制策略服务类。进一步的,当一个数据类型可以对应绑定一个权限控制策略服务类时,所述根据上述查找出的权限控制策略服务类,获取该用户对于该数据类型的操控权限,具体是直接执行该权限控制策略服务类获取其操控权限;当一个数据类型可以对应绑定多个权限控制策略服务类时,所述根据上述查找出的权限控制策略服务类,获取该用户对于该数据类型的操控权限,具体是执行各查找出的权限控制策略服务类,根据各权限控制策略服务类之间的逻辑与、逻辑或和逻辑非的关系得到的执行结果,根据所述结果判断用户是否具有对该数据类型对应的操控权限。进一步的,在查找到对应的权限控制策略服务类之后,还包括将该权限控制策略服务类存储至一租户类型权限绑定缓存中,以便下次可直接在该缓存读取。一种面向云计算多租户模式的数据权限控制系统,包括:数据类型数据库,用于存储所有数据类型信息;权限策略数据库,用于存储权限控制策略服务类,该权限控制策略服务类中包括绑定在一起的租户身份信息、用户身份信息、与所述用户身份信息对应的数据类型信息、以及与所述数据类型对应的控制权限信息;类型权限绑定数据库,用于存储类型权限绑定信息,该类型权限绑定信息中包括绑定在一起的租户身份信息、数据类型信息、以及权限控制策略服务类;数据关联器,用于将相互对应的租户身份信息、数据类型信息、以及权限控制策略服务类进行绑定生成类型权限绑定信息,并存储至所述类型权限绑定数据库;类型权限匹配器,用于获取用户对应操控的数据类型信息,结合其用户身份信息、该用户所属的租户身份信息在所述本文档来自技高网
...
一种面向云计算多租户模式的数据权限控制方法和系统

【技术保护点】
一种面向云计算多租户模式的数据权限控制方法,其特征在于包括:将相互对应的租户身份信息、数据类型信息、以及权限控制策略服务类进行绑定,使得通过租户身份信息、该租户下属的用户身份信息、以及数据类型信息可在权限控制策略服务类中获取该租户下属的该用户对于该数据类型的操控权限;获取用户对应操控的数据类型信息,结合其用户身份信息、该用户所属的租户身份信息查找对应的权限控制策略服务类;根据上述查找出的权限控制策略服务类,获取该用户对于该数据类型的操控权限。

【技术特征摘要】
1.一种面向云计算多租户模式的数据权限控制方法,其特征在于包括:
将相互对应的租户身份信息、数据类型信息、以及权限控制策略服务类进行绑定,使得
通过租户身份信息、该租户下属的用户身份信息、以及数据类型信息可在权限控制策略服务
类中获取该租户下属的该用户对于该数据类型的操控权限;
获取用户对应操控的数据类型信息,结合其用户身份信息、该用户所属的租户身份信息
查找对应的权限控制策略服务类;
根据上述查找出的权限控制策略服务类,获取该用户对于该数据类型的操控权限。
2.根据权利要求1所述的面向云计算多租户模式的数据权限控制方法,其特征在于:
所述将相互对应的租户身份信息、数据类型信息、以及权限控制策略服务类进行绑定,
具体是通过生成一类型权限绑定信息来体现三者的绑定关系。
3.根据权利要求1所述的面向云计算多租户模式的数据权限控制方法,其特征在于:
所述将相互对应的租户身份信息、数据类型信息、以及权限控制策略服务类进行绑定时,
一个数据类型可以对应绑定一个或者多个权限控制策略服务类。
4.根据权利要求3所述的面向云计算多租户模式的数据权限控制方法,其特征在于:
当一个数据类型可以对应绑定一个权限控制策略服务类时,所述根据上述查找出的权限
控制策略服务类,获取该用户对于该数据类型的操控权限,具体是直接执行该权限控制策略
服务类获取其操控权限;
当一个数据类型可以对应绑定多个权限控制策略服务类时,所述根据上述查找出的权限
控制策略服务类,获取该用户对于该数据类型的操控权限,具体是执行各查找出的权限控制
策略服务类,根据各权限控制策略服务类之间的逻辑与、逻辑或和逻辑非的关系得到的执行
结果,根据所述结果判断用户是否具有对该数据类型对应的操控权限。
5.根据权利要求1所述的面向云计算多租户模式的数据权限控制方法,其特征在于:
在查找到对应的权限控制策略服务类之后,还包括将该权限控制策略服务类存储至一租
户类型权限绑定缓存中,以便下次可直接在该缓存读取。
6.一种面向云计算多租户模式的数据权限控制系统,其特征在于包括:
数据类型数据库,用...

【专利技术属性】
技术研发人员:李引袁峰
申请(专利权)人:广州中国科学院软件应用技术研究所
类型:发明
国别省市:广东;44

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

1