一种基于运维审计系统的多租户权限鉴权方法技术方案

技术编号:26478926 阅读:29 留言:0更新日期:2020-11-25 19:23
本发明专利技术公开了一种基于运维审计系统的多租户权限鉴权方法,包括group视图和policy视图,所述policy视图用于存储角色、租户和权限的关系;所述group视图用于存储用户继承角色以及租户继承租户的关联关系。本发明专利技术针对运维审计系统中的用户、角色、权限及其关系在多租户下,相关授权的行为使用数据库物化视图转为特定的结构,可实现用户,用户组,在多租户下行为的统鉴权,关键点是通过物化视图和特定的存储结构统一了授权的查询和鉴权。本发明专利技术实现了统一系统权限判定的逻辑,减少系统的维护成本、降低系统的复杂度、提升权限鉴权的性能。

【技术实现步骤摘要】
一种基于运维审计系统的多租户权限鉴权方法
本专利技术属于计算机
,具体涉及一种基于运维审计系统的多租户权限鉴权方法。
技术介绍
现有的运维审计系统中,对于运维审计系统中的权限存储方案,一般是在系统中内置了几种默认角色,比如,管理员,审计员,运维员,实现多权分立,创建用户时指定用户的角色,在执行一次操作时,根据用户的角色判断用户有哪些权限。在用户执行某种操作时,在操作的逻辑内判断是否有权限执行,其缺点是需人工维护其逻辑,维护成本较高,出错率较高。在多租户环境下,对指定的角色对租户进行关联,对租户的隔离是在角色上添加与租户的关系,用户每次操作时多需要查询多张表,造成API响应较慢。在多租户条件下对于角色继承的方案,需要递归查询,用户执行一次操作时,响应时间很多在操作的鉴权上。因此,使用固定的角色,代码维护成本高。现有的RBAC基于角色的访问控制(RBAC),对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限。这样做的好处是,不必在每次创建用户时都进行分配权限的操作,只要分配用户相应的角色即可,而且角色的权限变更比用户的权限变更要少得多,这样将简化用户的权限管理,减少系统的开销。然而,使用RBAC时,同时需要查询,用户与角色关联表,角色与权限关联表,在多租户场景下,还需查询角色与租户的关系。连表查询性能低下。
技术实现思路
本专利技术的目的在于提供一种基于运维审计系统的多租户权限鉴权方法,针对运维审计系统中的用户、角色、权限及其关系在多租户下,相关授权的行为使用数据库物化视图转为特定的结构,可实现用户,用户组,在多租户下行为的统鉴权,关键点是通过物化视图和特定的存储结构统一了授权的查询和鉴权。本专利技术为运维审计系统提供一种权限存储的方法,统一系统权限判定的逻辑,减少系统的维护成本、降低系统的复杂度、提升权限鉴权的性能。本专利技术主要通过以下技术方案实现:一种基于运维审计系统的多租户权限鉴权方法,包括group视图和policy视图,所述policy视图用于存储角色、租户和权限的关系;所述group视图用于存储用户继承角色以及租户继承租户的关联关系;主要包括以下步骤:步骤S100:当用户发起操作,则提取操作鉴权的参数,所述参数包括用户ID、租户ID和行为;步骤S200:根据用户ID和租户ID查询group视图得到符合条件的group,查询后的结果,当type为user时,结果中的parent当作下一步role的参数,记作roleID;当type为tenant时,结果中的parent当作下一步tenant的参数,记作tenantID;步骤S300:根据步骤S200查询到的结果以及租户ID和行为查询policy视图,得到符合条件的policy,所述租户ID的筛选条件包括系统内置的租户ID;步骤S400:若步骤S300有结果返回,则鉴权通过,否则返回拒绝访问。为了更好地实现本专利技术,进一步的,所述policy视图包括角色租户关联表以及角色权限关联表、权限表;所述policy视图的数据来源包括内置角色和自定义角色,根据角色表中的type字段区分。为了更好地实现本专利技术,进一步的,当角色的type为1时,则为内置角色,此时生成的policy视图中,角色为角色表中的ID,tenant为0,action为何当前角色关联的权限表中的name。为了更好地实现本专利技术,进一步的,当角色的type为2时,则为自定义角色,此时生成的policy视图中,角色为角色表中的ID,tenant为租户角色关联表中tenant_id,action为何当前角色关联的权限表中的name。为了更好地实现本专利技术,进一步的,所述group视图包括用户角色关联表、角色租户关联表以及角色表;所述group视图的数据来源根据type字段区分为user和tenant。为了更好地实现本专利技术,进一步的,当type为user时,表示用户与角色的关系,此时生成的group视图中,type为user,child为用户ID,parent为角色ID。为了更好地实现本专利技术,进一步的,当type为tenant时,表示租户与租户的关系,用于表示租户继承默认租户的内置权限,此时生成的group视图中,type为tenant,child为租户ID,parent为policy视图中系统内置角色的tenant。为了更好地实现本专利技术,进一步的,在数据库中创建触发器,当角色权限关联表、角色租户关联表和用户角色关联表插入、删除数据时,则更新group视图和policy视图。物化视图是包括一个查询结果的数据库对象,物化视图和视图类似,反映的是某个查询的结果,但是和视图仅保存SQL定义不同,物化视图本身会存储数据,因此是物化了的视图。本专利技术的有益效果:针对运维审计系统中的用户、角色、权限及其关系在多租户下,相关授权的行为使用数据库物化视图转为特定的结构,可实现用户,用户组,在多租户下行为的统鉴权,关键点是通过物化视图和特定的存储结构统一了授权的查询和鉴权。本专利技术为运维审计系统提供一种权限存储的方法,统一系统权限判定的逻辑,减少系统的维护成本、降低系统的复杂度、提升权限鉴权的性能。附图说明图1为本专利技术的原理框图;图2为本专利技术的流程图。具体实施方式实施例1:一种基于运维审计系统的多租户权限鉴权方法,如图1所示,对用户,角色,角色,租户,及其关系建立统一的物化视图,视图分为两个物化视图,一个是policy视图,存储角色、租户和权限的关系,另一个是group视图,存储用户继承角色,租户继承租户的关联关系。各表的最小模型如下表1-表7所示:表1用户表userIdname...用户ID用户名称其余字段与本方案无关表2角色表roleIdnametype角色ID角色名称角色类型,1为系统内置,2为自定义表3租户表tenantIdname...租户ID租户名称其余字段与本方案无关表4权限表permissionIdname...权限ID权限名称其余字段与本方案无关表5用户角色关联表user_role_reluser_idrole_id...用户ID角色ID其余字本文档来自技高网...

【技术保护点】
1.一种基于运维审计系统的多租户权限鉴权方法,其特征在于,包括group视图和policy视图,所述policy视图用于存储角色、租户和权限的关系;所述group视图用于存储用户继承角色以及租户继承租户的关联关系;主要包括以下步骤:/n步骤S100:当用户发起操作,则提取操作鉴权的参数,所述参数包括用户ID、租户ID和行为;/n步骤S200:根据用户ID和租户ID查询group视图得到符合条件的group,查询后的结果,当type为user时,结果中的parent当作下一步role的参数,记作roleID;当type为tenant时,结果中的parent当作下一步tenant的参数,记作tenant ID;/n步骤S300:根据步骤S200查询到的结果以及租户ID和行为查询policy视图,得到符合条件的policy,所述租户ID的筛选条件包括系统内置的租户ID;/n步骤S400:若步骤S300有结果返回,则鉴权通过,否则返回拒绝访问。/n

【技术特征摘要】
1.一种基于运维审计系统的多租户权限鉴权方法,其特征在于,包括group视图和policy视图,所述policy视图用于存储角色、租户和权限的关系;所述group视图用于存储用户继承角色以及租户继承租户的关联关系;主要包括以下步骤:
步骤S100:当用户发起操作,则提取操作鉴权的参数,所述参数包括用户ID、租户ID和行为;
步骤S200:根据用户ID和租户ID查询group视图得到符合条件的group,查询后的结果,当type为user时,结果中的parent当作下一步role的参数,记作roleID;当type为tenant时,结果中的parent当作下一步tenant的参数,记作tenantID;
步骤S300:根据步骤S200查询到的结果以及租户ID和行为查询policy视图,得到符合条件的policy,所述租户ID的筛选条件包括系统内置的租户ID;
步骤S400:若步骤S300有结果返回,则鉴权通过,否则返回拒绝访问。


2.根据权利要求1所述的一种基于运维审计系统的多租户权限鉴权方法,其特征在于,所述policy视图包括角色租户关联表以及角色权限关联表、权限表;所述policy视图的数据来源包括内置角色和自定义角色,根据角色表中的type字段区分。


3.根据权利要求2所述的一种基于运维审计系统的多租户权限鉴权方法,其特征在于,当角色的type为1时,则为内置角色,此时生成的policy视图中,角色为角色表中的ID,tenant为0,action为何当前角色关联的...

【专利技术属性】
技术研发人员:杨泽丰范渊吴永越郑学新刘韬
申请(专利权)人:成都安恒信息技术有限公司
类型:发明
国别省市:四川;51

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

1