System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及安全管控,尤其涉及一种权限管控方法、装置、电子设备、存储介质和程序产品。
技术介绍
1、在操作系统中,dbus(针对桌面环境优化的进程间通信机制)提供了强大而灵活的跨进程通信功能。其中,对于一些涉及安全的服务,服务所提供的api需要授权的客户端才可以调用,因此需要对api调用请求进行权限管控。
2、dbus自身提供了一套安全管控方案,通过在配置文件中设置相应的服务权限来管控客户端对相关api的调用。dbus提供的配置文件可以控制用户是否能启动服务,是否能给该服务、该服务下面的某个接口发送消息。然而,该用户态配置文件是可能被修改的,从而可以绕过服务调用的安全管控,带来一定的安全隐患。
3、目前,为了能做到配置文件中的配置不被修改,dbus进一步适配了selinux(security-enhanced linux,安全增强linux)。通过修改dbus内部代码,支持通过selinux来控制是否可以基于某服务名来启动该服务,也可以控制进程a给进程b的消息发送,将权限校验放到了内核态完成,同时也避免了用户态配置文件被修改的可能。然而,selinux基于白名单机制进行权限管控,只有被列入白名单的客户端对象才有权限访问,即只有满足配置要求才有权限访问,基于此,所有的终端都需要打标签以进行白名单机制的权限管控,而有些终端并没有权限管控需求,从而导致额外引入标签,进而造成资源和性能上的浪费,导致系统性能下降。
技术实现思路
1、本专利技术提供一种权限管控方法、
2、本专利技术提供一种权限管控方法,应用于服务端,所述方法包括:
3、接收客户端发送的api调用请求,基于所述api调用请求确定所访问的目标服务;
4、查询所述服务端针对所述目标服务的第一权限管控属性;
5、若未查询到所述第一权限管控属性,将所述api调用请求路由至所述目标服务;
6、若查询到所述第一权限管控属性,对所述客户端的所述api调用请求进行权限校验。
7、根据本专利技术提供的一种权限管控方法,所述对所述客户端的所述api调用请求进行权限校验,包括:
8、查询所述客户端针对所述目标服务的第二权限管控属性;
9、若查询到所述第二权限管控属性,基于所述第一权限管控属性与所述第二权限管控属性,对所述api调用请求进行权限校验得到权限校验结果;
10、若所述权限校验结果为有权限,将所述api调用请求路由至所述目标服务。
11、根据本专利技术提供的一种权限管控方法,所述查询所述客户端针对所述目标服务的第二权限管控属性,包括:
12、基于所述客户端发送的套接字第一socket,查询所述客户端针对所述目标服务的第二权限管控属性;
13、其中,所述第一socket与所述客户端自身的第二socket之间存在引用,所述第一socket存储有所述第一权限管控属性,所述第二socket存储有所述第二权限管控属性,以使所述服务端基于所述第一socket可查询所述第二权限管控属性。
14、根据本专利技术提供的一种权限管控方法,所述第一权限管控属性是基于如下方式生成:
15、获取配置在所述目标服务对应的文件上的扩展属性;
16、基于所述扩展属性,确定查找哈希表的第一关键字;
17、若基于所述第一关键字在所述哈希表中查找得到所述第一关键字,将所述第一关键字在所述哈希表中的位置确定为所述第一权限管控属性;
18、若基于所述第一关键字在所述哈希表中未查找得到所述第一关键字,将所述第一关键字插入所述哈希表,并将所述第一关键字在所述哈希表中的插入位置确定为所述第一权限管控属性。
19、根据本专利技术提供的一种权限管控方法,所述基于所述扩展属性,确定查找哈希表的第一关键字,包括:
20、将所述扩展属性依据类型进行拆分,得到多个属性;
21、分别将所述多个属性作为查找哈希表的第二关键字;
22、基于各所述第二关键字查找所述哈希表,确定各所述第二关键字在所述哈希表中的目标位置;
23、基于各所述目标位置的整数值,确定所述第一关键字。
24、本专利技术还提供一种权限管控方法,应用于客户端,所述方法包括:
25、发送api调用请求至服务端,以供所述服务端对所述api调用请求进行权限校验;
26、其中,所述服务端是基于如下方式对所述api调用请求进行权限校验:
27、基于所述api调用请求确定所访问的目标服务;
28、查询所述服务端针对所述目标服务的第一权限管控属性;
29、若未查询到所述第一权限管控属性,将所述api调用请求路由至所述目标服务;
30、若查询到所述第一权限管控属性,对所述客户端的所述api调用请求进行权限校验。
31、根据本专利技术提供的一种权限管控方法,所述服务端若查询到所述第一权限管控属性,所述发送api调用请求至服务端,之后还包括:
32、基于所述客户端自身的第二socket,发送所述客户端的第二权限管控属性至所述服务端;
33、其中,所述第二socket与所述服务端的第一socket之间存在引用,所述第一socket存储有所述第一权限管控属性,所述第二socket存储有所述第二权限管控属性,以使所述客户端基于所述第二socket可发送所述第二权限管控属性至所述服务端;
34、所述第一socket由所述客户端创建并发送至服务端。
35、本专利技术还提供一种权限管控装置,部署于服务端,所述装置包括:
36、请求接收模块,用于接收客户端发送的api调用请求,基于所述api调用请求确定所访问的目标服务;
37、属性查询模块,用于查询所述服务端针对所述目标服务的第一权限管控属性;
38、请求路由模块,用于若未查询到所述第一权限管控属性,将所述api调用请求路由至所述目标服务;
39、权限校验模块,用于若查询到所述第一权限管控属性,对所述客户端的所述api调用请求进行权限校验。
40、本专利技术还提供一种权限管控装置,部署于客户端,所述装置包括:
41、请求发送模块,用于发送api调用请求至服务端,以供所述服务端对所述api调用请求进行权限校验;
42、其中,所述服务端是基于如下方式对所述api调用请求进行权限校验:
43、基于所述api调用请求确定所访问的目标服务;
44、查询所述服务端针对所述目标服务的第一权限管控属性;
45、若未查询到所述第一权限管控属性,将所述api调用请求路由至所述目标服务;
46、若查询到所述第一权限管控属性,对所述客户端的所述api调用本文档来自技高网...
【技术保护点】
1.一种权限管控方法,其特征在于,应用于服务端,所述方法包括:
2.根据权利要求1所述的权限管控方法,其特征在于,所述对所述客户端的所述API调用请求进行权限校验,包括:
3.根据权利要求2所述的权限管控方法,其特征在于,所述查询所述客户端针对所述目标服务的第二权限管控属性,包括:
4.根据权利要求1所述的权限管控方法,其特征在于,所述第一权限管控属性是基于如下方式生成:
5.根据权利要求4所述的权限管控方法,其特征在于,所述基于所述扩展属性,确定查找哈希表的第一关键字,包括:
6.一种权限管控方法,其特征在于,应用于客户端,所述方法包括:
7.根据权利要求6所述的权限管控方法,其特征在于,所述服务端若查询到所述第一权限管控属性,所述发送API调用请求至服务端,之后还包括:
8.一种权限管控装置,其特征在于,部署于服务端,所述装置包括:
9.一种权限管控装置,其特征在于,部署于客户端,所述装置包括:
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器
11.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述权限管控方法。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述权限管控方法。
...【技术特征摘要】
1.一种权限管控方法,其特征在于,应用于服务端,所述方法包括:
2.根据权利要求1所述的权限管控方法,其特征在于,所述对所述客户端的所述api调用请求进行权限校验,包括:
3.根据权利要求2所述的权限管控方法,其特征在于,所述查询所述客户端针对所述目标服务的第二权限管控属性,包括:
4.根据权利要求1所述的权限管控方法,其特征在于,所述第一权限管控属性是基于如下方式生成:
5.根据权利要求4所述的权限管控方法,其特征在于,所述基于所述扩展属性,确定查找哈希表的第一关键字,包括:
6.一种权限管控方法,其特征在于,应用于客户端,所述方法包括:
7.根据权利要求6所述的权限管控方法,其特征在于,所述服务端若查询到所述第一...
【专利技术属性】
技术研发人员:周鹏,宋超,董暄,余玮,孙荣朝,
申请(专利权)人:中移杭州信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。