一种基于分级管控的数据权限控制方法、装置及设备与流程

摘要: 本申请实施例涉及安全管理,尤其涉及数据权限管理,具体涉及一种基于分级管控的数据权限控制方法、装置及设备。背景技术:1、目前接口级的数据权限管控方案主要分为三类:...
一种基于分级管控的数据权限控制方法、装置及设备与流程

本申请实施例涉及安全管理,尤其涉及数据权限管理,具体涉及一种基于分级管控的数据权限控制方法、装置及设备。

背景技术:

1、目前接口级的数据权限管控方案主要分为三类:一是功能级接口鉴权方案:用于人员组织权限管理系统中校验用户的接口调用权限,仅实现了是否可调用的粗粒度判断,无法限制接口访问的数据范围,分级管理员只要具备接口权限即可访问全量数据,管控约束完全失效,越权风险突出;二是业务代码硬编码校验方案:在各业务接口的服务实现代码中,直接编写数据范围过滤逻辑,部分改进方案会抽取公共校验方法以减少重复代码;三是,数据库sql拦截的行级数据过滤方案:通过在数据持久层设置全局拦截器,在sql语句执行前对其进行动态改写,拦截器解析当前sql语句,识别其涉及的数据表,并根据当前管理员的管辖范围,自动在sql语句的条件子句中追加数据过滤条件。

2、可见,硬编码方式虽然实现了数据权限的范围管控,但其同样带来了高耦合、低效率和质量不可控问题,而数据库sql的虽然实现了权限逻辑与业务代码的物理分离,但其能力边界局限于数据库查询场景。

技术实现思路

1、本申请提供了一种基于分级管控的数据权限控制方法、装置及设备,以数据权限管控的效率和可靠性。

2、根据本申请的一方面,提供了一种基于分级管控的数据权限控制方法,该方法包括:

3、根据接收到的数据调用方携带身份认证令牌发起的数据调用请求,确定目标数据调用接口,以及所述数据调用方的当前身份权限数据;

4、根据预设的切点匹配规则,对所述目标数据调用接口的接口元数据进行切点匹配,并在切点匹配成功的情况下,对所述接口元数据进行接口白名单校验;

5、若所述接口元数据不属于接口权限白名单,则根据所述目标数据调用接口所处目标系统的当前系统运行数据,确定所述目标系统的当前运行状态;

6、根据所述当前运行状态、所述目标数据调用接口的接口类型和接口权限注释,以及所述当前身份权限数据,从所述数据调用请求中确定所述数据调用方的待校验参数;

7、对所述待校验参数进行越权访问校验,得到越权访问校验结果,并根据所述越权访问校验结果,管控所述数据调用请求。

8、根据本申请的另一方面,提供了一种基于分级管控的数据权限控制装置,该装置包括:

9、数据确定模块,用于根据接收到的数据调用方携带身份认证令牌发起的数据调用请求,确定目标数据调用接口,以及所述数据调用方的当前身份权限数据;

10、切点匹配模块,用于根据预设的切点匹配规则,对所述目标数据调用接口的接口元数据进行切点匹配,并在切点匹配成功的情况下,对所述接口元数据进行接口白名单校验;

11、状态确定模块,用于若所述接口元数据不属于接口权限白名单,则根据所述目标数据调用接口所处目标系统的当前系统运行数据,确定所述目标系统的当前运行状态;

12、参数确定模块,用于根据所述当前运行状态、所述目标数据调用接口的接口类型和接口权限注释,以及所述当前身份权限数据,从所述数据调用请求中确定所述数据调用方的待校验参数;

13、请求管控模块,用于对所述待校验参数进行越权访问校验,得到越权访问校验结果,并根据所述越权访问校验结果,管控所述数据调用请求。

14、根据本申请的另一方面,提供了一种电子设备,所述电子设备包括:

15、一个或多个处理器;

16、存储器,用于存储一个或多个程序;

17、当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请实施例所提供的任意一种基于分级管控的数据权限控制方法。

18、根据本申请的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请实施例所提供的任意一种基于分级管控的数据权限控制方法。

19、根据本申请的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本申请实施例所提供的任意一种基于分级管控的数据权限控制方法。

20、本申请通过根据接收到的数据调用方携带身份认证令牌发起的数据调用请求,确定目标数据调用接口,以及数据调用方的当前身份权限数据;根据预设的切点匹配规则,对目标数据调用接口的接口元数据进行切点匹配,并在切点匹配成功的情况下,对接口元数据进行接口白名单校验;若接口元数据不属于接口权限白名单,则根据目标数据调用接口所处目标系统的当前系统运行数据,确定目标系统的当前运行状态;根据当前运行状态、目标数据调用接口的接口类型和接口权限注释,以及当前身份权限数据,从数据调用请求中确定数据调用方的待校验参数;对待校验参数进行越权访问校验,得到越权访问校验结果,并根据越权访问校验结果,管控数据调用请求。上述技术方案,在接口层前置拦截,在业务逻辑执行之前即完成权限判断,为所有业务接口提供了统一、非侵入式的接入方式,无需编写任何校验代码,即可获得完整的数据范围安全保护,且新增管控维度或调整规则时,只需修改预设逻辑或配置,无需改动任何业务代码,彻底消除了硬编码方式带来的高耦合、低效率和质量不可控问题,有效提高了数据权限管控的效率和可靠性。

1.一种基于分级管控的数据权限控制方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,对所述待校验参数进行越权访问校验,得到越权访问校验结果,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述目标系统的当前欧拉回路树缓存数据,对所述待校验参数进行树形数据范围判断,得到树形数据范围判断结果,包括:

4.根据权利要求2所述的方法,其特征在于,所述基于所述目标系统的当前布隆过滤器,对所述待校验参数进行离散清单数据范围判断,得到离散清单数据范围判断结果,包括:

5.根据权利要求1所述的方法,其特征在于,所述根据所述当前运行状态、所述目标数据调用接口的接口类型和接口权限注释,以及所述当前身份权限数据,从所述数据调用请求中确定所述数据调用方的待校验参数,包括:

6.根据权利要求5所述的方法,其特征在于,根据所述目标数据调用接口的接口权限注解,从所述数据调用请求中确定所述数据调用方的待校验参数,包括:

7.一种基于分级管控的数据权限控制装置,其特征在于,包括:

8.一种电子设备,其特征在于,包括:

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6任一项所述的基于分级管控的数据权限控制方法。

10.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一项所述的基于分级管控的数据权限控制方法。