CN113852596B - 基于Kubernetes的应用认证代理方法及系统 - Google Patents

基于Kubernetes的应用认证代理方法及系统 Download PDF

Info

Publication number
CN113852596B
CN113852596B CN202110866762.XA CN202110866762A CN113852596B CN 113852596 B CN113852596 B CN 113852596B CN 202110866762 A CN202110866762 A CN 202110866762A CN 113852596 B CN113852596 B CN 113852596B
Authority
CN
China
Prior art keywords
authentication
new application
application
authority
kubernetes
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.)
Active
Application number
CN202110866762.XA
Other languages
English (en)
Other versions
CN113852596A (zh
Inventor
王永渤
王慧
王锟
浦超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Software Technology Co Ltd
Original Assignee
Inspur Software Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Software Technology Co Ltd filed Critical Inspur Software Technology Co Ltd
Priority to CN202110866762.XA priority Critical patent/CN113852596B/zh
Publication of CN113852596A publication Critical patent/CN113852596A/zh
Application granted granted Critical
Publication of CN113852596B publication Critical patent/CN113852596B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

本发明提供基于Kubernetes的应用认证代理方法及系统,包括:确定接入Kubernetes云平台的新应用,由所述新应用的基本信息确定基础权限;基于基础权限启用认证代理,确定所述新应用的认证权限;待认证完成,对所述新应用进行鉴权,获得所述新应用的鉴权结果。本发明提出的基于Kubernetes的应用认证代理,能够直接对接IAM系统,方便应用接入Kubernetes云平台,认证代理为接入应用提供了灵活方便的统一认证和鉴权服务,支持高并发场景。

Description

基于Kubernetes的应用认证代理方法及系统
技术领域
本发明涉及云计算技术领域,尤其涉及基于Kubernetes的应用认证代理方法及系统。
背景技术
在大数据应用场景中,随着Kubernetes云平台部署发布的应用越来越多,为统一管理用户信息,统一认证鉴权,云平台引入了统一身份管理和访问控制系统(IAM,Identityand Access Management,身份识别与访问代理)。各应用与IAM系统对接方案有如下几种:
1)各应用分别对接IAM系统;
2)使用认证代理,由认证代理与IAM系统对接。
第1)种方案需要协调各应用开发人员,调整修改认证模块,并会造成各应用与IAM系统耦合,使IAM系统升级维护困难。
目前,在Kubernetes云平台上,采用第2)种使用代理方式与IAM系统对接,可以使用Istio的认证模块,但该方案深度依赖于Istio,开发成本高、灵活性差,且部分认证方式暂未实现;也可以使用开源的认证代理,但开源的认证代理需要进行二次开发,且无法保障更新、修复进度。
发明内容
本发明提供基于Kubernetes的应用认证代理方法及系统,用以解决现有技术中存在的缺陷。
第一方面,本发明提供基于Kubernetes的应用认证代理方法,包括:
确定接入Kubernetes云平台的新应用,由所述新应用的基本信息确定基础权限;
基于基础权限启用认证代理,确定所述新应用的认证权限;
待认证完成,对所述新应用进行鉴权,获得所述新应用的鉴权结果。
在一个实施例中,所述确定接入Kubernetes云平台的新应用,由所述新应用的基本信息确定基础权限,包括:
由身份识别与访问代理IAM系统管理员获取所述新应用的所述基本信息,所述IAM系统管理员基于所述基本信息配置所述基础权限。
在一个实施例中,所述基于基础权限启用认证代理,确定所述新应用的认证权限,包括:
确定所述新应用与IAM系统的认证接口,基于预设认证方式获得所述认证权限。
在一个实施例中,所述确定所述新应用与IAM系统的认证接口,基于预设认证方式获得所述认证权限,包括:
若检测到所述新应用的请求携带令牌,则调用所述IAM系统的令牌认证接口进行令牌校验鉴权;
若检测到所述新应用的请求携带密钥,则调用所述IAM系统的密钥认证接口进行密钥校验鉴权;
若检测到所述新应用的请求携带用户名,则调用所述IAM系统的用户名接口进行用户名密码校验鉴权;
若任一认证模式认证失败,则向用户返回认证失败信息。
在一个实施例中,所述待认证完成,对所述新应用进行鉴权,获得所述新应用的鉴权结果,包括:
从所述新应用中获取请求资源信息,从Redis集群中获取所述请求资源信息中可访问的用户信息和角色配置;
解析认证过程中的令牌,获取所述用户信息和所述角色配置;
基于所述用户信息和所述角色配置,判断所述令牌是否具有访问权限,若判断具有权限,则为请求添加所述令牌,否则返回鉴权失败信息。
在一个实施例中,所述认证代理的权限配置是IAM系统通过kafka集群进行下发,并将所述权限配置存储在Redis集群中;
当所述认证代理启动时,通过所述kafka集群请求权限配置;
当所述IAM系统中权限变更,基于预设维度,通过所述kafka集群将变更的权限实时下发给所述认证代理;
通过所述IAM系统配置Istio服务网格,为所述认证代理提供流量管理,采集所述认证代理的流量数据;
由Prometheus汇总所述流量数据,实现对所述认证代理的流量监控和流量计费。
在一个实施例中,所述通过所述IAM系统配置Istio服务网格包括流量劫持、弹性伸缩、流量熔断和限流。
第二方面,本发明还提供基于Kubernetes的应用认证代理系统,包括:
确定模块,用于确定接入Kubernetes云平台的新应用,由所述新应用的基本信息确定基础权限;
认证模块,用于基于基础权限启用认证代理,确定所述新应用的认证权限;
鉴权模块,用于待认证完成,对所述新应用进行鉴权,获得所述新应用的鉴权结果。
第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于Kubernetes的应用认证代理方法的步骤。
第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于Kubernetes的应用认证代理方法的步骤。
本发明提供的基于Kubernetes的应用认证代理方法及系统,通过能够直接对接IAM系统,方便应用接入Kubernetes云平台,认证代理为接入应用提供了灵活方便的统一认证和鉴权服务,支持高并发场景。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于Kubernetes的应用认证代理方法的流程示意图;
图2是本发明提供的基于Kubernetes的应用认证代理技术架构图;
图3是本发明提供的基于Kubernetes的应用认证代理系统架构图;
图4是本发明提供的基于Kubernetes的应用认证代理认证鉴权流程图;
图5是本发明提供的基于Kubernetes的应用认证代理权限配置同步时序图;
图6是本发明提供的基于Kubernetes的应用认证代理系统的结构示意图;
图7是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对现有技术中存在的不足,本发明提出基于Kubernetes的应用认证代理方法,图1是本发明提供的基于Kubernetes的应用认证代理方法的流程示意图,如图1所示,包括:
确定接入Kubernetes云平台的新应用,由所述新应用的基本信息确定基础权限;
基于基础权限启用认证代理,确定所述新应用的认证权限;
待认证完成,对所述新应用进行鉴权,获得所述新应用的鉴权结果。
具体地,本发明提出的基于Kubernetes的应用认证代理,包括认证代理服务,包括认证服务及权限服务配置信息;还包括Redis集群,用于存储权限配置缓存;还包括Kafka集群,用于同步权限配置;还包括Istio服务网格,用于流量管理;还包括Prometheus集群,用于流量监控。整体架构示意图如图2所示。
当新应用接入Kubernetes云平台后,根据该新应用的基本信息确认其具有的基础权限,并配置该基础权限,然后启用认证代理,进一步确定新应用的认证权限,待认证完成后,再对新应用进行鉴权,获得对应的鉴权结果。本发明所涉及的应用认证代理系统架构如图3所示。
本发明通过将各应用与IAM系统进行解耦,提高了新应用接入云平台的效率,降低了IAM系统升级维护成本,同时为各应用提供统一的身份管理和访问控制,提高了云平台各应用可用性。
基于上述实施例,该方法中步骤S1包括:
由身份识别与访问代理IAM系统管理员获取所述新应用的所述基本信息,所述IAM系统管理员基于所述基本信息配置所述基础权限。
具体地,当新应用接入Kubernetes云平台时,需要由IAM系统管理员录入该应用的基本信息、资源信息等,并配置基础权限。
本发明通过在新应用刚接入Kubernetes云平台时,由IAM系统获取其基础信息,完成应用接入的初始信息获取。
基于上述任一实施例,该方法中步骤S2包括:
确定所述新应用与IAM系统的认证接口,基于预设认证方式获得所述认证权限。
其中,所述确定所述新应用与IAM系统的认证接口,基于预设认证方式获得所述认证权限,包括:
若检测到所述新应用的请求携带令牌,则调用所述IAM系统的令牌认证接口进行令牌校验鉴权;
若检测到所述新应用的请求携带密钥,则调用所述IAM系统的密钥认证接口进行密钥校验鉴权;
若检测到所述新应用的请求携带用户名,则调用所述IAM系统的用户名接口进行用户名密码校验鉴权;
若任一认证模式认证失败,则向用户返回认证失败信息。
具体地,待应用部署完成后,为该应用实例启动一个认证代理,并通过ConfigMap向该认证代理下发IAM系统地址、应用实例地址等基本信息,通过Secret下发应用实例密钥等敏感信息。
此处,ConfigMap是用于保存配置数据的键值对,可以用来保存单个属性,也可以保存配置文件。相对于Secret可以为Pod提供密码、Token、私钥等敏感数据;对于一些非敏感数据,比如应用的配置信息,则可以使用ConfigMap。
使用Golang实现的认证代理服务,主要用于对接IAM系统的认证和鉴权接口,提供密钥认证、用户名密码认证等认证方式。当请求访问认证代理服务时,认证代理服务首先进入认证阶段认证身份,然后进入鉴权阶段校验权限。此处,Golang是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。
如图4所示,在认证阶段,首先需要检测请求是否携带令牌(token),如果携带令牌,则调用IAM相应接口校验令牌,进入鉴权;如果携带密钥(SecretKey),则选用密钥认证,调用IAM相应接口获取令牌,进入鉴权阶段;如果携带用户名,则选用用户名密码认证,调用IAM相应接口获取令牌,进入鉴权阶段。以上认证方式认证失败或未提供任何认证信息,则返回认证失败错误。
本发明提供的认证代理为接入应用提供了灵活方便的统一认证服务,支持高并发场景。
基于上述任一实施例,该方法中步骤S3包括:
从所述新应用中获取请求资源信息,从Redis集群中获取所述请求资源信息中可访问的用户信息和角色配置;
解析认证过程中的令牌,获取所述用户信息和所述角色配置;
基于所述用户信息和所述角色配置,判断所述令牌是否具有访问权限,若判断具有权限,则为请求添加所述令牌并转发到所述新应用,否则返回鉴权失败信息。
具体地,通过认证之后,进入鉴权阶段,在鉴权阶段,首先从请求中提取请求的资源信息,并从Redis集群中查询该资源可访问的用户、角色配置;然后解析令牌,获取当前用户、角色信息。经过比对可判断该令牌是否有权限访问该资源。如果鉴权成功,则为请求添加令牌,并转发到应用实例;如果鉴权失败,则返回鉴权失败错误。图4也示出了鉴权阶段的流程。
本发明提供的认证代理还为接入应用提供了灵活方便的统一鉴权服务,支持高并发场景。
基于上述任一实施例,所述认证代理的权限配置是IAM系统通过kafka集群进行下发,并将所述权限配置存储在Redis集群中;
当所述认证代理启动时,通过所述kafka集群请求权限配置;
当所述IAM系统中权限变更,基于预设维度,通过所述kafka集群将变更的权限实时下发给所述认证代理;
通过所述IAM系统配置Istio服务网格,为所述认证代理提供流量管理,采集所述认证代理的流量数据;
由Prometheus汇总所述流量数据,实现对所述认证代理的流量监控和流量计费。
其中,所述通过所述IAM系统配置Istio服务网格包括流量劫持、弹性伸缩、流量熔断和限流。
具体地,如图5所示,本发明提出的认证代理服务的权限配置是IAM系统通过Kafka集群下发,并存储在Redis集群中。当认证代理服务启动时,会通过Kafka请求权限配置;当IAM系统中权限变更时,以应用、资源、角色等粒度,通过Kafka实时下发给认证代理服务。
IAM系统配置Istio服务网格,为认证代理服务提供流量管理,可选配置包括:
1)流量劫持:所有直接访问应用实例的流量均转发到认证代理;
2)弹性伸缩:结合Kubernetes的HPA,当认证代理服务的请求流量(QPS)超过伸缩配置时,认证代理服务将自动横向扩展;
3)流量熔断:当认证代理服务不可用时,快速相应请求。
4)限流:管理员根据实际硬件配置及服务性能,限制请求流量,保障系统可用性。
此外,使用Istio采集认证代理的流量数据上报给Prometheus,由Prometheus进行汇总,为认证代理的监控及流量计费,提供数据基础。
本发明直接对接IAM系统,方便应用接入Kubernetes云平台。认证代理为接入应用提供了灵活方便的统一认证和鉴权服务,支持高并发场景,并通过Istio服务网格为应用提供流量管理及流量监控,具备高可靠特性。
下面对本发明提供的基于Kubernetes的应用认证代理系统进行描述,下文描述的基于Kubernetes的应用认证代理系统与上文描述的基于Kubernetes的应用认证代理方法可相互对应参照。
图6是本发明提供的基于Kubernetes的应用认证代理系统的结构示意图,如图6所示,包括:确定模块61、认证模块62和鉴权模块63,其中:
确定模块61用于确定接入Kubernetes云平台的新应用,由所述新应用的基本信息确定基础权限;认证模块62用于基于基础权限启用认证代理,确定所述新应用的认证权限;鉴权模块63用于待认证完成,对所述新应用进行鉴权,获得所述新应用的鉴权结果。
本发明通过将各应用与IAM系统进行解耦,提高了新应用接入云平台的效率,降低了IAM系统升级维护成本,同时为各应用提供统一的身份管理和访问控制,提高了云平台各应用可用性。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行基于Kubernetes的应用认证代理方法,该方法包括:确定接入Kubernetes云平台的新应用,由所述新应用的基本信息确定基础权限;基于基础权限启用认证代理,确定所述新应用的认证权限;待认证完成,对所述新应用进行鉴权,获得所述新应用的鉴权结果。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于Kubernetes的应用认证代理方法,该方法包括:确定接入Kubernetes云平台的新应用,由所述新应用的基本信息确定基础权限;基于基础权限启用认证代理,确定所述新应用的认证权限;待认证完成,对所述新应用进行鉴权,获得所述新应用的鉴权结果。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的基于Kubernetes的应用认证代理方法,该方法包括:确定接入Kubernetes云平台的新应用,由所述新应用的基本信息确定基础权限;基于基础权限启用认证代理,确定所述新应用的认证权限;待认证完成,对所述新应用进行鉴权,获得所述新应用的鉴权结果。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.基于Kubernetes的应用认证代理方法,其特征在于,包括:
确定接入Kubernetes云平台的新应用,由所述新应用的基本信息确定基础权限;
基于基础权限启用认证代理,确定所述新应用的认证权限;
待认证完成,对所述新应用进行鉴权,获得所述新应用的鉴权结果;
所述认证代理的权限配置是IAM系统通过kafka集群进行下发,并将所述权限配置存储在Redis集群中;
当所述认证代理启动时,通过所述kafka集群请求权限配置;
当所述IAM系统中权限变更,基于预设维度,通过所述kafka集群将变更的权限实时下发给所述认证代理;
通过所述IAM系统配置Istio服务网格,为所述认证代理提供流量管理,采集所述认证代理的流量数据;
由Prometheus汇总所述流量数据,实现对所述认证代理的流量监控和流量计费。
2.根据权利要求1所述的基于Kubernetes的应用认证代理方法,其特征在于,所述确定接入Kubernetes云平台的新应用,由所述新应用的基本信息确定基础权限,包括:
由身份识别与访问代理IAM系统管理员获取所述新应用的所述基本信息,所述IAM系统管理员基于所述基本信息配置所述基础权限。
3.根据权利要求1所述的基于Kubernetes的应用认证代理方法,其特征在于,所述基于基础权限启用认证代理,确定所述新应用的认证权限,包括:
确定所述新应用与IAM系统的认证接口,基于预设认证方式获得所述认证权限。
4.根据权利要求3所述的基于Kubernetes的应用认证代理方法,其特征在于,所述确定所述新应用与IAM系统的认证接口,基于预设认证方式获得所述认证权限,包括:
若检测到所述新应用的请求携带令牌,则调用所述IAM系统的令牌认证接口进行令牌校验鉴权;
若检测到所述新应用的请求携带密钥,则调用所述IAM系统的密钥认证接口进行密钥校验鉴权;
若检测到所述新应用的请求携带用户名,则调用所述IAM系统的用户名接口进行用户名密码校验鉴权;
若任一认证模式认证失败,则向用户返回认证失败信息。
5.根据权利要求1所述的基于Kubernetes的应用认证代理方法,其特征在于,所述待认证完成,对所述新应用进行鉴权,获得所述新应用的鉴权结果,包括:
从所述新应用中获取请求资源信息,从Redis集群中获取所述请求资源信息中可访问的用户信息和角色配置;
解析认证过程中的令牌,获取所述用户信息和所述角色配置;
基于所述用户信息和所述角色配置,判断所述令牌是否具有访问权限,若判断具有权限,则为请求添加所述令牌,否则返回鉴权失败信息。
6.根据权利要求1所述的基于Kubernetes的应用认证代理方法,其特征在于,所述通过所述IAM系统配置Istio服务网格包括流量劫持、弹性伸缩、流量熔断和限流。
7.基于Kubernetes的应用认证代理系统,其特征在于,包括:
确定模块,用于确定接入Kubernetes云平台的新应用,由所述新应用的基本信息确定基础权限;
认证模块,用于基于基础权限启用认证代理,确定所述新应用的认证权限;
鉴权模块,用于待认证完成,对所述新应用进行鉴权,获得所述新应用的鉴权结果;
所述认证代理的权限配置是IAM系统通过kafka集群进行下发,并将所述权限配置存储在Redis集群中;
当所述认证代理启动时,通过所述kafka集群请求权限配置;
当所述IAM系统中权限变更,基于预设维度,通过所述kafka集群将变更的权限实时下发给所述认证代理;
通过所述IAM系统配置Istio服务网格,为所述认证代理提供流量管理,采集所述认证代理的流量数据;
由Prometheus汇总所述流量数据,实现对所述认证代理的流量监控和流量计费。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述基于Kubernetes的应用认证代理方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述基于Kubernetes的应用认证代理方法的步骤。
CN202110866762.XA 2021-07-29 2021-07-29 基于Kubernetes的应用认证代理方法及系统 Active CN113852596B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110866762.XA CN113852596B (zh) 2021-07-29 2021-07-29 基于Kubernetes的应用认证代理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110866762.XA CN113852596B (zh) 2021-07-29 2021-07-29 基于Kubernetes的应用认证代理方法及系统

Publications (2)

Publication Number Publication Date
CN113852596A CN113852596A (zh) 2021-12-28
CN113852596B true CN113852596B (zh) 2023-07-11

Family

ID=78975253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110866762.XA Active CN113852596B (zh) 2021-07-29 2021-07-29 基于Kubernetes的应用认证代理方法及系统

Country Status (1)

Country Link
CN (1) CN113852596B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114448703B (zh) * 2022-01-29 2023-11-17 北京百度网讯科技有限公司 请求处理方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108921551A (zh) * 2018-06-11 2018-11-30 西安纸贵互联网科技有限公司 基于Kubernetes平台的联盟区块链系统
CN111404923A (zh) * 2020-03-12 2020-07-10 北京金山云网络技术有限公司 容器集群访问权限的控制方法及系统
CN111541656A (zh) * 2020-04-09 2020-08-14 中央电视台 基于融合媒体云平台的身份认证方法及系统
CN111831269A (zh) * 2020-07-21 2020-10-27 腾讯科技(深圳)有限公司 一种应用开发系统、运行方法、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108921551A (zh) * 2018-06-11 2018-11-30 西安纸贵互联网科技有限公司 基于Kubernetes平台的联盟区块链系统
CN111404923A (zh) * 2020-03-12 2020-07-10 北京金山云网络技术有限公司 容器集群访问权限的控制方法及系统
CN111541656A (zh) * 2020-04-09 2020-08-14 中央电视台 基于融合媒体云平台的身份认证方法及系统
CN111831269A (zh) * 2020-07-21 2020-10-27 腾讯科技(深圳)有限公司 一种应用开发系统、运行方法、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Kafka和Kubernetes的云平台监控告警系统;郝鹏海;徐成龙;刘一田;;计算机系统应用(第08期);125-130 *

Also Published As

Publication number Publication date
CN113852596A (zh) 2021-12-28

Similar Documents

Publication Publication Date Title
CN107948203B (zh) 一种容器登录方法、应用服务器、系统及存储介质
TWI628944B (zh) 用於在一行動器件之一嵌入式通用積體電路卡上啟用一電子用戶識別碼模組之方法及相關之非暫時性電腦可讀儲存媒體
US9578015B2 (en) Step-up authentication for single sign-on
CN112597472B (zh) 单点登录方法、装置及存储介质
WO2019036012A1 (en) SINGLE SIGNATURE OF A USER OF AN APPLICATION
CN109033857B (zh) 一种访问数据的方法、装置、设备及可读存储介质
US11647026B2 (en) Automatically executing responsive actions based on a verification of an account lineage chain
US11245577B2 (en) Template-based onboarding of internet-connectible devices
CN107145531B (zh) 分布式文件系统及分布式文件系统的用户管理方法
CN113221093B (zh) 一种基于区块链的单点登录系统、方法、设备和产品
CN112612533B (zh) ARM服务器中基于CentOS的BMC setup选项修改方法
US20230362263A1 (en) Automatically Executing Responsive Actions Upon Detecting an Incomplete Account Lineage Chain
US20200287724A1 (en) Establishment of trusted communication with container-based services
CN113852596B (zh) 基于Kubernetes的应用认证代理方法及系统
CN108234122B (zh) 令牌校验方法和装置
TW201335777A (zh) 分散式資料存取系統及方法
CN112671751B (zh) 一种基于微服务架构的鉴权方法、系统、设备和介质
CN113612865A (zh) 一种云平台ldap域账户管理的方法、装置、设备及可读介质
CN111988279A (zh) 通过sasl认证访问内存缓存服务的方法、系统、设备及介质
CN115733666A (zh) 一种密码管理方法、装置、电子设备及可读存储介质
CN113824554B (zh) 数据在中间件间传输的动态认证方法、装置及计算机介质
CN111814130B (zh) 单点登录方法及系统
CN103067365A (zh) 一种用于虚拟桌面接入的机顶盒、客户端、系统及方法
JP5053756B2 (ja) 証明書検証サーバ、証明書検証方法、および証明書検証プログラム
US20240119133A1 (en) Authorization between integrated cloud products using association

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
GR01 Patent grant
GR01 Patent grant