一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

计算集群系统、安全鉴权方法、节点设备及存储介质与流程

2022-02-19 09:20:14 来源:中国专利 TAG:


1.本技术涉及分布式计算技术领域,尤其涉及一种计算集群系统、安全鉴权方法、节点设备及存储介质。


背景技术:

2.微服务(或微服务架构)是一种云原生架构方法,可以将单一应用程序划分成一组小的服务,每个服务运行在独立的进程中,服务之间互相协调、互相配合,对外提供完整的应用功能。服务之间可以采用轻量级的通信机制进行通信。如何解决服务之间的通信安全问题是目前采用微服务架构的计算集群系统面临的一技术问题。


技术实现要素:

3.本技术的多个方面提供一种计算集群系统、安全鉴权方法、节点设备及存储介质,用以解决服务之间的通信安全问题。
4.本技术实施例提供一种计算集群系统,包括:至少一个计算集群,至少一个计算集群用于承载服务,在服务为至少两个的情况下,在至少两个服务之间基于身份的认证授权机制进行通信;系统还包括:用于实现基于身份的认证授权机制的服务网格系统,服务网格系统包括管控组件、身份注册组件和授权代理组件,授权代理组件分布在至少一个计算集群中;身份注册组件,用于面向各服务提供身份注册服务和身份自定义服务,基于身份注册服务和身份自定义服务获取第一服务对应的多样化的身份元数据并上报给管控组件;管控组件,用于根据第一服务对应的多样化的身份元数据,生成第一服务的安全策略和数字证书,并下发给第一服务所在计算集群中对应的授权代理组件;授权代理组件,用于在第一服务需要与第二服务通信的情况下,根据第一服务的安全策略和数字证书,对第一服务进行身份鉴权,并在通过身份鉴权的情况下,代理第一服务与第二服务进行通信;其中,第一服务是至少两个服务中的任一服务,第二服务是不同于第一服务的另一服务。
5.本技术实施例还提供一种用于实现基于身份的认证授权机制的服务网格系统,该系统包括:管控组件、身份注册组件和授权代理组件,授权代理组件分布在计算集群系统中的至少一个计算集群中;身份注册组件,用于面向计算集群系统中的服务提供身份注册服务和身份自定义服务,基于身份注册服务和身份自定义服务获取第一服务对应的多样化的身份元数据并上报给管控组件;管控组件,用于根据第一服务对应的多样化的身份元数据,生成第一服务的安全策略和数字证书,并下发给第一服务所在计算集群中对应的授权代理组件;授权代理组件,用于在第一服务需要与第二服务通信的情况下,根据第一服务的安全策略和数字证书,对第一服务进行身份鉴权,并在通过身份鉴权的情况下,代理第一服务与第二服务进行通信;其中,第一服务是计算集群系统中的任一服务,第二服务是不同于第一服务的另一服务。
6.本技术实施例还提供一种身份鉴权方法,应用于服务网格系统,服务网格系统用于实现基于身份的认证授权机制,上述方法包括:基于面向计算集群系统中的各服务提供
的身份注册服务和身份自定义服务,获取第一服务对应的多样化的身份元数据;根据第一服务对应的多样化的身份元数据,生成第一服务的安全策略和数字证书;在第一服务需要与第二服务通信的情况下,根据第一服务的安全策略和数字证书,对第一服务进行身份鉴权;以及在第一服务通过身份鉴权的情况下,由服务网格系统中的授权代理组件代理第一服务与第二服务进行通信;其中,第一服务是计算集群系统中的任一服务,第二服务是不同于第一服务的另一服务。
7.本技术实施例还提供一种节点设备,包括:存储器和处理器;存储器,用于存储计算机程序,处理器与存储器耦合,用于执行计算机程序,以用于:基于面向计算集群系统中的各服务提供的身份注册服务和身份自定义服务,获取第一服务对应的多样化的身份元数据;根据第一服务对应的多样化的身份元数据,生成第一服务的安全策略和数字证书;在第一服务需要与第二服务通信的情况下,根据第一服务的安全策略和数字证书,对第一服务进行身份鉴权;以及在第一服务通过身份鉴权的情况下,由服务网格系统中的授权代理组件代理第一服务与第二服务进行通信;其中,第一服务是计算集群系统中的任一服务,第二服务是不同于第一服务的另一服务。
8.本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,当计算机程序被处理器执行时,致使处理器实现以上身份鉴权方法中的步骤。
9.在本技术实施例中,在计算集群系统中增加了用于实现至少两个服务之间基于身份的认证授权机制的服务网格系统,服务网格系统至少包括:管控组件、身份注册组件和授权代理组件。由身份注册组件将获取到的第一服务对应的多样化身份数据上报给管控组件;管控组件根据上述多样化身份数据生成第一服务对应的安全策略和数字证书,并下发给其对应的授权代理组件;授权代理组件根据安全策略和数字证书对相应的服务进行身份鉴定,并在身份鉴定通过后,代理至少两个服务进行通信,在管控组件、身份注册组件和授权代理组件的配合下,可以在不影响服务运行的前提下,在服务之间实施基于身份的认证授权机制,从而解决了服务之间的通信安全问题。
附图说明
10.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
11.图1a为本技术一示例性实施例提供的计算集群系统的结构示意图;
12.图1b为本技术另一示例性实施例提供的计算集群系统的结构示意图;
13.图2为本技术另一示例性实施例提供的用于实现基于身份的认证授权机制的服务网格系统的结构示意图;
14.图3为本技术另一示例性实施例提供的身份鉴权方法的流程示意图;
15.图4为本技术又一示例性实施例提供的节点设备的结构示意图。
具体实施方式
16.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做
出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
17.针对微服务中如何解决服务之间的通信安全问题这一技术问题,在本技术一些实施例中,在计算集群系统中增加了用于实现至少两个服务之间基于身份的认证授权机制的服务网格系统,服务网格系统至少包括:管控组件、身份注册组件和授权代理组件。由身份注册组件将获取到的第一服务对应的多样化身份数据上报给管控组件;管控组件根据上述多样化身份数据生成第一服务对应的安全策略和数字证书,并下发给其对应的授权代理组件;授权代理组件根据安全策略和数字证书对相应的服务进行身份鉴定,并在身份鉴定通过后,代理至少两个服务进行通信,在管控组件、身份注册组件和授权代理组件的配合下,可以在不影响服务运行的前提下,在服务之间实施基于身份的认证授权机制,从而解决了服务之间的通信安全问题
18.以下结合附图,详细说明本技术各实施例提供的技术方案。
19.图1a为本技术一示例性实施例提供的一种计算集群系统的结构示意图。如图1a所示,该计算集群系统100包括至少一个计算集群,这些计算集群用于承载微服务架构下的服务,但不仅仅限于微服务架构的服务。在本技术实施例中,服务用于实现某个应用中的部分功能,即服务可以作为应用的功能模块实现,或者也可以实现某个应用的全部功能,即服务可以作为一个应用实现。其中,承载于计算集群中的各个服务也可以称为是计算集群中的工作负载(workload)。
20.在本实施例中,计算集群系统100中可以包括一个或多个计算集群,每个计算集群中包括各种物理设备,例如服务器、计算机、终端设备、网关设备等,还包括这些物理设备之间进行网络互联的物理线路,这些服务或工作负载可由这些物理设备承载,即可以在这些物理设备上运行各个服务。需要说明的是,不同计算集群的规模、包含的资源量、集群类型可以相同也可以不相同。另外,不同计算集群承载服务的方式可以相同也可以不相同。例如,部分计算集群可以采用容器技术承载各个服务,即服务被部署并运行在容器环境中;部分计算集群可以采用传统的虚拟机技术承载各个服务,即服务被部署并运行在虚拟机环境中。其中,可以采用docker技术,则在计算集群中的物理设备上部署容器组(pod),以pod为粒度管理计算集群中的服务。其中,每个pod中可以部署一个或多个服务,另外,相同服务可以部署在一个pod中,也可以分布式部署到多个pod中,具体可视应用需求而定,本技术实施例对此不做限定。如图1a所示,该计算集群系统100中,以包括计算集群1和计算集群2为例进行图示,在计算集群1中以服务部署并运行在虚拟机环境中,该计算集群1可以是基于ecs的虚拟机集群,在计算集群2中以服务部署并运行在容器环境中为例,该计算集群2可以是基于kubernetes的容器集群。
21.在本技术实施例中,隶属于同一应用的不同服务之间可能需要相互协调、相互配合对外提供完整的应用功能,为了实现协调和配合,这些服务之间需要进行通信。需要说明的是,除了隶属于同一应用的不同服务之间需要进行通信之外,隶属于不同应用的不同服务之间也可能因为服务共享或其它一些原因需要进行通信。在本技术实施例中,并不限定需要进行通信的两个服务是否属于同一应用。另外,需要进行通信的两个服务可能部署在同一计算集群中,也可能部署在不同计算集群中。为了实现服务之间的通信,在计算集群系统100中部署了服务网格系统,该服务网格系统一方面可作为服务间通信的基础设施层,用于代理服务之间进行通信,使得服务之间不需要关注彼此的部署地址信息即可完成彼此之
间的数据传输。
22.另外,为了保证服务之间的通信安全问题,在本技术实施例中,服务网络系统还可以在服务之间实现基于身份的认证授权机制。可选地,本实施例中由服务网格系统实现的基于身份的认证授权机制可以是一种零信任安全机制,即无论是否在同一网络或安全域中,都不应该自动信任任何服务的一种安全理念,也就是说,任何两个服务之间进行通信都要对彼此进行基于身份的认证授权,只有通过了基于身份的认证授权才能进行数据通信。
23.在本技术实施例中,服务网格系统作为处理服务间通信的基础设施层,它负责构成现代云原生应用程序的复杂服务拓扑来可靠地交付请求;另外,通过提供基于身份的认证授权机制,还能够减小云原生环境中的被攻击面积,并提供零信任应用网络所需的基础框架。通过本实施例提供的服务网格系统管理服务到服务的安全性,可以确保服务网格的端到端加密、服务级别身份认证和细粒度授权策略。
24.在本实施例中,服务网格系统由控制平面和数据平面组成。控制平面用于为数据平面提供策略和/或配置。具体来说,控制平面是一组在一个专用的命名空间中运行的服务。这些服务完成一些控制管理的功能,包括聚合遥测数据、提供面向用户的api、向数据平面代理提供控制数据等,它们共同驱动数据平面的行为。换言之,控制平面用于控制整个服务网格系统上的代理行为。可以在控制平面上总体指定服务路由规则、身份验证策略,或者收集指标并配置数据平面的参数等。一般来说,数据平面和控制平面之间的通信是通过api定义进行规范的。而数据平面则是由一系列的运行在每个服务实例旁边的透明代理构成。数据平面使得每个服务不是直接通过网络调用服务,而是调用其本地代理组件与其他服务中的代理组件进行通信。代理组件又封装了服务到服务交换的复杂逻辑。服务网格中的一组相互连接的代理组件构成了整个数据平面。基于本技术实施例提供的服务网格系统,至少一个计算集群可以支持以下功能:
25.1、在服务之间实施双向基于身份的认证授权或者面向服务侧基于身份的认证授权、支持支持数字证书的自动轮转等生命周期管理,服务之间的通信都经过身份验证和加密处理。其中,本技术实施例中基于身份的认证授权机制可以是安全传输层协议(tls)认证机制,但不限于此。2、启用基于身份的更细粒度授权,以及基于其他维度参数的授权。基于角色访问控制(rbac)的基础,支持“最低权限”的立场,也就是只有经过授权的服务才能根据允许(allow)/拒绝(deny)规则相互通信。下面对本技术实施例提供的服务网格系统的实现结构进行详细说明:
26.如图1a所示,本实施例提供的服务网格系统10包括:管控组件11、身份注册组件12和授权代理组件13。其中,管控组件11属于控制平面的组件,身份注册组件12和授权代理组件13属于数据平面的组件。在本实施例中,管控组件11可以独立部署,例如独立部署在云端,或者也可以部署在某个计算集群中;身份注册组件12也可以独立部署,或者部署在某个计算集群中;授权代理组件13可以部署在每个计算集群中。
27.其中,身份注册组件12,用于面向计算集群系统100承载的各服务提供身份注册服务和身份自定义服务,基于身份注册服务和身份自定义服务可以获取各个服务对应的多样化的身份元数据并上报给管控组件11。在本技术实施例中,网格服务系统对各个服务进行处理的方式相同或相似,为了便于描述,以第一服务为例进行说明,第一服务是计算集群系统100中承载的各个服务中的任一服务。对第一服务来说,身份注册组件可以基于提对外提
供的身份注册服务和身份自定义服务获取第一服务对应的多样化的身份元数据并上报给管控组件。
28.管控组件11用于接收身份注册组件提供的第一服务对应的多样化的身份信息,根据第一服务对应的多样化的身份元数据,生成第一服务的安全策略和数字证书,并下发给第一服务所在计算集群中对应的授权代理组件。
29.授权代理组件13,用于接收管控组件11下发的第一服务的安全策略和数字证书并保存在本地,在第一服务需要与第二服务通信的情况下,根据第一服务的安全策略和数字证书,对第一服务进行身份鉴权,并在通过身份鉴权的情况下,代理第一服务与第二服务进行通信;其中,第一服务是计算集群系统中承载的至少两个服务中的任一服务,第二服务是不同于第一服务的另一服务。
30.进一步地,身份注册组件12也可以称为身份注册器,可自动监听计算集群系统中的服务,既可以支持运行于kubernetes集群中的以pod容器化形式运行的应用服务,也可以支持运行于虚拟机或者物理机上的应用服务,而且对这些服务是否挂载服务账号也不做限定。以pod容器化形式和运行于虚拟机或物理机上的应用服务都可以作为本技术实施例中的服务示例,但不限于此。另外,身份注册组件还面向这些服务提供了身份注册服务,即允许这些服务向身份注册组件发起注册,另外,身份注册组件还面向这些服务提供了身份自定义服务,即允许用户为这些服务自定义身份元数据,以便实现身份元数据的多样化。基于此,身份注册组件在基于身份注册服务和身份自定义服务获取第一服务对应的多样化的身份元数据时,可通过以下步骤实现:
31.接收针对第一服务发起的身份注册请求,从身份注册请求中获取第一服务对应的第一身份元数据,并从指定的元数据存储对象中获取用户为第一服务自定义的第二身份元数据;第一身份元数据和第二身份元数据形成第一服务对应的多样化的身份元数据。
32.在本实施例中,身份注册请求的发起形式有多种,例如可由第一服务在监测到设定的触发事件时,自动向身份注册组件发送;也可以是由用户根据注册需求,通过服务管理页面发起的,本实施例对此不作限定。第一身份元数据可以包括第一服务所在计算集群的标识信息、第一服务关联的用户账号或服务账号以及第一服务所在物理节点的标识信息中的至少一种。第二身份元数据包括第一服务的运行环境标识,例如,如果第一服务是依赖容器环境的pod,则第二身份元数据可以包括第一服务所依赖的容器镜像的标识(简称为基于容器镜像标签的身份元数据);进一步地,第二身份元数据还可以包括:第一服务被部署到的地理位置(简称为基于地理位置的身份元数据)、第一服务所在物理节点(简称为基于节点的身份元数据)的信息以及基于其它硬件属性信息的身份元数据等,本实施例对此不作限定。
33.在本技术一些可选实施例中,管控组件11可以面向用户提供声明式api,声明式api的实质是当用户向管控组件提交了一个api对象的描述之后,管控组件会负责保证整个集群里各项资源的状态,都与该api对象描述的需求相一致。相应地,管控组件11在根据第一服务对应的多样化的身份元数据生成第一服务的安全策略时,具体用于:接收用户通过声明式api提交的安全策略需求描述信息;根据安全策略需求描述信息和多样化的身份元数据生成第一服务的安全策略。
34.在本技术实施例中,并不限定管控组件的内部实现结构。在一可选实施例中,如图
1b所示,管控组件11的一种内部实现结构包括:策略控制模块111、身份管理模块112和证书颁发模块113。其中,声明式api由证策略控制模块111对外提供;身份管理模块112,用于接收身份注册组件上报的第一服务的多样化的身份元数据,对第一服务的多样化的身份元数据进行标准化处理后存储至身份信息库中;策略控制模块111,用于接收用户通过声明式api提交的安全策略需求描述信息,根据该安全策略需求描述信息和第一服务的多样化的身份元数据生成第一服务的安全策略,并下发给第一服务所在计算集群中对应的授权代理组件。证书颁发模块113,用于在接收到第一服务对应的授权代理组件发送的证书签发请求的情况下,通过身份管理模块从身份信息库中获取第一服务的多样化的身份元数据,根据第一服务的多样化的身份元数据生成第一服务的数字证书,并下发给第一服务对应的授权代理组件。
35.进一步地,策略控制模块111在根据安全策略需求描述信息和第一服务的多样化的身份元数据生成第一服务的安全策略时,具体用于:从第一服务的多样化的身份元数据中选择第一目标身份元数据;根据安全策略需求描述信息和第一目标身份元数据,生成第一服务的安全策略;其中,第一目标身份元数据是多样化的身份元数据中的部分身份元数据,或者也可以是全部身份元数据。
36.相应地,证书颁发模块113在根据第一服务的多样化的身份元数据生成第一服务的数字证书时,具体用于:从第一服务的多样化的身份元数据中选择第二目标身份元数据,根据第二目标身份元数据生成第一服务的数字证书;其中,第一目标身份元数据与第二目标身份元数据至少部分相同。同理,第二目标身份元数据是多样化的身份元数据中的部分身份元数据,或者也可以是全部身份元数据。
37.在本实施例中,并不限定授权代理组件13的内部实现结构。如图1b所示,为本技术实施例提供的授权代理组件13的一种内部实现结构,包括:策略引擎模块131和服务网格代理组件132。对每个策略引擎模块131来说,用于为其所在计算集群中的服务接收安全策略并进行身份鉴权。以第一服务所在计算集群中的策略引擎模块为例,该策略引擎模块131用于在位于第一服务所在计算集群中的情况下,接收管控组件中的策略控制模块下发的第一服务的安全策略。相应地,对每个服务网格代理组件132来说,一方面用于为其所代理的服务向管控组件中的证书颁发模块发送证书签发请求并接收证书颁发模块返回的数字证书,另一方面用于在其所代理的服务需要与其它服务进行通信时,向策略引擎模块发起身份鉴权请求并在身份鉴权为通过的情况下,代理其所代理的服务与其它服务进行通信。仍以第一服务所在计算集群中的服务网格代理组件为例,该服务网格代理组件用于在位于第一服务所在计算集群中且与第一服务对应的(其中与第一服务对应是指该服务网格代理组件是第一服务的透明代理,负责代理第一服务进行身份鉴权和通信等)情况下,向管控组件中的证书颁发模块发送证书签发请求,并接收证书颁发模块返回的第一服务的数字证书;以及在第一服务需要与第二服务通信的情况下,向策略引擎模块发送身份鉴权请求,该身份鉴权请求包括第一服务的数字证书;并在接收到策略引擎模块发送的授权消息时,代理第一服务与第二服务进行通信。其中,策略引擎模块还用于:根据服务网格代理组件发送的身份鉴权请求中包括的第一服务的数字证书和本地保存的第一服务的安全策略,对第一服务进行身份鉴权,并在身份鉴权通过时向服务网格代理组件返回授权消息,表示第一服务与第二服务进行通信是安全的,服务网格代理组件可以代理第一服务与第二服务进行通信。
38.其中,第一服务的安全策略可以有多个,那么在对第一服务进行身份鉴时权时,可以将第一服务的数字证书与多个安全策略逐一匹配,在每个安全策略中包括第一服务的身份信息,若匹配到第一服务的数字证书中包含的第一服务的身份信息时即表示第一服务通过身份鉴权。
39.进一步地,本技术实施例并不限定服务网格代理组件132的内部实现结构,如图1b所示,服务网格代理组件132的一种内部实现结构包括:服务代理模块1321和证书管理模块1322。进一步可选地,服务网格代理组件132还包括代理管理模块1323,用于管理服务代理模块1321的生命周期,负责服务网格代理二进制程序或服务网格代理容器的启动、停住等操作。证书管理模块,用于在其所属服务网格代理组件位于第一服务所在计算集群中且与第一服务对应的情况下,向管控组件中的证书颁发模块发送证书签发请求,并接收证书颁发模块返回的第一服务的数字证书,保存第一服务的数字证书。服务代理模块,用于监听第一服务的通信需求,在第一服务需要与第二服务通信的情况下,从证书管理模块获取第一服务的数字证书,向策略引擎模块发送授权请求,并在接收到策略引擎模块发送的授权消息时,代理第一服务与第二服务进行通信。
40.在本实施例中,计算集群可以为多个,第一服务和第二服务可以部署在不同计算集群中,且第一服务可以部署在虚拟机中,第二服务可以部署在容器中。
41.为了便于理解,下面以第一服务部署在虚拟机中,第二服务部署在容器中为例,对本实施例的技术方案进行详细阐述。在此说明,在第一服务部署在虚拟机环境中的情况下,与第一服务对应的服务网格代理组件具体可实现为服务网格代理二进制程序,在第二服务部署在容器环境中的情况下,与第二服务对应的服务网格代理组件具体可实现为服务网格代理容。在下面实施例中,将无论是第一服务还是第二服务统称为工作负载。
42.1、计算集群系统通过面向工作负载的身份注册组件,可以自动监听环境中的工作负载,既可以支持运行于kubernetes集群中的以pod容器化形式的工作负载,也可以支持运行于虚拟机或者物理机上的工作负载,无论这些工作负载是否挂载服务账号。
43.2、身份注册组件会读取该系统中的身份元数据,将监听到的工作负载的身份注册请求发送到身份管理模块,并且允许用户通过身份注册组件自定义工作负载的身份元数据,用户为工作负载自定义的身份元数据也会被发送到身份管理模块中。其中,用户自定义的身份元数据可以支持任意形式的元数据,包括如下几种:
44.基于容器镜像标签(tag),即将工作负载所依赖的容器镜像tag作为工作负载的身份元数据,用来标识工作负载;
45.基于地理位置,即将工作负载被部署到的地理位置作为工作负载的身份元数据,用来标识工作负载,该地理位置可对应多个工作负载,但一个工作负载只能对应一个地理位置;
46.基于主机信息,即将工作负载所在主机的信息,例如名称、ip地址等作为工作负载的身份元数据,用来标识工作负载;
47.基于其他软硬件属性等身份元数据。
48.3、身份管理模块将每一个工作负载注册的身份元数据进行标准化转换为身份信息后存储到身份信息库,该身份信息可以支持并不限于spiffe(secure production identity framework for everyone)标准。
49.4、策略控制模块提供了一种云原生声明式api的方式用于供用户定义安全策略,具体地通过该api获取用户提交的安全策略需求描述信息,根据该安全策略需求描述信息和身份信息库中多样化的身份信息,生成工作负载的安全策略并下发这些安全策略到策略引擎模块中。
50.5、管控组件中的证书颁发模块通过调用身份管理模块可以获取每一个工作负载的身份信息,基于这些身份信息,在接收到服务网格代理组件中证书管理模块发送的证书签发请求时可以生成工作负载的安全证书并下发给证书管理模块。
51.6、服务网格代理容器或者服务网格代理二进制程序中的证书管理模块发送证书签发请求到管控组件中的证书颁发模块,请求证书颁发模块为对应工作负载颁发数字证书,并接收证书颁发模块签发的数字证书。
52.7、在位于虚拟机和容器中的两个工作负载需要进行通信时,服务网格代理二进制程序和服务网格代理容器通过访问策略引擎模块,由策略引擎模块基于下发的安全策略对两个工作负载执行基于身份的认证授权。其中,在访问策略引擎模块时,会将工作负载的数字证书提供给策略引擎模块,数字证书中包括工作负载的身份信息。
53.8、本实施例服务网格系统的服务网格代理组件还包括代理管理模块,用于管理服务网格代理二进制程序或服务网格代理容器的生命周期,负责服务网格代理二进制程序或服务网格代理容器的启动、停住等操作。
54.本技术实施例提供的基于服务网格系统,可以在代理服务实现基于零信任安全的通信,并且提供了一种声明式api的方式允许定义安全策略,通过中心式控制面部署安装服务网格代理组件到数据面中,并提供相应的生命周期管理;进一步地,声明式授权服务作为策略控制面,可以在不影响服务应用的前提下,针对指定的代理组件进行下发安全策略;进一步地,基于身份的认证授权机制,支持通过身份注册组件监听已有工作负载,并基于身份元数据进行工作负载的注册。
55.图2为本技术又一示例性实施例提供的一种服务网格系统的结构示意图。该系统用于实现基于身份的认证授权机制,如图2所示,该服务网格系统20包括:管控组件21、身份注册组件22和授权代理组件23。其中,本实施例的服务网格系统可应用于任何计算系统中,如图2所示,可以应用在计算集群系统中,则授权代理组件分布在计算集群系统中的至少一个计算集群中,但不限于此。
56.其中,身份注册组件21,用于面向计算集群系统中的服务提供身份注册服务和身份自定义服务,基于身份注册服务和身份自定义服务获取第一服务对应的多样化的身份元数据并上报给管控组件;管控组件22,用于根据第一服务对应的多样化的身份元数据,生成第一服务的安全策略和数字证书,并下发给第一服务所在计算集群中对应的授权代理组件;授权代理组件23,用于在第一服务需要与第二服务通信的情况下,根据第一服务的安全策略和数字证书,对第一服务进行身份鉴权,并在通过身份鉴权的情况下,代理第一服务与第二服务进行通信;其中,第一服务是计算集群系统中的任一服务,第二服务是不同于第一服务的另一服务。
57.在一可选实施例中,如图2所示,管控组件21的一种内部实现结构包括:策略控制模块211、身份管理模块212和证书颁发模块213。相应地,如图2所示,授权代理组件23的一种内部实现结构,包括:策略引擎模块231和服务网格代理组件232。如图2所示,服务网格代
理组件232的一种内部实现结构包括:服务代理模块2321和证书管理模块2322。
58.关于上述各组件的详细实施方式和内部实现结构,请参见前述实施例,在此不再赘述。
59.图3为本技术又一示例性实施例提供的一种身份鉴权方法的流程示意图。应用于服务网格系统,服务网格系统用于实现基于身份的认证授权机制,如图3所示,该方法包括:
60.301、基于面向计算集群系统中的各服务提供的身份注册服务和身份自定义服务,获取第一服务对应的多样化的身份元数据;
61.302、根据第一服务对应的多样化的身份元数据,生成第一服务的安全策略和数字证书;
62.303、在第一服务需要与第二服务通信的情况下,根据第一服务的安全策略和数字证书,对第一服务进行身份鉴权;以及
63.304、在第一服务通过身份鉴权的情况下,由服务网格系统中的授权代理组件代理第一服务与第二服务进行通信;其中,第一服务是计算集群系统中的任一服务,第二服务是不同于第一服务的另一服务。
64.进一步地,基于面向计算集群系统中的各服务提供的身份注册服务和身份自定义服务,获取第一服务对应的多样化的身份元数据,可通过以下步骤实现:
65.接收针对第一服务发起的身份注册请求,从身份注册请求中获取第一服务对应的第一身份元数据,并从指定的元数据存储对象中获取用户为第一服务自定义的第二身份元数据;第一身份元数据和第二身份元数据形成第一服务对应的多样化的身份元数据。
66.进一步地,还包括面向用户提供声明式api;则,根据第一服务对应的多样化的身份元数据生成第一服务的安全策略,可通过以下过程实现:
67.接收用户通过声明式api提交的安全策略需求描述信息;根据安全策略需求描述信息和多样化的身份元数据生成第一服务的安全策略。
68.进一步可选地,上述根据安全策略需求描述信息和多样化的身份元数据生成第一服务的安全策略,包括:从多样化的身份元数据中选择第一目标身份元数据;根据安全策略需求描述信息和第一目标身份元数据,生成第一服务的安全策略。
69.相应地,根据第一服务对应的多样化的身份元数据,生成第一服务的数字证书,包括:从多样化的身份元数据中选择第二目标身份元数据,根据第二目标身份元数据生成第一服务的数字证书;其中,第一目标身份元数据与第二目标身份元数据至少部分相同。
70.本实施例的上述方法可应用于图1a或图2所示服务网络系统中,其中,结合图1a或图2所示服务网格系统的实现结构,各步骤的详细实施过程可参见前述实施例,在此不在赘述。
71.图4为本技术又一示例性实施例提供的一种节点设备的结构示意图。如图4所示,该设备包括:存储器44和处理器45;存储器44,用于存储计算机程序,处理器45与存储器44耦合,用于执行计算机程序,以用于:
72.基于面向计算集群系统中的各服务提供的身份注册服务和身份自定义服务,获取第一服务对应的多样化的身份元数据;
73.根据第一服务对应的多样化的身份元数据,生成第一服务的安全策略和数字证书;
74.在第一服务需要与第二服务通信的情况下,根据第一服务的安全策略和数字证书,对第一服务进行身份鉴权;以及
75.在第一服务通过身份鉴权的情况下,由服务网格系统中的授权代理组件代理第一服务与第二服务进行通信;其中,第一服务是计算集群系统中的任一服务,第二服务是不同于第一服务的另一服务。
76.进一步地,处理器45在基于面向计算集群系统中的各服务提供的身份注册服务和身份自定义服务,获取第一服务对应的多样化的身份元数据时,具体用于:
77.接收针对第一服务发起的身份注册请求,从身份注册请求中获取第一服务对应的第一身份元数据,并从指定的元数据存储对象中获取用户为第一服务自定义的第二身份元数据;第一身份元数据和第二身份元数据形成第一服务对应的多样化的身份元数据。
78.进一步地,该节点设备还可以面向用户提供声明式api;则,处理器45在根据第一服务对应的多样化的身份元数据生成第一服务的安全策略时,具体用于:
79.接收用户通过声明式api提交的安全策略需求描述信息;根据安全策略需求描述信息和多样化的身份元数据生成第一服务的安全策略。
80.进一步可选地,处理器40b在根据安全策略需求描述信息和多样化的身份元数据生成第一服务的安全策略时,具体用于:从多样化的身份元数据中选择第一目标身份元数据;根据安全策略需求描述信息和第一目标身份元数据,生成第一服务的安全策略。
81.相应地,处理器45在根据第一服务对应的多样化的身份元数据,生成第一服务的数字证书时,具体用于:从多样化的身份元数据中选择第二目标身份元数据,根据第二目标身份元数据生成第一服务的数字证书;其中,第一目标身份元数据与第二目标身份元数据至少部分相同。
82.进一步,如图4所示,本实施例的节点设备还可以包括电源组件47和通信组件46。图4中仅示意性给出部分组件,并不意味着节点设备只包括图4所示组件。另外,图4所示节点设备中的各个组件可以分布式部署,也可以集中式部署,对此不做限定。
83.本实施例的节点设备可以作为前述服务网格系统实现,其详细的内部实现结构可以参见前述服务网格系统实施例,在此不再赘述。
84.相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中执行的各步骤。
85.相应地,本技术实施例还提供一种计算机程序产品,包括计算机程序/指令,当计算机程序/指令被处理器执行时,致使处理器能够实现上述方法实施例中执行的各步骤。
86.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
87.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
88.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
89.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
90.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
91.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
92.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
93.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括证书颁发模块要素的过程、方法、商品或者设备中还存在另外的相同要素。
94.以上证书颁发模块仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献