【技术实现步骤摘要】
一种基于运维审计系统的多租户权限鉴权方法
本专利技术属于计算机
,具体涉及一种基于运维审计系统的多租户权限鉴权方法。
技术介绍
现有的运维审计系统中,对于运维审计系统中的权限存储方案,一般是在系统中内置了几种默认角色,比如,管理员,审计员,运维员,实现多权分立,创建用户时指定用户的角色,在执行一次操作时,根据用户的角色判断用户有哪些权限。在用户执行某种操作时,在操作的逻辑内判断是否有权限执行,其缺点是需人工维护其逻辑,维护成本较高,出错率较高。在多租户环境下,对指定的角色对租户进行关联,对租户的隔离是在角色上添加与租户的关系,用户每次操作时多需要查询多张表,造成API响应较慢。在多租户条件下对于角色继承的方案,需要递归查询,用户执行一次操作时,响应时间很多在操作的鉴权上。因此,使用固定的角色,代码维护成本高。现有的RBAC基于角色的访问控制(RBAC),对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限。这样做的好处是,不必在每次创建用户时都进行分配权限的操作,只要分配用户相应的角色即可,而且角色的权限变更比用户的权限变更要少得多,这样将简化用户的权限管理,减少系统的开销。然而,使用RBAC时,同时需要查询,用户与角色关联表,角色与权限关联表,在多租户场景下,还需查询角色与租户的关系。连表查询性能低下。
技术实现思路
本专利技术的目的在于提供一种基于运维 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。