本发明涉及权限管理,具体而言,涉及一种服务权限管理方法、装置、节点设备、系统和存储介质。
背景技术:
1、在微服务模式中,可以将应用程序的不同功能模块独立部署以形成不同的服务。每个服务都专注于完成一个特定的功能,并且这些服务之间相互独立,可以采用不同的编程语言和数据存储。现有的系统架构一般是采用中心设备来对各种服务的权限进行分配和控制,即通过中心化的方式来管理权限,但是这种方式存在单点故障,容易导致系统异常。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种服务权限管理方法、装置、节点设备、系统和存储介质。
2、为了实现上述目的,本发明采用的技术方案如下:
3、第一方面,本发明提供一种服务权限管理方法,应用于区块链网络中的任一节点设备,所述节点设备与多个服务端和多个业务平台通信连接,所述节点设备部署有主控智能合约,所述主控智能合约包含服务列表和申请列表,所述服务权限管理方法包括:
4、接收目标业务平台发送的服务权限申请,获得所述目标业务平台的基本信息,所述基本信息包括关联服务标识;其中所述目标业务平台为任意一个业务平台;
5、在所述服务列表的全部服务信息中查找到所述目标业务平台的关联服务标识的情况下,根据所述目标业务平台的基本信息,获得所述目标业务平台的申请信息并保存至所述申请列表;
6、根据运维人员发送的所述目标业务平台的申请审核指令,对所述目标业务平台的申请信息进行审核,并在所述目标业务平台的申请信息通过审核的情况下,生成所述目标业务平台的根令牌发送给所述目标业务平台;
7、接收所述目标业务平台基于其根令牌发送的服务访问申请,并对所述服务访问申请进行验证,在所述服务访问申请通过验证的情况下,确定所述目标业务平台的关联服务标识所对应的目标服务端;
8、向所述目标服务端发送访问令牌获取请求,并接收所述目标服务端返回的访问令牌,通过将所述目标服务端的服务信息和访问令牌发送给所述目标业务平台,以使所述目标业务平台具有所述目标服务端的访问权限。
9、在可选的实施方式中,所述服务列表中的任意一个服务信息是按照以下方式得到的:
10、接收运维人员发送的服务注册指令,获得所述服务注册指令中的数字签名和待注册服务端的服务名称、ip地址、访问端口和服务公钥;
11、通过对所述服务注册指令中的数字签名进行验证,以对所述运维人员进行身份验证;
12、在所述服务注册指令中的数字签名通过验证的情况下,根据所述待注册服务端的ip地址、访问端口和服务公钥进行哈希运算,得到所述待注册服务端的服务标识;
13、将所述待注册服务端的服务名称、ip地址、访问端口、服务公钥和服务标识,作为所述待注册服务端的服务信息并保存至所述服务列表。
14、在可选的实施方式中,所述基本信息还包括平台名称、平台域名和平台公钥;
15、所述根据所述目标业务平台的基本信息,获得所述目标业务平台的申请信息并保存至所述申请列表的步骤,包括:
16、根据所述目标业务平台的平台名称、平台域名、平台公钥和关联服务标识进行哈希运算,获得所述目标业务平台的申请标识;
17、将所述目标业务平台的平台名称、平台域名、平台公钥、关联服务标识和申请标识作为所述目标业务平台的申请信息;
18、将所述目标业务平台的申请信息保存至所述申请列表,并将所述目标业务平台的申请信息标记为待审核状态。
19、在可选的实施方式中,所述根据运维人员发送的所述目标业务平台的申请审核指令,对所述目标业务平台的申请信息进行审核,并在所述目标业务平台的申请信息通过审核的情况下,生成所述目标业务平台的根令牌发送给所述目标业务平台的步骤,包括:
20、接收运维人员发送的所述目标业务平台的申请审核指令,获得所述申请审核指令中的审核意见、申请标识和数字签名;
21、在所述申请审核指令中的审核意见为不同意的情况下,判定所述目标业务平台的申请信息未通过审核,并将所述目标业务平台的申请信息标记为审核未通过状态;
22、在所述申请审核指令中的审核意见为同意的情况下,根据所述申请列表对所述申请审核指令中的申请标识进行验证,并根据所述目标业务平台的平台公钥对所述申请审核指令中的数字签名进行验证;
23、若所述申请审核指令中的申请标识和/或数字数字签名未通过验证,则判定所述目标业务平台的申请信息未通过审核,并将所述目标业务平台的申请信息标记为审核未通过状态;
24、若所述申请审核指令中的申请标识和数字签名均通过验证,则判定所述目标业务平台的申请信息通过审核,并将所述目标业务平台的申请信息标记为审核通过状态;
25、在所述目标业务平台的申请信息通过审核的情况下,根据所述目标业务平台的平台公钥和申请标识进行加密运算,得到所述目标业务平台的根令牌并发送给所述目标业务平台。
26、在可选的实施方式中,所述接收所述目标业务平台基于其根令牌发送的服务访问申请,并对所述服务访问申请进行验证的步骤,包括:
27、接收所述目标业务平台基于其根令牌发送的服务访问申请,获得所述服务访问申请中的申请标识、数字签名和根令牌;
28、根据所述申请列表对所述服务访问申请中的申请标识进行验证,并根据所述目标业务平台的平台公钥对所述服务访问申请中的数字签名进行验证,以及根据所述目标业务平台的平台公钥和申请标识对所述服务访问申请中的根令牌进行验证;
29、在所述服务访问申请中的申请标识、根令牌和数字签名中任意一个未通过验证的情况下,判定所述服务访问申请未通过验证;
30、在所述服务访问申请中的申请标识、根令牌和数字签名均通过验证的情况下,判定所述服务访问申请通过验证。
31、在可选的实施方式中,所述服务权限管理方法还包括:
32、接收运维人员发送的服务权限禁用指令,获得所述服务权限禁用指令中的数字签名和申请标识;
33、通过对所述服务权限禁用指令中的数字签名进行验证,以对所述运维人员进行身份验证;
34、在所述服务权限禁用指令中的数字签名通过验证的情况下,在所述申请列表的全部申请信息中,获取包含所述服务权限禁用指令中申请标识的待处理申请信息;
35、通过在所述申请列表中删除所述待处理申请信息,以禁用所述待处理申请信息所属的业务平台的服务访问权限。
36、第二方面,本发明提供一种服务权限管理装置,应用于区块链网络中的任一节点设备,所述节点设备与多个服务端和多个业务平台通信连接,所述节点设备部署有主控智能合约,所述主控智能合约包含服务列表和申请列表,所述服务权限管理装置包括:
37、申请信息接收模块,用于接收目标业务平台发送的服务权限申请,获得所述目标业务平台的基本信息,所述基本信息包括关联服务标识;其中所述目标业务平台为任意一个业务平台;
38、在所述服务列表的全部服务信息中查找到所述目标业务平台的关联服务标识的情况下,根据所述目标业务平台的基本信息,获得所述目标业务平台的申请信息并保存至所述申请列表;
39、申请信息审核模块,用于根据运维人员发送的所述目标业务平台的申请审核指令,对所述目标业务平台的申请信息进行审核,并在所述目标业务平台的申请信息通过审核的情况下,生成所述目标业务平台的根令牌发送给所述目标业务平台;
40、访问权限管理模块,用于接收所述目标业务平台基于其根令牌发送的服务访问申请,并对所述服务访问申请进行验证,在所述服务访问申请通过验证的情况下,确定所述目标业务平台的关联服务标识所对应的目标服务端;
41、向所述目标服务端发送访问令牌获取请求,并接收所述目标服务端返回的访问令牌,通过将所述目标服务端的服务信息和访问令牌发送给所述目标业务平台,以使所述目标业务平台具有所述目标服务端的访问权限。
42、第三方面,本发明提供一种节点设备,所述节点设备设置于区块链网络中,所述节点设备包括处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现前述实施方式中任一项所述的服务权限管理方法。
43、第四方面,本发明提供一种系统,所述系统包括服务端、业务平台以及前述实施方式所述的节点设备。
44、第五方面,本发明提供一种存储介质,所述存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现前述实施方式中任一项所述的服务权限管理方法。
45、本发明提供的服务权限管理方法、装置、节点设备、系统和存储介质,区块链网络中的节点设备部署有主控智能合约,节点设备接收目标业务平台发送的服务权限申请获得基本信息和其中的关联服务标识;在服务列表中查找到关联服务标识时,根据目标业务平台的基本信息获得申请信息并保存至申请列表;根据运维人员发送的申请审核指令对目标业务平台的申请信息进行审核,当通过审核时生成根令牌并发送给目标业务平台;接收目标业务平台基于其根令牌发送的服务访问申请并进行验证,当通过验证时确定目标服务端并向其发送访问令牌获取请求,将目标服务端的返回的访问令牌和其服务信息发送给目标业务平台,以使目标业务平台具有目标服务端的访问权限。通过去中心化的区块链网络架构来对服务权限进行管理,避免了单点故障,保障了服务权限的安全性和可靠性,提高了系统的稳定性。
46、为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
1.一种服务权限管理方法,其特征在于,应用于区块链网络中的任一节点设备,所述节点设备与多个服务端和多个业务平台通信连接,所述节点设备部署有主控智能合约,所述主控智能合约包含服务列表和申请列表,所述服务权限管理方法包括:
2.根据权利要求1所述的服务权限管理方法,其特征在于,所述服务列表中的任意一个服务信息是按照以下方式得到的:
3.根据权利要求1所述的服务权限管理方法,其特征在于,所述基本信息还包括平台名称、平台域名和平台公钥;
4.根据权利要求3所述的服务权限管理方法,其特征在于,所述根据运维人员发送的所述目标业务平台的申请审核指令,对所述目标业务平台的申请信息进行审核,并在所述目标业务平台的申请信息通过审核的情况下,生成所述目标业务平台的根令牌发送给所述目标业务平台的步骤,包括:
5.根据权利要求3所述的服务权限管理方法,其特征在于,所述接收所述目标业务平台基于其根令牌发送的服务访问申请,并对所述服务访问申请进行验证的步骤,包括:
6.根据权利要求3所述的服务权限管理方法,其特征在于,所述服务权限管理方法还包括:
7.一种服务权限管理装置,其特征在于,应用于区块链网络中的任一节点设备,所述节点设备与多个服务端和多个业务平台通信连接,所述节点设备部署有主控智能合约,所述主控智能合约包含服务列表和申请列表,所述服务权限管理装置包括:
8.一种节点设备,其特征在于,所述节点设备设置于区块链网络中,所述节点设备包括处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现权利要求1至6中任一项所述的服务权限管理方法。
9.一种系统,其特征在于,所述系统包括服务端、业务平台以及权利要求8所述的节点设备。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现权利要求1至6中任一项所述的服务权限管理方法。