基于RBAC的支持多租户的数据权限管理装置及方法与流程

文档序号:37162796发布日期:2024-03-01 11:59阅读:100来源:国知局
基于RBAC的支持多租户的数据权限管理装置及方法与流程

[]本发明涉及大数据处理,具体地说是一种基于rbac的支持多租户的数据权限管理装置及方法。


背景技术:

0、[背景技术]

1、目前,在现有的技术方案中,多租户支持通常通过以下几种方式实现:

2、(1)独立部署:在这种模式下,为每个租户提供独立的硬件和软件环境,这是最早的多租户实现方式,优点是高度独立,完全隔离,缺点是资源利用率低,运维成本高。

3、(2)共享数据库,独立schema:在这种模式下,所有租户共享一个数据库实例,但每个租户都有自己独立的数据库模式,这提高了资源的共享程度,但在数据权限管理方面还是存在一定的挑战。

4、(3)共享数据库,共享schema:在这种模式下,所有租户不仅共享数据库实例,而且共享数据库模式。为了区分不同租户的数据,需要在数据库表中添加表示租户标识的字段;这种模式进一步提高了资源共享程度,但在数据权限管理上提出了更高的要求。

5、综上,在上述模式中,数据权限管理主要依靠应用程序来实现,通过在应用程序中增加数据访问权限控制逻辑来强制执行数据权限,这在一定程度上增加了应用程序的复杂性和维护成本,并且应用程序层面的数据权限控制可能存在一定的安全风险。


技术实现思路

0、[
技术实现要素:
]

1、本发明的目的就是要解决上述的不足而提供一种基于rbac的支持多租户的数据权限管理装置,能够实现精细、高效和安全管理多租户环境下的数据访问权限,从而最大限度地保护用户数据的安全性和隐私性,提供了更高的数据安全保障。

2、本发明一方面,提供了一种基于rbac的支持多租户的数据权限管理装置,包括:

3、租户信息管理器,用于存储租户的基本信息;

4、角色权限管理器,用于存储角色和权限的映射关系;

5、用户角色管理器,用于存储用户在不同租户下的角色信息,并将用户id和角色id进行关联,实现基于rbac的用户角色权限管理;

6、租户资源管理器,用于将租户资源与角色权限关联,租户资源包括但不限于某个租户下的文件、图片及数据资源;

7、请求分析器,用于分析租户的数据库请求,提取出请求相关的租户id、操作类型、数据表、数据行及数据列信息;

8、权限检查器,用于根据请求分析器提取的信息,通过租户信息管理器和角色权限管理器,检查租户请求是否具有合适的权限。

9、作为一种实施例,所述租户信息管理器对租户信息的管理包括但不限于租户申请、创建、修改及注销,租户信息管理器在客户申请租户且申请通过后分配唯一的租户id。

10、作为一种实施例,所述角色权限管理器对角色权限的管理包括但不限于分配角色、设置角色权限及分配数据权限,且所有的权限信息均以租户id为索引,并存储在数据库中。

11、作为一种实施例,所述权限检查器中,用户发起数据访问请求时,经过请求分析器提取到的租户id、当前用户id、请求的内容等信息,再根据用户拥有的角色以及角色拥有的权限进行鉴权验证,通过权限验证的请求才能得到执行。

12、本发明另一方面,提供了一种基于rbac的支持多租户的数据权限管理方法,包括以下步骤:

13、租户信息管理:通过租户表存储租户基本信息,通过租户配置表管理租户的配置信息;

14、角色权限管理:通过角色表配置角色的信息,通过权限表配置权限信息,每个租户的角色信息和权限均以租户id为索引进行隔离;

15、用户角色管理:通过用户表存储用户基础信息,一个用户可拥有多个租户下的权限,并通过用户角色表将用户和一个或者多个租户进行关联,以及配置在该租户下的角色信息,实现基于rbac的用户角色权限管理;

16、租户资源管理:通过资源表存储资源id、资源内容及资源存放路径信息,通过租户资源表将租户id和对应有权限的资源id进行关联;

17、请求分析:分析租户的数据库请求,提取出请求相关的租户id、操作类型、数据表、数据行及数据列信息;

18、权限检查:根据请求分析提取的信息,通过租户信息管理和角色权限管理,检查租户请求是否具有合适的权限,以及通过用户角色管理和租户资源管理,进行用户角色和和租户资源权限的鉴权判断。

19、作为一种实施例,租户信息管理时,对租户信息的管理包括但不限于租户申请、创建、修改及注销,租户信息管理器在客户申请租户且申请通过后分配唯一的租户id。

20、作为一种实施例,角色权限管理时,对角色权限的管理包括但不限于分配角色、设置角色权限及分配数据权限,且所有的权限信息均以租户id为索引,并存储在数据库中。

21、作为一种实施例,权限检查时,用户发起数据访问请求,经过请求分析器提取到的租户id、当前用户id、请求的内容等信息,再根据用户拥有的角色以及角色拥有的权限进行鉴权验证,通过权限验证的请求才能得到执行。

22、作为一种实施例,所述数据权限管理方法还包括以下步骤:

23、1)首先创建一个数据库,该数据库对应多个租户,每个租户都有其自己的唯一标识即租户id;

24、2)租户识别模块首先接收来自租户的访问请求,然后识别模块依赖于请求中的凭证或者请求来源确定发起请求的租户身份,获取该租户id;

25、3)获取到租户id后,数据权限管理模块将从数据库中获取与该用户所在租户对应的角色,并进一步获取该角色对应的所有数据库权限;

26、4)随后,基于租户资源信息,数据访问控制模块决定是否允许租户对请求的文件进行访问,若权限检查通过,则数据访问控制模块将执行请求并返回结果。

27、本发明第三方面,提出了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,所述程序执行上述方法。

28、本发明同现有技术相比,具有如下优点:

29、(1)数据隔离:通过为每个租户创建独立的数据存储空间,保证了不同租户之间数据的隔离性,有效防止了数据的意外泄露和滥用。

30、(2)精细权限控制:通过精细化的权限控制方案,如基于角色的权限管理,能够对数据的访问进行细化管理,如控制到数据表、数据行、数据列等级别。

31、(3)动态权限变更:对于多租户环境中,经常需要根据业务需求动态地改变数据权限,系统可以支持动态的进行权限变更,如角色权限的增删、数据权限的分配与收回等。

32、(4)安全审计:提供包括日志记录,访问监控在内的审计功能,比如所有的数据操纵、用户行为等都被记录,并可以进行追踪查询,提供给需要进行数据安全审计的安全审计员。

33、(5)易用性:通过直观的界面和操作方式,简化了用户和管理员对数据权限的管理,降低了操作复杂性。

34、综上,本发明能够实现精细、高效和安全管理多租户环境下的数据访问权限,从而最大限度地保护用户数据的安全性和隐私性,提供了更高的数据安全保障;同时,本发明可以降低应用程序的复杂性,降低了开发和维护的工作量,从而即使在多租户、高并发、大数据量的环境下,也能够提供高效、准确和安全的数据访问服务,值得推广应用。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1