CN117176415A - 集群访问方法、装置、电子设备及存储介质 - Google Patents
集群访问方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117176415A CN117176415A CN202311125488.6A CN202311125488A CN117176415A CN 117176415 A CN117176415 A CN 117176415A CN 202311125488 A CN202311125488 A CN 202311125488A CN 117176415 A CN117176415 A CN 117176415A
- Authority
- CN
- China
- Prior art keywords
- user
- cluster
- access
- component
- authentication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000013475 authorization Methods 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 3
- 230000004048 modification Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 8
- 239000003795 chemical substances by application Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 241000322338 Loeseliastrum Species 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本申请实施例提供一种集群访问方法、装置、电子设备及存储介质,涉及容器技术领域,方法包括:响应于用户通过客户端发送的访问请求,根据配置文件对用户进行鉴权;在鉴权通过后,根据用户的授权信息生成用户访问目标租户集群的访问控制模板,将访问控制模板发送至目标租户集群,以使目标租户集群根据访问控制模板创建用户访问目标租户集群的访问通道;接收目标租户集群返回的创建结果,将创建结果推送至用户的客户端。通过对用户使用统一的认证控制,对访问集群的用户经过认证后转发至对应的访问集群,可以灵活的控制用户权限,提高授权管理的控制粒度。
Description
技术领域
本申请涉及容器技术领域,尤其涉及一种集群访问方法、装置、电子设备及存储介质。
背景技术
Kubernetes是一个开源的容器编排工具,用于管理容器化的工作负载和服务。在虚拟化向容器化的时代演进中,Kubernetes基本成为当前容器编排的事实标准。
随着kubernetes集群数量增长,在多集群环境下,通用的访问控制可能导致访问角色管理的混乱,无法细粒度的对集群资源和账户进行灵活授权管理。
发明内容
本申请提供一种集群访问方法、装置、电子设备及存储介质,可以提高集群资源和账户进行灵活授权管理的粒度。
第一方面,本申请提供一种集群访问方法,容器集群系统包括租户集群和管理集群,所述租户集群和所述管理集群处于不同的隔离网络,所述方法应用于所述管理集群,包括:
响应于用户通过客户端发送的访问请求,根据配置文件对所述用户进行鉴权;所述鉴权包括对所述用户的身份信息进行鉴权和对所述用户访问的目标租户集群的权限进行鉴权;所述配置文件为用户首次登陆所述容器集群系统所属的网络时生成的;所述配置文件包括所述用户的身份信息和所述目标租户集群信息;
在鉴权通过后,根据所述用户的授权信息生成所述用户访问所述目标租户集群的访问控制模板,将所述访问控制模板发送至所述目标租户集群,以使所述目标租户集群根据所述访问控制模板创建所述用户访问所述目标租户集群的访问通道;
接收所述目标租户集群返回的创建结果,将所述创建结果推送至所述用户的客户端。
可选的,生成所述配置文件,包括:
获取所述用户的标识,以及,生成所述用户的用户证书,对所述用户标识和所述用户证书进行拼接,得到所述用户的身份信息;
根据所述用户的身份信息,获取所述用户允许访问的目标租户集群的注册信息,根据所述注册信息确定所述目标租户集群的地址信息;
根据所述用户的身份信息和所述地址信息生成所述配置文件。
可选的,所述管理集群包括认证组件和UI组件,所述根据所述配置文件对所述用户进行鉴权,包括:
通过所述认证组件根据所述用户的标识,从数据库中获取所述用户的鉴权信息;
通过所述认证组件根据所述鉴权信息和所述配置文件对所述用户进行鉴权,得到鉴权结果,所述鉴权信息为所述UI组件生成所述配置文件时,根据所述用户的身份信息和所述目标租户集群信息生成并存储于所述数据库。
可选的,所述目标租户集群包括代理组件和服务组件,所述代理组件和所述服务组件处于同一虚拟网络,所述授权信息为通过所述UI组件进行配置并发送至所述认证组件,所述将所述访问控制模板发送至所述目标租户集群,包括:
通过所述认证组件根据所述授权信息生成所述访问控制模板,通过远程过程调用grpc请求的方式将所述访问控制模板发送至所述代理组件,以使所述代理组件将所述访问控制模板发送至服务组件。
可选的,述管理集群还包括网关,所述方法还包括:
通过所述网关接收用户通过客户端发送的访问请求,以及根据所述访问请求的域名,确定所述访问请求的来源信息;
通过所述网关根据所述来源信息,获取所述认证组件中用于处理所述访问请求的子组件的标识;
通过所述网关根据所述子组件的标识,将所述访问请求转发至对应的子组件。
可选的,所述方法还包括:
通过所述认证组件获取所述访问请求的数量;
通过所述认证组件根据所述访问请求的数量和预设阈值的关系,对所述认证组件中的子组件的数量进行调整。
可选的,所述方法还包括:
通过所述网关暂停转发所述访问请求的方式对所述访问请求的数量进行限制,和/或,通过所述UI组件进行配置文件修改的方式对所述访问请求的数量进行限制。
第二方面,本申请提供一种集群访问装置,容器管理系统包括租户集群和管理集群,所述租户集群和所述管理集群处于不同的隔离网络,所述装置应用于所述管理集群,包括:
响应模块,用于响应于用户通过客户端发送的访问请求,根据配置文件对所述用户进行鉴权;所述鉴权包括对所述用户的身份信息进行鉴权和对所述用户访问的目标租户集群的权限进行鉴权;所述配置文件为用户首次登陆所述容器管理系统所属的网络时生成的;所述配置文件包括所述用户的身份信息和所述目标租户集群信息;
处理模块,用于在鉴权通过后,根据所述用户的授权信息生成所述用户访问所述目标租户集群的访问控制模板,将所述访问控制模板发送至所述目标租户集群,以使所述目标租户集群根据所述访问控制模板创建所述用户访问所述目标租户集群的访问通道;
接收模块,用于接收所述目标租户集群返回的创建结果,将所述创建结果推送至所述用户的客户端。
第三方面,本申请提供一种电子设备,包括:存储器和处理器;
存储器用于存储计算机指令;处理器用于运行存储器存储的计算机指令实现第一方面中任一项的方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现第一方面中任一项的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面中任一项的方法。
本申请提供的集群访问方法、装置、电子设备及存储介质,通过响应于用户通过客户端发送的访问请求,根据配置文件对所述用户进行鉴权;所述鉴权包括对所述用户的身份信息进行鉴权和对所述用户访问的目标租户集群的权限进行鉴权;所述配置文件为用户首次登陆所述容器集群系统所属的网络时生成的;所述配置文件包括所述用户的身份信息和所述目标租户集群信息;在鉴权通过后,根据所述用户的授权信息生成所述用户访问所述目标租户集群的访问控制模板,将所述访问控制模板发送至所述目标租户集群,以使所述目标租户集群根据所述访问控制模板创建所述用户访问所述目标租户集群的访问通道;接收所述目标租户集群返回的创建结果,将所述创建结果推送至所述用户的客户端。通过对用户使用统一的认证控制,对访问集群的用户经过认证后转发至对应的访问集群,可以灵活的控制用户权限,提高授权管理的控制粒度。
附图说明
图1为本申请实施例提供的场景示意图;
图2为本申请实施例提供的集群访问方法的流程示意图;
图3为本申请实施例提供的集群访问的过程示意图一;
图4为本申请实施例提供的集群访问的过程示意图二;
图5为本申请实施例提供的集群访问装置的结构示意图;
图6为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
Kubernetes是基于Borg开源的一个容器编排工具,用于管理容器化的工作负载和服务,并使用声明式配置完成自动化控制,自问世以来迅速成长为一套庞大的生态系统,在虚拟化向容器化的时代演进浪潮中,基本成为当前容器编排的事实标准。
随着Kubernetes集群用户的增长,当前原生kubernetes的访问控制策略相对单一,多集群环境下,通用的基于角色的访问控制(role-based access control,rbac)可能会造成角色的井喷,而且在控制各个集群的访问控制权限时候,配置复杂,无法细粒度的对集群资源和账户进行灵活授权管理。
有鉴于此,本申请实施例提供一种集群访问方法、装置、电子设备及存储介质,通过使用统一的认证控制,对访问集群的用户经过认证后转发至对应的访问集群,可以灵活的控制用户权限,提高授权管理的控制粒度。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以独立实现,也可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图1为本申请实施例的应用场景示意图,如图1所示,包括管理集群101、租户集群102。
其中,管理集群101和租户集群102为Kubernetes集群,共同构成容器集群系统,管理集群101和租户集群102部署于公有云。
在一些实施例中,所述容器集群系统为一种基于无服务器(serverless)架构的Kubernetes集群。
管理集群101和租户集群102可以部署于Kubernetes集群的不同容器网络,例如,管理集群101可以部署于容器网络接口(container network interface,CNI)容器网络,租户集群102可以部署于专属私有网络(Virtual Private Cloud,VPC)容器网络。CNI容器网络与VPC容器网络互相隔离。
所述管理集群101用于对访问租户集群102的用户进行身份验证,在验证通过后构建所述用户访问租户集群102的通道。
应理解,所述租户集群102可以包括多个租户集群,不同的租户集群部署于所述容器集群系统相同或不同的节点,互相之间进行隔离。
在一些实施例中,所述容器集群系统还可以包括业务集群,所述业务集群可以为公有云的计算资源池,也是一套kubernetes集群,是公有云用户计算资源部署的实际资源池。
所述租户集群可以为业务集群的一套虚拟集群,独占一个业务集群命名空间来实现隔离。
在一些实施例中,所述租户集群的控制面和业务集群互相隔离,例如,控制面部署于CNI容器网络,业务集群部署于VPC容器网络。所述控制面和业务集群可以同属同一分层虚拟网络,例如,calico网络。
下面以图1中的管理集群为例,对本申请实施例提供的集群访问方法进行说明。
图2为本申请实施例提供的集群访问方法的流程示意图,如图2所示,包括:
S201、响应于用户通过客户端发送的访问请求,根据配置文件对所述用户进行鉴权。
本申请实施例中,客户端可以为用于访问Kubernetes集群的工具,例如,命令行工具(kubectl),kubectl可以使用Kubernetes API与Kubernetes集群的控制面进行通信。
本申请实施例中,所述配置文件包括所述用户的身份信息和所述目标租户集群信息;所述配置文件为用户首次登陆所述容器集群系统所属的网络时生成的,例如,在用户登录所述容器集群系统所述的公有云时,所述管理集群根据所述用户的标识,生成所述配置文件。
所述访问请求中可以包括所述配置文件。
所述目标租户集群信息可以为表征所述用户可以访问的租户集群权限,以及,在所述租户集群中的使用权限。
可选的,所述配置文件可以为kubeconfig文件。
所述鉴权包括对所述用户的身份信息进行鉴权和对所述用户访问的目标租户集群的权限进行鉴权;
本申请实施例中,所述管理集群可以根据存储的所述用户的鉴权信息与所述配置文件中的用户的身份信息和所述目标租户集群信息进行比对,对所述用户进行鉴权。
S202、在鉴权通过后,根据所述用户的授权信息生成所述用户访问所述目标租户集群的访问控制模板,将所述访问控制模板发送至所述目标租户集群,以使所述目标租户集群根据所述访问控制模板创建所述用户访问所述目标租户集群的访问通道。
本申请实施例中,授权信息可以表征所述用户在目标租户集群中的操作权限,所述授权信息可以为根据所述用户的角色模板生成,或者,根据外部(例如,管理员)输入的信息生成,并存储于所述管理集群的信息存储空间。
访问控制模板可以为用于定义角色分配、角色授权、权限授权等规则的模板。例如,RBAC service Account模板。
其中,角色分配:是指只有为某个用户(用户是指真实自然人或应用程序)分配了该角色后,才具有该角色对应的权限。
角色授权:对应于安全设计原则中的最小特权原则,即用户被授予某个角色之后,仅能完成所授予权限内的活动。
权限授权:是指仅当某个角色被授予权限后,该角色被分配的用户才具有此角色所授予的权限。
管理集群可以根据所述授权信息对默认的访问控制模板进行填充,生成所述访问控制模板,并将所述访问控制模板转发至所述目标租户集群,以使所述目标租户集群根据所述访问控制模板创建所述用户通过所述管理集群访问所述目标租户集群的访问通道。
S203、接收所述目标租户集群返回的创建结果,将所述创建结果推送至所述用户的客户端。
本申请实施例中,所述创建结果包括创建成功和创建失败,管理集群接收到所述创建结果时,可以将所述创建结果推送至所述用户的客户端。在创建成功时,用户可以通过管理集群访问所述目标租户集群。
本申请实施例提供的集群访问方法,响应于用户通过客户端发送的访问请求,根据配置文件对所述用户进行鉴权;所述鉴权包括对所述用户的身份信息进行鉴权和对所述用户访问的目标租户集群的权限进行鉴权;所述配置文件为用户首次登陆所述容器集群系统所属的网络时生成的;所述配置文件包括所述用户的身份信息和所述目标租户集群信息;在鉴权通过后,根据所述用户的授权信息生成所述用户访问所述目标租户集群的访问控制模板,将所述访问控制模板发送至所述目标租户集群,以使所述目标租户集群根据所述访问控制模板创建所述用户访问所述目标租户集群的访问通道;接收所述目标租户集群返回的创建结果,将所述创建结果推送至所述用户的客户端。通过对用户使用统一的认证控制,对访问集群的用户经过认证后转发至对应的访问集群,可以灵活的控制用户权限,提高授权管理的控制粒度。
在上述实施例的基础上,所述配置文件还可以根据如下所示方法生成:
示例性的,获取所述用户的标识,以及,生成所述用户的用户证书,对所述用户标识和所述用户证书进行拼接,得到所述用户的身份信息;根据所述用户的身份信息,获取所述用户允许访问的目标租户集群的注册信息,根据所述注册信息确定所述目标租户集群的地址信息;根据所述用户的身份信息和所述地址信息生成所述配置文件。
其中,所述用户的标识可以为所述用户的users name,可以根据用户登陆公有云的登陆信息进行获取,用户证书可以为验证用户身份的虚拟凭证,管理集群可以随机生成所述用户证书时,并对所述用户标识和所述用户证书进行拼接,得到所述用户的身份信息(users)。
根据所述身份信息从数据库中查询所述用户的授权的租户集群注册信息,对所述注册信息进行解析,获取注册信息中的目标租户集群的地址信息(endpoint),将所述endpoint信息填充至所述users中的对应字段(clusters),拼接成所述配置文件kubeconfig。
本申请实施例中,所述管理集群和所述租户集群包括多个控制组件和/或处理组件。下面结合图3,以控制组件和/或处理组件为视角对本申请实施例提供的集群访问方法进行说明。
示例性的,如图3所示,管理集群可以包括UI组件、网关和认证组件。租户集群可以包括代理组件(认证组件agent)、服务组件(scs control plane)。所述代理组件又可以称为所述租户集群的控制面,所述服务组件又可以称为所述租户集群的业务应用。所述代理组件和服务组件处于同一calico网络。
其中,calico网络一个纯三层的虚拟网络方案,Calico为每个容器分配一个IP,每个host都是router,把不同host的容器连接起来。
在一些实施例中,所述生成配置文件是通过所述UI组件实现的。
在一些实施例中,所述UI组件还可以用于管理租户集群的角色模板、对用户访问租户集群的权限进行授权、生成用户访问租户集群的kubeconfig文件,以及,修改kubeconfig文件等。
在一些实施例中,根据所述配置文件对所述用户进行鉴权是通过所述认证组件实现的。
示例性的,通过所述认证组件根据所述用户的标识,从数据库中获取所述用户的鉴权信息;通过所述认证组件根据所述鉴权信息和所述配置文件对所述用户进行鉴权,得到鉴权结果,所述鉴权信息为所述UI组件生成所述配置文件时,根据所述用户的身份信息和所述目标租户集群信息生成并存储于所述数据库。
认证组件通过网关接收到用户通过kubectl发送的访问请求时,根据用户的标识从数据库中获取鉴权信息,对所述配置文件中的用户的身份信息和所述目标租户集群信息分别进行鉴权,得到鉴权结果。所述鉴权信息为所述用户通过所述UI组件获取配置文件时生成的,所述UI组件将所述鉴权信息发送至所述认证组件,认证组件接收到鉴权信息时,可以将鉴权信息存储于对应的数据库中。
在一些实施例中,将所述访问控制模板发送至所述目标租户集群是通过所述认证组件实现的。
示例性的,通过所述认证组件根据所述授权信息生成所述访问控制模板,通过远程过程调用grpc请求的方式将所述访问控制模板发送至所述代理组件,以使所述代理组件将所述访问控制模板发送至服务组件。
其中,远程过程调用(Google Remote Procedure Call,grpc)是基于HTTP 2.0传输层协议承载的高性能开源软件框架,提供了支持多种编程语言的、对网络设备进行配置和纳管的方法。由于是开源框架,通信的双方可以进行二次开发,所以客户端和服务器端之间的通信会更加专注于业务层面的内容,减少了对由gRPC框架实现的底层通信的关注。
在所述用户的鉴权通过后,认证组件可以根据所述UI组件发送的所述用户的授权信息,对默认的访问控制模板进行填充,生成访问控制模板,并采用grpc的方式将所述访问控制模板发送至目标租户集群的代理组件。
代理组件接收到访问控制模板时,可以将所述访问控制模板转发至服务组件,以使服务组件通过包括的Api-server进行连接通道的创建。
可选的,所述代理组件还可以缓存所述访问控制模板。
在一些实施例中,Api-serve还可以设置所述连接通道的过期时间,进一步提升用户访问目标租户集群的管理控制能力。
在一些实施例中,所述访问请求为所述网关转发至所述认证组件,所述认证组件还包括多个子组件。转发所述访问请求还可以包括如下所示步骤:
示例性的,通过所述网关接收用户通过客户端发送的访问请求,以及根据所述访问请求的域名,确定所述访问请求的来源信息;通过所述网关根据所述来源信息,获取所述认证组件中用于处理所述访问请求的子组件的标识;通过所述网关根据所述子组件的标识,将所述访问请求转发至对应的子组件。
其中,网管接收到访问请求时,可以获取所述访问请求对应的域名,网关根据所述域名,得到所述访问请求的来源。并从来源映射表中获取所述来源对应的认证子组件的标识。所述来源映射表中包括来源与认证子组件的映射关系,可以为用户根据先验知识生成并存储于网关中。
所述网关根据所述子组件的标识,将所述访问请求转发至对应的子组件。,以使所述子组件处理所述访问请求。
可选的,若未获取到处理所述访问请求的子组件的标识,网关可以将所述访问请求发送至默认的认证子组件。
在一些实施例中,为提升认证组件处理所述访问请求的能力,所述认证组件还可以对所述认证子组件的数量进行调整。
示例性的,通过所述认证组件获取所述访问请求的数量;通过所述认证组件根据所述访问请求的数量和预设阈值的关系,对所述认证组件中的子组件的数量进行调整。
例如,认证组件可以监控访问请求的转发数量,对访问请求的数量进行统计,若访问请求的数量大于预设阈值,则可以增加认证子组件的数量。例如,可以将处理认证子组件进行复制。
若增加认证子组件后,访问请求的数量下降,可以将增加的认证子组件进行删除处理,使得认证组件具备弹性伸缩的能力。
在一些实施例中,管理集群还可以通过网关和认证组件对访问请求的流量进行控制。
示例性的,通过所述网关暂停转发所述访问请求的方式对所述访问请求的数量进行限制,和/或,通过所述UI组件进行配置文件修改的方式对所述访问请求的数量进行限制。
若需要对容器集群系统的访问流量进行限制,可以通过网关暂停转发所述访问请求,和/或,修改所述配置文件的方式使得对用户鉴权失败,对所述访问请求的流量进行控制。
在一些实施例中,也可以通过所述网关拒绝所述访问请求,和/或,通过修改鉴权信息的方式使得对用户鉴权失败,对所述访问请求的流量进行控制。
可选的,修改所述配置文件也可以称为废弃kubeconfig文件,通过修改用户user证书的方式,旧kubeconfig无法继续访问。
可选的,为提升容器集群系统的安全性,所述网关采用单个端口对所述访问请求进行转发。
下面对认证组件的部署过程进行介绍。
部署步骤如下:
S1、首先在业务集群中部署认证组件自身,并注册到业务集群的网关。
S2、在用户的租户集群命名空间内启动一个认证服务agent,通过grpc注册租户集群信息到认证组件,用来接收转发的请求。
S3、在管理域内部署组件的前端UI,通过Ui可以配置用户的集群权限。
S4、网关对外暴露转发的端口,允许用户外部通过kubectl直接访问目标集群。
下面对租户集群的注册过程进行介绍:
用户安装虚拟租户集群时,在集群内启动一个组件agent的deployment应用,应用根据虚拟集群的Id信息生成相应的endpoint端点信息,通过grpc注册到认证服务,认证服务存储endpoint信息,作为后续转发到地址信息。
在上述实施例的基础上,下面结合图4对本申请实施例提供的集群访问方法进行介绍。
示例性的,访问步骤包括:
A1、用户从Ui处下载生成的专属kubeconfig文件,其中只包含访问的集群信息和用户的证书信息。
A2、用户使用kubeconfig通过kubectl请求集群时,根据域名请求到网关,并转发到认证组件,通过二级域名区分访问的租户集群信息
A3、在认证组件处进行鉴权,对用户的证书和集群的权限验证,并根据认证组件存储的授权信息,生成目标租户集群中的RBAC serviceAccount模板,通过grpc请求转发到认证agent中,认证agent将RBAC信息发送到租户集群的api-server创建,并缓存在agent当中,设置过期时间,当创建成功时,与认证服务建立一条连接的通道。
A4、用户对租户集群的管控平面的控制后续通过键入命令,借助这条连接通道完成。
综上所述,本申请实施例提供的集群访问方法,用户通过统一的网关和认证服务,访问虚拟租户集群的管控平面。认证组件提供了用户的授权和认证功能,可以灵活控制用户权限。网关对外暴露出可以对入口流量进行限制和转换,保护内网资源。认证组件可以通过监控连接指标,弹性的伸缩转发服务。租户集群的管控平面和集群内的应用处于两个网络平面,相互隔离。
本申请实施例还提供一种集群访问装置。
图5为本申请实施例提供的集群访问装置50的结构示意图,容器管理系统包括租户集群和管理集群,所述租户集群和所述管理集群处于不同的隔离网络,所述装置应用于所述管理集群,包括:
响应模块501,用于响应于用户通过客户端发送的访问请求,根据配置文件对所述用户进行鉴权;所述鉴权包括对所述用户的身份信息进行鉴权和对所述用户访问的目标租户集群的权限进行鉴权;所述配置文件为用户首次登陆所述容器管理系统所属的网络时生成的;所述配置文件包括所述用户的身份信息和所述目标租户集群信息。
处理模块502,用于在鉴权通过后,根据所述用户的授权信息生成所述用户访问所述目标租户集群的访问控制模板,将所述访问控制模板发送至所述目标租户集群,以使所述目标租户集群根据所述访问控制模板创建所述用户访问所述目标租户集群的访问通道。
接收模块503,用于接收所述目标租户集群返回的创建结果,将所述创建结果推送至所述用户的客户端。
可选的,所述处理模块502,还用于获取所述用户的标识,以及,生成所述用户的用户证书,对所述用户标识和所述用户证书进行拼接,得到所述用户的身份信息;根据所述用户的身份信息,获取所述用户允许访问的目标租户集群的注册信息,根据所述注册信息确定所述目标租户集群的地址信息;根据所述用户的身份信息和所述地址信息生成所述配置文件。
可选的,响应模块501,还用于通过所述认证组件根据所述用户的标识,从数据库中获取所述用户的鉴权信息;通过所述认证组件根据所述鉴权信息和所述配置文件对所述用户进行鉴权,得到鉴权结果,所述鉴权信息为所述UI组件生成所述配置文件时,根据所述用户的身份信息和所述目标租户集群信息生成并存储于所述数据库。
可选的,所述处理模块502,还用于通过所述认证组件根据所述授权信息生成所述访问控制模板,通过远程过程调用grpc请求的方式将所述访问控制模板发送至所述代理组件,以使所述代理组件将所述访问控制模板发送至服务组件。
可选的,所述处理模块502,还用于通过所述网关接收用户通过客户端发送的访问请求,以及根据所述访问请求的域名,确定所述访问请求的来源信息;通过所述网关根据所述来源信息,获取所述认证组件中用于处理所述访问请求的子组件的标识;通过所述网关根据所述子组件的标识,将所述访问请求转发至对应的子组件。
可选的,所述处理模块502,还用于通过所述认证组件获取所述访问请求的数量;通过所述认证组件根据所述访问请求的数量和预设阈值的关系,对所述认证组件中的子组件的数量进行调整。
可选的,所述处理模块502,还用于通过所述网关暂停转发所述访问请求的方式对所述访问请求的数量进行限制,和/或,通过所述UI组件进行配置文件修改的方式对所述访问请求的数量进行限制。
本申请实施例提供的集群访问装置可以执行上述任一实施例提供的集群访问方法,其原理和技术效果类似,此处不再赘述。
本申请实施例还提供一种电子设备。
图6为本申请实施例提供的电子设备60的结构示意图,如图6所示,包括:
处理器601。
存储器602,用于存储终端设备的可执行指令。
具体的,程序可以包括程序代码,程序代码包括计算机操作指令。存储器602可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器601用于执行存储器602存储的计算机执行指令,以实现前述方法实施例所描述的集群访问方法实施例的技术方案。
其中,处理器601可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选的,电子设备60还可以包括通信接口603,以通过通信接口603可以与外部设备进行通信交互,外部设备例如可以是用户终端(例如,手机、平板)。在具体实现上,如果通信接口603、存储器602和处理器601独立实现,则通信接口603、存储器602和处理器601可以通过总线相互连接并完成相互间的通信。
总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口603、存储器602和处理器601集成在一块芯片上实现,则通信接口603、存储器602和处理器601可以通过内部接口完成通信。
本申请实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述集群访问方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
一种可能的实现方式中,计算机可读介质可以包括随机存取存储器(RandomAccess Memory,RAM),只读存储器(Read-Only Memory,ROM),只读光盘(compact discread-only memory,CD-ROM)或其它光盘存储器,磁盘存储器或其它磁存储设备,或目标于承载的任何其它介质或以指令或数据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(Digital Subscriber Line,DSL)或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘,激光盘,光盘,数字通用光盘(Digital Versatile Disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
本申请实施例中还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述测试方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在上述终端设备或者服务器的具体实现中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本领域技术人员可以理解,上述任一方法实施例的全部或部分步骤可以通过与程序指令相关的硬件来完成。前述的程序可以存储于计算机可读取存储介质中,该程序被执行时,执行上述方法实施例的全部或部分的步骤。
本申请技术方案如果以软件的形式实现并作为产品销售或使用时,可以存储在计算机可读取存储介质中。基于这样的理解,本申请的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括计算机程序或者若干指令。该计算机软件产品使得计算机设备(可以是个人计算机、服务器、网络设备或者类似的电子设备)执行本申请实施例所述方法的全部或部分步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
进一步需要说明的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应该理解,上述的装置实施例仅是示意性的,本申请的装置还可通过其它的方式实现。例如,上述实施例中单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本申请各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,处理器可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(ResistiveRandom Access Memory)、动态随机存取存储器DRAM(Dynamic Random Access Memory)、静态随机存取存储器SRAM(Static Random-Access Memory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等。
集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种集群访问方法,其特征在于,容器集群系统包括租户集群和管理集群,所述租户集群和所述管理集群处于不同的隔离网络,所述方法应用于所述管理集群,包括:
响应于用户通过客户端发送的访问请求,根据配置文件对所述用户进行鉴权;所述鉴权包括对所述用户的身份信息进行鉴权和对所述用户访问的目标租户集群的权限进行鉴权;所述配置文件为用户首次登陆所述容器集群系统所属的网络时生成的;所述配置文件包括所述用户的身份信息和所述目标租户集群信息;
在鉴权通过后,根据所述用户的授权信息生成所述用户访问所述目标租户集群的访问控制模板,将所述访问控制模板发送至所述目标租户集群,以使所述目标租户集群根据所述访问控制模板创建所述用户访问所述目标租户集群的访问通道;
接收所述目标租户集群返回的创建结果,将所述创建结果推送至所述用户的客户端。
2.根据权利要求1所述的方法,其特征在于,生成所述配置文件,包括:
获取所述用户的标识,以及,生成所述用户的用户证书,对所述用户标识和所述用户证书进行拼接,得到所述用户的身份信息;
根据所述用户的身份信息,获取所述用户允许访问的目标租户集群的注册信息,根据所述注册信息确定所述目标租户集群的地址信息;
根据所述用户的身份信息和所述地址信息生成所述配置文件。
3.根据权利要求2所述的方法,其特征在于,所述管理集群包括认证组件和UI组件,所述根据所述配置文件对所述用户进行鉴权,包括:
通过所述认证组件根据所述用户的标识,从数据库中获取所述用户的鉴权信息;
通过所述认证组件根据所述鉴权信息和所述配置文件对所述用户进行鉴权,得到鉴权结果,所述鉴权信息为所述UI组件生成所述配置文件时,根据所述用户的身份信息和所述目标租户集群信息生成并存储于所述数据库。
4.根据权利要求3所述的方法,其特征在于,所述目标租户集群包括代理组件和服务组件,所述代理组件和所述服务组件处于同一虚拟网络,所述授权信息为通过所述UI组件进行配置并发送至所述认证组件,所述将所述访问控制模板发送至所述目标租户集群,包括:
通过所述认证组件根据所述授权信息生成所述访问控制模板,通过远程过程调用grpc请求的方式将所述访问控制模板发送至所述代理组件,以使所述代理组件将所述访问控制模板发送至服务组件。
5.根据权利要求4所述的方法,其特征在于,所述管理集群还包括网关,所述方法还包括:
通过所述网关接收用户通过客户端发送的访问请求,以及根据所述访问请求的域名,确定所述访问请求的来源信息;
通过所述网关根据所述来源信息,获取所述认证组件中用于处理所述访问请求的子组件的标识;
通过所述网关根据所述子组件的标识,将所述访问请求转发至对应的子组件。
6.根据权利要求3-5任一项所述的方法,其特征在于,所述方法还包括:
通过所述认证组件获取所述访问请求的数量;
通过所述认证组件根据所述访问请求的数量和预设阈值的关系,对所述认证组件中的子组件的数量进行调整。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
通过网关暂停转发所述访问请求的方式对所述访问请求的数量进行限制,和/或,通过所述UI组件进行配置文件修改的方式对所述访问请求的数量进行限制。
8.一种集群访问装置,其特征在于,容器管理系统包括租户集群和管理集群,所述租户集群和所述管理集群处于不同的隔离网络,所述装置应用于所述管理集群,包括:
响应模块,用于响应于用户通过客户端发送的访问请求,根据配置文件对所述用户进行鉴权;所述鉴权包括对所述用户的身份信息进行鉴权和对所述用户访问的目标租户集群的权限进行鉴权;所述配置文件为用户首次登陆所述容器管理系统所属的网络时生成的;所述配置文件包括所述用户的身份信息和所述目标租户集群信息;
处理模块,用于在鉴权通过后,根据所述用户的授权信息生成所述用户访问所述目标租户集群的访问控制模板,将所述访问控制模板发送至所述目标租户集群,以使所述目标租户集群根据所述访问控制模板创建所述用户访问所述目标租户集群的访问通道;
接收模块,用于接收所述目标租户集群返回的创建结果,将所述创建结果推送至所述用户的客户端。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311125488.6A CN117176415A (zh) | 2023-09-01 | 2023-09-01 | 集群访问方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311125488.6A CN117176415A (zh) | 2023-09-01 | 2023-09-01 | 集群访问方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117176415A true CN117176415A (zh) | 2023-12-05 |
Family
ID=88946392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311125488.6A Pending CN117176415A (zh) | 2023-09-01 | 2023-09-01 | 集群访问方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117176415A (zh) |
-
2023
- 2023-09-01 CN CN202311125488.6A patent/CN117176415A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11641361B2 (en) | Dynamic access control to network resources using federated full domain logon | |
US20210168136A1 (en) | Fast Smart Card Login | |
US10673840B2 (en) | Cloud-based identity management and authentication system for containers and applications | |
US11489872B2 (en) | Identity-based segmentation of applications and containers in a dynamic environment | |
US10505929B2 (en) | Management and authentication in hosted directory service | |
US11153303B2 (en) | Secure authentication of a device through attestation by another device | |
KR102036758B1 (ko) | 빠른 스마트 카드 로그온 및 연합된 풀 도메인 로그온 | |
CA3112194C (en) | Systems and methods for integrated service discovery for network applications | |
US11477188B2 (en) | Injection of tokens or client certificates for managed application communication | |
US11968201B2 (en) | Per-device single sign-on across applications | |
US11552953B1 (en) | Identity-based authentication and access control mechanism | |
CN109542862B (zh) | 用于控制文件系统的挂载的方法、装置和系统 | |
CN116391186B (zh) | 用于身份系统中的角色可达性分析的组合推理技术 | |
US20170279806A1 (en) | Authentication in a Computer System | |
CN114363165A (zh) | 一种电子设备的配置方法、电子设备和服务器 | |
US11366883B2 (en) | Reflection based endpoint security test framework | |
US10972455B2 (en) | Secure authentication in TLS sessions | |
US11647020B2 (en) | Satellite service for machine authentication in hybrid environments | |
CN117176415A (zh) | 集群访问方法、装置、电子设备及存储介质 | |
WO2023160632A1 (zh) | 针对飞地实例的云服务访问权限设置方法和云管理平台 | |
CN107623683B (zh) | 一种通过动态的安全的云资源防止信息公开的方法 | |
CN117278562A (zh) | 负载均衡方法、装置、系统、电子设备及存储介质 | |
CN116569538A (zh) | 经由中央网络网格的服务到服务通信和认证 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |