CN112119374B - 使用替代服务器名称选择性地提供相互传输层安全 - Google Patents
使用替代服务器名称选择性地提供相互传输层安全 Download PDFInfo
- Publication number
- CN112119374B CN112119374B CN201980032676.XA CN201980032676A CN112119374B CN 112119374 B CN112119374 B CN 112119374B CN 201980032676 A CN201980032676 A CN 201980032676A CN 112119374 B CN112119374 B CN 112119374B
- Authority
- CN
- China
- Prior art keywords
- server name
- legacy
- computer
- processor
- pod
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 41
- 230000004044 response Effects 0.000 claims abstract description 32
- 238000003860 storage Methods 0.000 claims description 33
- 230000036541 health Effects 0.000 claims description 28
- 230000008859 change Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 2
- 230000001052 transient effect Effects 0.000 claims description 2
- 238000007689 inspection Methods 0.000 claims 1
- 239000003795 chemical substances by application Substances 0.000 description 64
- 238000010586 diagram Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 244000035744 Hura crepitans Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1036—Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/564—Enhancement of application control based on intercepted application data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2149—Restricted operating environment
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本文中描述了用于使用替代服务器名称来选择性地提供mTLS的技术的示例。示例***包括处理器,该处理器用于响应于检测到遗留指示符而生成替代服务器名称。处理器还将替代服务器名称与网荚的地址相关联。处理器还配置与网荚相关联的代理,以基于替代服务器名称选择性地提供相互传输层安全(mTLS)。
Description
背景技术
本技术涉及相互传输层安全(mTLS)。更具体地,该技术涉及使用替代服务器名称选择性地提供mTLS。
发明内容
根据本文描述的实施方式,一种***可包括处理器,用于响应于检测到遗留(legacy)指示符生成替代服务器名称并将替代服务器名称与网荚(pod)的地址相关联。处理器还可以进一步配置与网荚相关联的代理,以基于替代服务器名称选择性地提供相互传输层安全(mTLS)。
根据本文描述的另一实施例,一种方法可包括经由处理器检测遗留指示符。该方法还可以包括通过处理器修改网荚的统一资源位置(URL)以使用替代服务器名称。该方法还可以包括配置与网荚相关联的代理,以响应于接收到替代服务器名称而禁用相互传输层安全(mTLS)。
根据本文描述的另一实施例,用于选择性地提供相互传输层安全(mTLS)的计算机程序产品可包括具有随其体现的程序代码的计算机可读存储介质。计算机可读存储介质本身不是瞬态信号。所述程序代码可由处理器执行以致使所述处理器监视多个遗留指示符的多个清单。程序代码还可以使处理器在多个清单中的至少一个清单中检测与至少一个遗留客户端相关联的遗留指示符。程序代码还可以使处理器响应于检测到遗留指示符而生成替代服务器名称。程序代码还可以使处理器将替代服务器名称与网荚的地址相关联。程序代码还可以使处理器配置与网荚相关联的代理,以响应于从遗留客户端接收包括替代服务器名称的服务器名称指示符,禁用服务。
附图说明
现在将参考附图仅通过举例来描述本发明的实施例,在附图中:
图1是用于使用替代服务器名称选择性地提供mTLS的示例***的框图;
图2是可以使用替代服务器名称选择性地提供mTLS的示例方法的框图;
图3是可使用替代服务器名称选择性地提供mTLS的示例计算设备的框图;
图4是根据本文描述的实施例的示例云计算环境的过程流程图;
图5是根据在此描述的实施例的示例抽象模型层的过程流程图;并且
图6是可使用替代服务器名称选择性地提供mTLS的实例有形非暂时性计算机可读介质。
具体实施方式
基于微服务的应用可以由使用网络协议交互的多个服务(在此称为微服务)组成。例如,网络协议可以是超文本传输协议(HTTP)、安全超文本传输协议(HTTPS)或基于远程过程调用(RPC)***。在一些实例中,一个微服务***可以采用一个服务网。服务网格可以包括使用中间代理来间接通信的组件。这些代理可以用于简化通信处理,并且还可以改善通信弹性和安全性。只要基于微服务的应用的服务之间的通信使用代理,代理就可以完成任何前提,而不直接影响微服务代码。示例先决条件可以是相互传输层安全(mTLS)握手。如本文中所使用的互TLS或mTLS指的是用于在客户端和服务器之间执行相互认证的技术。例如,服务器可通过向客户端发送证书来开始其自身与客户端的认证。证书可由受信任证书权威机构签名并且包括服务器的名称。名称可以包括通用名称和替代名称。证书108还可以包括公钥。公共密钥可由客户端用来加密随机值,该随机值随后由服务器使用与公共密钥对应的私有密钥作为服务器身份的证明来解密以被发送回客户端。然后,客户端可以通过对从使用与客户端的私钥对应的公钥加密的服务器接收的值执行类似的解密来类似地向服务器认证其自身。
在服务网格环境中,不由代理发起的请求(诸如由遗留客户端作出的请求)也可被截取并重定向到代理。如本文中所使用,术语遗留客户端指代未经配置以使用特定先决条件(例如,mTLS)的客户端。由遗留客户端发起的请求可包括健康检查、对度量的访问、状态、自省和调试数据请求。健康检查可以包括活跃度检查或准备度检查。由于代理可能不知道客户端的身份,所以代理可发起mTLS交换。然而,用于开始客户端的认证的所得客户端证书请求可能是遗留客户端未预期的,且连接可因此终止。在一些示例中,遗留客户端可执行健康检查,诸如活跃度检查或准备度检查。例如,遗留客户端可以用于检查网荚中的应用实例的活跃度或准备度。如本文中所使用的,活跃性是指应用实例是否活跃。例如,如果活跃度检查检测到应用实例停机,则协调器可以重启应用实例。如本文所使用的协调器指容器管理工具,其使容器化基础设施的供应自动化并且为容器用来创建的服务提供负载平衡。如本文所使用的,就绪是指应用实例是否准备好服务流量。例如,应用实例可以是活动的,但由于一个或多个依赖性未准备就绪,所以未准备好服务流量。如本文所使用的,网荚指的是可能在容器化环境中运行的一组一个或多个进程,其具有共享存储和网络以及如何运行一个或多个容器的规范。因此,容器可以用于对应用程序特定的逻辑主机进行建模。例如,网荚中的一个或多个容器可以共享IP地址和端口空间,并且可以经由本地主机找到彼此。每个网荚可被分配单独的IP地址以使得应用实例能够在没有冲突的情况下使用端口。网荚可用于定义卷,例如本地磁盘目录或网络磁盘,并将卷暴露给网荚中的一个或多个容器。网荚内的应用可以访问共享卷,所述共享卷可以被定义为网荚的一部分并且可用于安装到每个应用的文件***中。池可以经由协调器或者经由诸如准入控制器的控制器手动地管理。
根据本公开的实施例,***可使用替代服务器名称来选择性地提供mTLS。该***可以包括替代名称生成器,用于响应于检测到遗留客户端生成替代服务器名称,并且将该替代服务器名称与网荚的地址相关联。所述***还可以包括代理配置器,用于响应于接收到包括所述替代服务器名称的服务器名称指示符,配置与所述容器相关联的代理,以禁用服务。
由此,本文中描述的技术可以使得遗留客户端能够被部署在使用mTLS的服务网格***中。此外,本文中所描述的技术对应用程序实例是透明的,且不需要应用程序或客户端中的任何代码改变。这些技术可用于将mTLS和非mTLS客户端分离到不同的逻辑服务器中,而不影响或改变客户端代码。
在一些场景中,本文描述的技术可以在云计算环境中实现。如下文至少参见图3-5更详细论述,经配置以使用替代服务器名称选择性地提供mTLS的计算装置可在云计算环境中实施。预先理解的是,虽然本公开可以包括关于云计算的描述,但是本文所引用的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其他类型的计算环境来实现。
云计算是一种服务递送模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便、按需的网络访问,所述可配置计算资源可以用最小的管理努力或与服务提供者的交互来快速配置和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可按需自动地单方面供应计算能力,诸如服务器时间和网络存储,而无需与服务的提供者的人类交互。
广泛的网络接入:能力在网络上是可用的并且通过标准机制来访问,所述标准机制促进由异构的瘦或厚客户端平台(例如,移动电话、膝上型计算机和PDA)的使用。
资源池化:提供者的计算资源被池化以使用多租户模型服务于多个消费者,其中不同的物理和虚拟资源根据需要被动态地指派和重新指派。存在位置独立性的意义,因为消费者通常对所提供资源的确切位置不具有控制或知识,但可能能够在较高抽象层级(例如,国家、州或数据中心)处指定位置。
快速弹性:可以快速且弹性地提供能力(在一些情况下,自动地)以快速缩小并且快速释放以快速放大。对于消费者,可用于供应的能力通常显得不受限制,并且可以在任何时间以任何数量购买。
可测量的服务:云***通过利用适于服务类型(例如,存储、处理、带宽和活动用户账户)的某种抽象级别的计量能力来自动控制和优化资源使用。资源使用可以被监控、控制和报告,从而为所利用的服务的提供者和消费者两者提供透明度。
业务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。应用可通过诸如web浏览器(例如,基于web的电子邮件)的瘦客户端接口从不同客户端设备访问。消费者不管理或控制包括网络、服务器、操作***、存储或甚至个体应用能力的底层云基础结构,可能的例外是有限的用户特定的应用配置设置。
平台即服务(PaaS):向消费者提供的能力是在云基础结构上部署消费者创建或获取的应用,所述应用是使用提供者所支持的编程语言和工具来创建的。消费者不管理或控制包括网络、服务器、操作***或存储的底层云基础结构,但是具有对所部署的应用以及可能的应用托管环境配置的控制。
基础设施即服务(IaaS):提供给消费者的能力是提供消费者能够部署和运行可包括操作***和应用的任意软件的处理、存储、网络和其他基本计算资源。消费者不管理或控制底层云基础结构,而是具有对操作***、存储、所部署的应用的控制,以及对所选联网组件(例如,主机防火墙)的可能有限的控制。
部署模型如下:
私有云:云基础结构仅为组织操作。它可由组织或第三方管理,并且可存在于场所内或场所外。
社区云:云基础结构由若干组织共享并且支持具有共享的关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可由组织或第三方管理,并且可存在于场所内或场所外。
公共云:使云基础结构对公众或大型产业组可用并且由销售云服务的组织拥有。
混合云:云基础架构是两个或更多个云(私有、社区或公共的)的组成,这些云保持唯一实体但通过标准化或专有技术来绑定在一起,这些技术实现数据和应用便携性(例如,用于云之间的负载平衡的云突发)。
云计算环境是面向服务的,关注于状态、低耦合、模块性和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
现在参见图1,框图示出了用于使用替代服务器名称来选择性地提供mTLS的示例***。该示例***总体上由参考号100指代。例如,***100可以是服务网格***。图1的***100包括通信地耦合到协调器104的客户端102。例如,客户端可以是用户、程序或自动代理,诸如自动部署流水线。如本文所使用的编排器是指工作负荷调度或编排***。***100还包括通信地耦合到协调器104的注册代理106。***100包括可以由注册代理106向一个服务注册表110注册的一个替代名称注册(HC-APPB)108。注册代理106相应地还通信性地连接至服务注册表110。服务注册表110进一步通信性地连接至一个第一应用程序实例112。第一应用实例112通信地耦合到对应的第一侧车(sidecar)代理114。如本文所使用的,侧车代理指的是与特定应用实例相关联的代理,用于为应用实例提供服务网格的一个或多个服务。第一侧车代理114通信地耦合到第二侧车代理116。服务注册表110和第二侧车代理116使用传输层安全(TLS)通信地耦合到代理118。如本文所使用的,TLS指的是客户端认证与其通信的服务器的技术。例如,代理118可以属于协调器并且可以确保被调度到特定端点或节点的工作负载是健康的。例如,代理可通过查验其健康端点来检查正在运行的不同应用实例和服务的健康。代理118可以是不被配置成执行mTLS的遗留客户端。第二侧车代理116进一步通信地耦合到对应于第二侧车代理116的第二应用实例120。在一些示例中,侧车代理114和116可以被配置为执行mTLS。侧车代理114和116可以一起形成服务网格。副车代理114和116可因此分别被委派应用实例112和120的一个或多个功能。例如,除了诸如报告和记录的其他功能之外,侧车代理114和116可以确定如何加载平衡请求、如何处理故障、如何以一致的方式暴露关于请求的度量。侧车代理114和116包括相应的端点122和124。例如,端点122和124可以是HTTP或HTTPS端点。端点122和124中的每一个可以具有一个或多个名称或身份。每个端点122或124可以具有与不同目的相关联的多个标识。例如,名称可以与活跃度检查相关联,而另一名称可以与准备度检查相关联。如下文更详细描述,名称中的一者可为可用于在健康检查期间绕过mTLS的替代服务器名称。端点122和124还可以具有用于认证的证书形式的名称或标识的证明。
在图1的实例中,客户端102可向协调器104发送请求,以使第二应用实例120如箭头126所示部署。在一些实例中,所述请求可为清单的形式。如本文中所使用,清单为可指定名称、待打开的端口、待使用的标签、待执行的应用程序图像和待执行的实例的数目以及其他信息的文件。清单可以由协调器104用来调度、运行和管理应用的一个或多个实例。用户可以针对要管理的每个工作负荷配置清单。在一些实例中,清单还可包含关于如何执行工作负荷的健康检查的信息。例如,清单可以指定根据以下图2的示例方法使用替代服务器名称来执行活跃度检查和准备度检查。协调器104可向注册代理106发送一组部署通知,如箭头128所示。注册代理106可将对应于第二应用实例120的健康检查(HC)的替代服务器名称108发送到服务注册表110,如箭头130和132所示。例如,注册代理106可以生成替代服务器名称,并基于指定要为特定服务注册的替代服务器名称的清单来注册替代服务器名称。在图1的实例中,为第二应用实例120的健康检查生成的替代服务器名称是HC-APPB。在一些示例中,注册代理106可以响应于来自扩展挂钩的请求而执行替代名称注册130。例如,扩展钩子可以是准入控制器、扩展API或控制循环。
仍参见图1,第一应用实例112可向服务注册表110发送对应于应用实例120的服务器名称APPB,如箭头134所示。第一应用实例112然后可接收作为响应的IP地址IPB。第一侧车代理114可发送对具有第二应用实例120的名称APPB的服务器的IP地址的请求,如箭头138所示。然后,第一侧车代理114可接收IP地址作为响应,如箭头140所示。然后,侧车代理114可使用IP地址IPB与第二侧车代理116通信。例如,IP地址可对应于与第二应用实例120相关联的第二侧车116的端点124。侧车代理114可发送APPB的服务器名称指示(SNI)消息以向第二侧车116指示使用mTLS的正常通信将在第一侧车代理114与第二侧车代理116之间发生。如本文所使用的,SNI是TLS计算机联网协议的扩展,客户端通过该协议指示在握手过程开始时它正尝试连接到哪个主机名。使用SNI允许服务器在相同的IP地址和TCP端口号上呈现多个证书,并且因此允许多个安全(HTTPS)网站(或通过TLS的任何其他服务)由相同的IP地址服务,而不需要所有那些站点使用相同的证书。因此,当第二侧车代理116接收APPB的SNI时,第二侧车代理116可被配置为与第一侧车代理114执行相互TLS认证。例如,第二侧车代理116可使用对应于特定SNI的证书。
相反,代理118和第二侧车代理116之间的通信可以不使用mTLS。代理118可替代地使用TLS来对第二应用实例120执行健康检查。在一些示例中,健康检查可以是用于确定是否要重启应用实例的活跃度检查。例如,应用实例可能处于死锁中,其中应用实例正在运行但不能够进行进展并因此重启。在一些示例中,应用实例可能不在运行并且因此被重启。健康检查还可以是用于确定应用实例是否准备好服务于工作负荷的准备好检查。由此,代理118可发送对第二应用实例120的IP的请求,并接收相关联的IP地址,如由双端箭头144所指示。例如,代理可以调用服务注册表110来解析名称HC-APPB并且作为响应接收一个IP地址IPB。代理118可接着发送HC-APPB的SNI消息以指示mTLS不用于与第二侧车代理116通信,如箭头146所指示。例如,替代名称可能已被指定为清单的部署YAML描述符中的健康检查端点。SNI消息可以以明文形式发送。响应于接收到HC-APPB的SNI,第二侧车代理116可以被配置为仅执行TLS认证,而不是与代理118的mTLS认证。在一些示例中,第二副车116可以使用TLS与代理118进行认证并向代理118提供活跃度状态或准备状态。由此,可以不向代理118发送客户端证书请求,并且可以避免掉线的连接。
应当理解,图1的框图不旨在指示***100将包括图1中所示的所有组件。相反,***100可包括更少或更多的在图1中未示出的组件(例如,附加的客户机设备、应用、应用实例、代理、代理、注册表、检查的类型等)。例如,协调器可以替代地调出准入控制器(未示出),所述准入控制器可以用于在适当时重写部署描述符并且用替代名称改变原始名称。例如,准入控制器可以用来将名称改变为网荚中的活跃度探针或准备度探针的替代名称。准入控制器可以在对象的持久化之前但在请求被认证和授权之后截取对协调器的API服务器的请求。准入控制器然后可以检查接收到的清单。准入控制器可以检测清单中的一个或多个服务,诸如健康检查。准入控制器然后可以改变与健康检查相关联的URL以使用替代的服务器名称。例如,准入控制器可以调用与请求匹配的一个或多个准入控制网钩。如本文所用,网钩(webhook)是指任何回调或呼出机制,诸如用户定义的超文本传输协议(HTTP)回调。在一些实例中,扩展API(未示出)可用于调用网络挂钩。网钩可以用于重写清单中的部署描述符以将原始名称改变为活跃度探测和准备度探测的替代名称。准入控制器然后可以将更新的部署描述符返回到协调器以创建具有与替代服务器名称相关联的健康检查端点的容器。在一些实例中,清单可离线修改。例如,在清单被发送到协调器104之前,清单可被检查并且可替换的服务器名称被注入到清单中。在一些示例中,控制循环(未示出)可以是监视感兴趣的对象中的变化通知并响应于检测到变化通知而重写对象的程序。例如,控制循环可以通过协调器的应用编程接口(API)服务器监视集群的共享状态,并且做出尝试将当前状态移向期望状态的改变。API服务器可以提供改变的通知,诸如由协调器管理的不同对象的创建和删除。不同于可由协调器调用的准入控制器,控制循环可以是反应性的并且处理事件作为通知。
图2是可以使用替代服务器名称选择性地提供mTLS的示例方法的过程流程图。方法200可用任何合适的计算设备(诸如图3的计算设备300)来实现并参见图1的***100来描述。例如,以下描述的方法可由图3的计算设备300的处理器302来实现。
在框202,检测遗留指示符。如本文所使用的,遗留指示符是指特定连接不使用mTLS的指示符。在一些示例中,遗留指示符可以采取部署清单中的特定属性的形式。例如,清单可以指定要部署的工作负荷中的一个或多个。工作负载可包括可由应用实例或服务部署的任何服务,包括到更复杂、分布式、后端办公室处理***的web应用。在一些示例中,可以在应用的部署期间检测遗留指示符。在一些示例中,部署可以包括不同的对象类型,包括例如“复制集”、“部署”、“池”等。如前所述,荚体对象可以是执行某种功能的一个或多个容器。在一些示例中,可以直接创建容器。ReplicaSet对象可以用于动态地设置集群中运行的多个荚果。例如,可以基于共享的规范(例如,要运行的映像、配置、打开的端口等)来设置容器的数量。协调器可用于确保对象实例正在运行并且处理任何故障。部署对象可以用于添加更多功能。例如,部署对象可以用于实现滚动更新等。例如,遗留指示符可以在网荚的部署期间由准入控制器检测。在一些示例中,遗留指示符可以经由扩展应用编程接口(API)来检测。例如,准入控制器可以用于调用网络挂钩并且将清单发送到网络挂钩以检查和重写清单,如下所述。在一些示例中,可以经由控制循环来检测遗留指示符。例如,控制循环可以订阅改变通知,并且响应于检测到新工作负荷,控制循环可以基于检测到的遗留指示符修改新工作负荷的部署描述符,以匹配使用替代服务器名称的期望状态。在一些示例中,遗留指示符可以采取提供容器身份和相应的遗留URL的显式全局部署配置中的URL的形式。例如,容器身份可包括图像名称和标签。在一些示例中,遗留指示符可以采取在标签或注释中显式添加的因荚而异的元数据的形式。在一些示例中,可以通过在沙箱环境(sandboxenvironment)中运行部署的图像并且测试包括遗留指示符的特定URL模式的存在来检测遗留指示符。在一些示例中,可以通过分析用于遗留微服务的可用API规范来检测遗留指示符。在这种情况下,遗留指示符可以采用指定的特定遗留微服务的形式。
在方框204,修改网荚的统一资源定位符(URL)以使用替代服务器名称。例如,准入控制器可以用来将网荚的URL改变为接收到的清单中的可替换服务器名称。准入控制器可以调用准入网钩并且发送清单以被重新配置。准入控制器可以使用诸如健康检查的服务的替代名称来接收具有更新的URL的清单。在一些示例中,替代服务器名称到网荚的映射可存储在服务注册表中。在一些实例中,容器集合可以分组到具有可解析DNS名称的服务中。当经由遗留指示符检测到使用非mTLS连接的荚果时,***可创建到相同荚果集合的替代名称映射。例如,可以使用替代名称的任何任意名称。在一些示例中,可以使用具有不同DNS解析范围的服务名。例如,可创建健康检查命名空间,并且可在健康检查命名空间下创建具有对原始服务端点的显式引用的替代名称。在一些示例中,专用DNS服务器可被配置成解析专门格式化的替换名称,诸如健康检查<原始_服务_名称>(<original_service_name>)或非mt1s(no-mtls)<原始_服务_名称>,其中,<原始_服务_名称>是用专门格式化的替换名称替换的服务的原始名称。由此,如上所述,URL可被自动地重写并呈现在清单中,从而实现完全透明的***修改而无需任何用户参与。
在块206,与网荚相关联的代理被配置为响应于接收到替代服务器名称而禁用相互传输层安全(mTLS)。例如,代理可以是侧车代理。代理可被配置为向一些服务器名称提供mTLS,但响应于接收到包括替代服务器名称的SNI而禁用mTLS并改为使用TLS。由此,代理可取决于所接收的服务器名称而针对应用实例执行不同支持服务。例如,遗留客户端因此可能使用替代服务器名称来执行健康检查。例如,健康检查可以是活跃度检查或准备度检查。遗留客户端可以将替代服务器名称发送到代理,该代理被配置为响应于接收替代服务器名称而提供TLS。例如,遗留客户端可将包括替代服务器名称的服务器名称指示符发送到代理。
图2的过程流程图不旨在指示方法200的操作要以任何特定顺序执行,或者方法200的所有操作要包括在每种情况中。另外,方法200可以包括任何适当数量的附加操作。例如,可以使用其他形式的遗留指示符。此外,在一些示例中,代理可被配置成将不同的非标准端口号用于非mTLS连接,留下标准端口以供mTLS连接使用。代理可以创建不同的***,并且可以为每个端口请求单独的处理流水线。另外,尽管URL的修改以包括替代名称在上文中被描述为在没有任何用户输入的情况下自动执行,但是在一些示例中,***可以替代地将替代名称展示为允许用户配置其他***以使用替代名称的属性。例如,其他***可以是集中式监视***。此外,在一些实例中,替代名称可以用于自动地重新配置其他***部件。例如,如果原始服务名称通过入口资源暴露,则***可创建将健康检查URL映射到替代服务名称的附加入口定义。可使入口资源特定于健康检查URL和原始服务名称,仅改变映射至替代内部服务名称的URLS,同时保持其他URLS映射至原始内部服务名称。
图3是可使用替代服务器名称来选择性地提供mTLS的示例计算设备的框图。计算设备300可以是例如服务器、台式计算机、膝上型计算机、平板计算机或智能电话。在一些示例中,计算设备300可以是云计算节点。计算设备300可以在由计算机***执行的计算机***可执行指令(诸如程序模块)的一般上下文中描述。一般而言,程序模块可包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算设备300可在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备来执行。在分布式云计算环境中,程序模块可位于包括存储器存储设备的本地和远程计算机***存储介质两者中。
计算设备300可以包括用于执行所存储的指令的处理器302、用于在操作期间为所述指令的操作提供临时存储器空间的存储器设备304。该处理器可以是单核处理器、多核处理器、计算群集、或任何数量的其他配置。存储器304可包括随机存取存储器(RAM)、只读存储器、闪存或任何其他合适的存储器***。
处理器302可以通过***互连306(例如,等)连接至输入/输出(I/O)设备接口308,该输入/输出(I/O)设备接口308被适配成用于将计算设备300连接至一个或多个I/O设备310。I/O设备310可以包括例如键盘和定点设备,其中定点设备可以包括触摸板或触摸屏等等。I/O设备310可以是计算设备300的内置组件,或者可以是外部连接到计算设备300的设备。
处理器302还可以通过***互连306链接到适于将计算设备300连接到显示设备314的显示接口312。显示设备314可包括作为计算设备300的内置组件的显示屏。显示设备314还可包括外部连接到计算设备300的计算机监视器、电视机或投影仪等。此外,网络接口控制器(NIC)316可适于通过***互连306将计算设备300连接到网络318。在一些实施例中,NIC316可以使用任何合适的接口或协议(诸如互联网小型计算机***接口等)来传输数据。网络318可以是蜂窝网络、无线电网络、广域网(WAN)、局域网(LAN)或互联网等。外部计算设备320可以通过网络318连接到计算设备300。在一些示例中,外部计算设备320可以是外部web服务器320。在一些示例中,外部计算设备320可以是云计算节点。
处理器302还可以通过***互连306链接到存储设备322,存储设备322可以包括硬盘驱动器、光盘驱动器、USB闪存驱动器、驱动器阵列或其任何组合。在一些示例中,存储设备可以包括指示符检测器模块324、替代名称生成器模块326和代理配置器模块328。指示符检测器模块324可以检测遗留指示符。例如,指示符检测器模块324可以接收清单并检测清单中的旧有指示符。如上所述,遗留指示符可以是清单中的特定属性、荚特定元数据、通过运行部署的图像生成的特定URL模式、或应用编程接口(API)规范中的遗留微服务。遗留指示符可以指示遗留客户端的潜在接入。例如,遗留客户端可以是使用传输层安全(TLS)来执行健康检查的代理,或任何其他服务。替代名称生成器模块326可以响应于检测到遗留客户端而生成替代服务器名称。替代名称生成器模块326还可以将替代服务器名称与网荚的地址相关联。例如,网荚可包括侧车代理的端点。在一些实例中,替代名称生成器模块326可以基于替代服务器名称修改网荚的URL。替代名称生成器模块326可以经由准入控制器、扩展API或控制循环来实现。代理配置器模块328可以配置与网荚相关联的代理,以基于替代服务器名称选择性地提供服务。例如,配置器模块328可以配置与网荚相关联的代理,以便响应于接收到包括替代服务器名称的服务器名称指示符,选择性地禁用服务。作为一个示例,禁用的服务可以是mTLS。处理器302可使用所配置的代理来传送应用实例或服务的数据。在一些示例中,处理器302可使用配置的代理为应用实例提供服务。例如,处理器可使用配置的代理来提供认证服务,诸如mTLS或TLS服务。
应当理解,图3的框图不旨在指示计算设备300将包括图3所示的所有组件。而是,计算设备300可以包括更少或者图3中未示出的附加组件(例如,附加存储器组件、嵌入式控制器、模块、附加网络接口等)。此外,指示符检测器模块324、替代名称生成器模块326和代理配置器模块328的功能中的任何功能可以部分地或完全地在硬件中和/或在处理器302中实现。例如,该功能性可用专用集成电路、在嵌入式控制器中实现的逻辑、或在处理器302中实现的逻辑等来实现。在一些实施例中,指示符检测器模块324、替代名称生成器模块326的功能,并且代理配置器模块328可以用逻辑来实现,其中,该逻辑如本文所提及的,可包括任何合适的硬件(例如,处理器等)、软件(例如,应用等),固件,或硬件、软件和固件的任何合适的组合。作为一个示例,指示符检测器模块324、替代名称生成器模块326和代理配置器模块328的功能性可以在扩展钩子中实现。例如,扩展钩子可以是准入控制器、扩展API服务器或控制循环。准入控制器可以在产生网荚之前检查和修改清单。例如,准入控制器可以调用与请求匹配的一个或多个准入控制网钩。网钩可以重写清单中的部署描述符以将原始名称改变为活跃度探测和准备度探测的替换名称。扩展API服务器可以调用准入钩子。例如,扩展API服务器可以接收工作负荷,利用所接收的工作负荷来调用扩展点,以及使用替代服务器名称来接收包括至少一个统一资源定位符(URL)的经修改的部署描述符。控制循环可以通过协调器的API服务器监视集群的共享状态并且做出尝试将当前状态移向期望状态的改变。例如,控制循环可订阅改变通知,并且响应于检测到新工作负荷,修改新工作负荷的部署描述符以匹配使用替代服务器名称的期望状态。
现在参见图4,描绘了说明性云计算环境400。如所示出的,云计算环境400包括一个或多个云计算节点402,云消费者所使用的本地计算设备(诸如例如个人数字助理(PDA)或蜂窝电话404A、台式计算机404B、膝上型计算机404C和/或汽车计算机***404N)可与云计算节点402通信。节点402可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境400提供基础结构、平台和/或软件作为云消费者不需要维护本地计算设备上的资源的服务。应当理解,图4所示的计算设备404A-N的类型仅旨在是说明性的,并且计算节点402和云计算环境400可通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化设备通信。
现在参见图5,示出了由云计算环境400(图4)提供的一组功能抽象层。应预先理解,图5中所示的部件、层和功能旨在仅是说明性的,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能。
硬件和软件层500包括硬件和软件组件。硬件组件的示例包括大型机,在一个示例中为***;基于RISC(精简指令集计算机)架构的服务器,在一个示例中为IBM***;IBM/>***;IBM/>***;存储设备;网络和联网组件。软件组件的示例包括网络应用服务器软件,在一个示例中,IBM/>应用服务器软件;以及数据库软件,在一个示例中,IBM/>数据库软件。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere和DB2是国际商业机器公司在全世界许多管辖区域注册的商标)。
虚拟化层502提供抽象层,从所述抽象层可以提供虚拟实体的以下示例:虚拟服务器;虚拟存储;虚拟网络,包括虚拟专用网络;虚拟应用和操作***;以及虚拟客户端。在一个示例中,管理层504可以提供下面描述的功能。资源供应提供用于在云计算环境内执行任务的计算资源和其他资源的动态获取。计量和定价在云计算环境内利用资源时提供成本跟踪,并针对这些资源的消费进行计费或***。在一个示例中,这些资源可以包括应用软件许可证。安全(未示出)为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户为消费者和***管理员提供对云计算环境的访问。服务级别管理提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(SLA)计划和履行(未示出)为根据SLA预期未来要求的云计算资源提供预安排和采购。服务网格提供诸如路由、安全性和度量的基础设施服务。
工作负载层506提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:映射和导航;软件开发和生命周期管理;虚拟教室教育交付;数据分析处理;交易处理;以及移动桌面。
本技术可以是***、方法或计算机程序产品。所述计算机程序产品可包含上面具有计算机可读程序指令的计算机可读存储媒体(或媒体),所述计算机可读程序指令用于致使处理器执行本发明的方面。
计算机可读存储介质可以是可以保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适的组合。计算机可读存储介质的更具体例子的非穷举列表包括以下:便携式计算机盘,硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存),静态随机存取存储器(SRAM)、便携式致密盘只读存储器(CD-ROM),数字通用盘(DVD)、记忆棒、软盘、机械编码设备(诸如穿孔卡片)或具有记录在其上的指令的凹槽中的凸起结构),以及上述的任意合适的组合。如本文中所使用的计算机可读存储介质不应被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或经由网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本技术的操作的计算机可读程序指令可以是汇编指令,指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任何组合编写的代码或目标代码,包括面向对象的Smalltalk、C++等编程语言,以及常规的过程式编程语言,例如“C”编程语言或类似的编程语言。计算机可读程序指令可完全在用户”的计算机上执行、部分在用户”的计算机上执行、作为独立软件包执行、部分在用户”的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,电子电路(包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA))可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本技术的各方面。
在此参照根据本技术的实施例的方法、装置(***)和计算机程序产品的流程图图示和/或框图来描述本技术的各方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机的处理器,专用计算机或其他可编程数据处理装置,以产生机器,其通过计算机或其他可编程数据处理装置的处理器执行,创建用于实现在流程图和/或方框图的一个或多个方框中指定的功能/动作的装置。这些计算机可读程序指令还可存储在可指导计算机的计算机可读存储介质中,可编程数据处理装置,和/或以特定方式起作用的其他设备,使得具有存储在其中的指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各方面的指令。
计算机可读程序指令还可以加载到计算机、其他可编程数据处理装置上,或使得在计算机上执行一系列操作步骤的其他装置,其他可编程装置或其他设备,以产生计算机实现的过程,使得在计算机上执行的指令,其他可编程装置或其他设备实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
现在参见图6,描绘了可使用替代服务器名称来选择性地提供mTLS的示例有形、非瞬态计算机可读介质600的框图。有形非暂态计算机可读介质600可由处理器602通过计算机互连604来访问。此外,有形、非暂态计算机可读介质600可包括用于指示处理器602执行以上图2的方法200的操作的代码。
本文所讨论的不同软件组件可以存储在有形、非暂态计算机可读介质600上,如图6所示。例如,指示符检测器模块606包括用于监测遗留指示符的清单的代码。指示符检测器模块606还包括用于检测清单中与遗留客户端相关联的遗留指示符的代码。在一些示例中,指示符检测器模块606还可以包括用于在生成网荚之前检查和修改清单的代码。在一些示例中,指示符检测器模块606还可以包括用于在应用的部署期间检测遗留指示符的代码。替代名称生成器模块608包括用于响应于检测到遗留指示符而生成替代服务器名称的代码。替代名称生成器模块608还包括用于将替代服务器名称与网荚的地址相关联的代码。在一些示例中,替代名称生成器模块608还包括用于在服务注册表中存储替代服务器名称到网荚的映射的代码。代理配置器模块610包括代码,用于响应于从遗留客户端接收包括替代服务器名称的服务器名称指示符,配置与容器相关联的代理,以禁用服务。例如,代理配置器模块610可以包括用于响应于从遗留客户端接收包括替代服务器名称的服务器名称指示符,将代理配置为禁用相互传输层安全(mTLS)的代码。在一些示例中,代理配置器模块610可以包括用于响应于从遗留客户端接收包括替代服务器名称的服务器名称指示符,将代理配置为提供替代服务的代码。例如,代理配置器模块610可以包括用于响应于从遗留客户端接收包括替代服务器名称的服务器名称指示符,将代理配置为提供TLS的代码。在一些实例中,遗留客户端可使用替代服务器名称对与代理相关联的应用程序实例执行健康检查。例如,健康检查可以是活跃度检查或准备度检查。应理解,取决于特定应用,有形、非暂时性计算机可读媒体600内可包含图6中未示出的任何数目的额外软件组件。
附图中的流程图和框图示出了根据本技术的不同实施例的***、方法和计算机程序产品的可能实现的架构、功能和操作。对此,流程图或框图中的每个方框可以代表模块、段或指令的一部分,其包括用于实现规定的逻辑功能的一个或多个可执行指令。在一些替代实现方式中,框中所标注的功能可以不以图中所标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合可以由基于专用硬件的***来实现,所述基于专用硬件的***执行指定的功能或动作或执行专用硬件与计算机指令的组合。应当理解,取决于具体应用,可以在有形、非暂态计算机可读介质600内包括图6中未示出的任何数量的附加软件组件。
出于说明的目的已经呈现了本技术的不同实施例的描述,但是并不旨在是穷尽性的或局限于所披露的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域的普通技术人员而言将是显而易见的。选择在此使用的术语以最佳地解释实施例的原理、实际应用或在市场上找到的技术上的技术改进,或使得本领域普通技术人员能够理解在此披露的实施例。
Claims (20)
1.一种***,包括处理器,所述处理器用于:
响应于检测到遗留指示符而生成替代服务器名称,并且将所述替代服务器名称与网荚的地址相关联;并且
配置与所述网荚相关联的代理,以基于所述替代服务器名称选择性地提供相互传输层安全(mTLS)。
2.如权利要求1所述的***,其中,所述***包括准入控制器,所述准入控制器用于在生成所述网荚之前检查和修改清单。
3.如权利要求1所述的***,其中,所述***包括扩展应用编程接口(API)服务器,所述扩展API服务器用于接收工作负荷、利用所接收的工作负荷来调用扩展点、以及使用所述替代服务器名称来接收经修改的部署描述符,所述经修改的部署描述符包括至少一个统一资源定位符(URL)。
4.如权利要求1所述的***,其中,所述***包括控制循环,所述控制循环用于订阅以改变通知,并且响应于检测到新工作负荷,修改所述新工作负荷的部署描述符以匹配使用所述替代服务器名称的期望状态。
5.如权利要求1所述的***,其中,所述遗留指示符包括清单中的特定属性、网荚特定元数据、通过运行部署的图像而生成的特定URL模式、或应用编程接口(API)规范中的遗留微服务。
6.如权利要求1所述的***,其中,与所检测到的遗留客户端访问相关联的遗留客户端包括使用传输层安全(TLS)来执行健康检查的代理。
7.如权利要求1所述的***,其中所述处理器使用所述配置的代理为所述网荚中的应用实例提供服务。
8.一种计算机实现的方法,包括:
经由处理器检测遗留指示符;
通过所述处理器修改网荚的统一资源位置(URL)以使用替代服务器名称;并且
配置与所述网荚相关联的代理以响应于接收到所述替代服务器名称而禁用相互传输层安全(mTLS)。
9.如权利要求8所述的计算机实现的方法,其中检测该遗留指示符包括接收清单并且将该清单发送到网钩以供检查。
10.如权利要求8所述的计算机实现的方法,其中,检测所述遗留指示符包括订阅以检测包括所述遗留指示符的新工作负荷的变化通知。
11.如权利要求8所述的计算机实现的方法,其中检测该遗留指示符包括在沙箱环境中运行部署的映像,并且测试包括该遗留指示符的特定URL模式的存在。
12.如权利要求8所述的计算机实现的方法,其中修改所述URL包括经由网钩重写清单。
13.如权利要求8所述的计算机实现的方法,包括暴露所述替代服务器名称作为属性以配置其他***使用所述替代服务器名称。
14.如权利要求8所述的计算机实现的方法,包括使用所述替代服务器名称来自动重新配置另一***组件。
15.一种用于选择性地提供相互传输层安全(mTLS)的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有随其体现的程序代码,其中,所述计算机可读存储介质本身不是瞬态信号,所述程序代码可由处理器执行以使所述处理器:
监视多个遗留指示符的多个清单;
检测与所述多个清单中的至少一个清单中的至少一个遗留客户端相关联的遗留指示符;
响应于检测到所述遗留指示符,生成替代服务器名称;
将所述替代服务器名称与网荚的地址相关联;以及
响应于从遗留客户端接收包括所述替代服务器名称的服务器名称指示符,配置与所述网荚相关联的代理以禁用服务。
16.如权利要求15所述的计算机程序产品,还包括可由所述处理器执行的、以在生成所述网荚之前检查和修改清单的程序代码。
17.如权利要求15所述的计算机程序产品,进一步包括可由该处理器执行的、以在应用的部署期间检测该遗留指示符的程序代码。
18.如权利要求15所述的计算机程序产品,还包括可由所述处理器执行的、以将所述替代服务器名称到所述网荚的映射存储在服务注册表中的程序代码。
19.如权利要求15所述的计算机程序产品,还包括程序代码,所述程序代码可由所述处理器执行,以响应于从所述遗留客户端接收包括所述替代服务器名称的所述服务器名称指示符,配置所述代理以提供传输层安全(TLS)。
20.如权利要求15的计算机程序产品,进一步包括可由该处理器执行的、以响应于接收到包括该替代服务器名称的该服务器名称指示符而配置该代理以禁用相互传输层安全(mTLS)的程序代码。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/984,423 US10841336B2 (en) | 2018-05-21 | 2018-05-21 | Selectively providing mutual transport layer security using alternative server names |
US15/984,423 | 2018-05-21 | ||
PCT/IB2019/053833 WO2019224645A1 (en) | 2018-05-21 | 2019-05-09 | Selectively providing mutual transport layer security using alternative server names |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112119374A CN112119374A (zh) | 2020-12-22 |
CN112119374B true CN112119374B (zh) | 2024-02-27 |
Family
ID=68533213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980032676.XA Active CN112119374B (zh) | 2018-05-21 | 2019-05-09 | 使用替代服务器名称选择性地提供相互传输层安全 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10841336B2 (zh) |
JP (1) | JP7203444B2 (zh) |
CN (1) | CN112119374B (zh) |
DE (1) | DE112019001481T5 (zh) |
GB (1) | GB2586767B (zh) |
WO (1) | WO2019224645A1 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10812337B2 (en) | 2018-06-15 | 2020-10-20 | Vmware, Inc. | Hierarchical API for a SDDC |
US10942788B2 (en) | 2018-06-15 | 2021-03-09 | Vmware, Inc. | Policy constraint framework for an sddc |
US11477197B2 (en) | 2018-09-18 | 2022-10-18 | Cyral Inc. | Sidecar architecture for stateless proxying to databases |
US11606358B2 (en) | 2018-09-18 | 2023-03-14 | Cyral Inc. | Tokenization and encryption of sensitive data |
US11477217B2 (en) | 2018-09-18 | 2022-10-18 | Cyral Inc. | Intruder detection for a network |
US11249856B2 (en) * | 2018-10-25 | 2022-02-15 | EMC IP Holding Company LLC | Application consistent snapshots as a sidecar of a containerized application |
US11457080B1 (en) * | 2018-11-23 | 2022-09-27 | Amazon Technologies, Inc. | Service mesh management |
US10673749B1 (en) * | 2018-12-28 | 2020-06-02 | Paypal, Inc. | Peer-to-peer application layer distributed mesh routing |
US11153405B2 (en) * | 2019-04-08 | 2021-10-19 | Red Hat, Inc. | Transparent pattern processing in a service mesh |
US11635995B2 (en) * | 2019-07-16 | 2023-04-25 | Cisco Technology, Inc. | Systems and methods for orchestrating microservice containers interconnected via a service mesh in a multi-cloud environment based on a reinforcement learning policy |
US11522913B1 (en) | 2019-09-03 | 2022-12-06 | Rapid7, Inc. | Simplifying networking setup complexity for security agents |
US11201897B1 (en) * | 2019-09-03 | 2021-12-14 | Rapid7, Inc. | Secure multiplexed routing |
US11297036B1 (en) | 2019-09-03 | 2022-04-05 | Rapid7, Inc. | Single whitelisted ingress endpoint on 1 and 2 way TLS connections |
US11200081B2 (en) * | 2019-10-21 | 2021-12-14 | ForgeRock, Inc. | Systems and methods for tuning containers in a high availability environment |
CN112866321B (zh) * | 2019-11-28 | 2024-06-18 | 中兴通讯股份有限公司 | 一种资源调度方法、装置和*** |
CN111142971B (zh) * | 2019-12-30 | 2023-08-01 | 中科星图股份有限公司 | 一种适应传统应用云化的云平台应用就绪检查方法 |
WO2021183278A1 (en) * | 2020-03-12 | 2021-09-16 | Cyral Inc. | Sidecar architecture for stateless proxying to databases |
CN115380514B (zh) | 2020-04-01 | 2024-03-01 | 威睿有限责任公司 | 为异构计算元件自动部署网络元件 |
US11803408B2 (en) | 2020-07-29 | 2023-10-31 | Vmware, Inc. | Distributed network plugin agents for container networking |
US11863352B2 (en) | 2020-07-30 | 2024-01-02 | Vmware, Inc. | Hierarchical networking for nested container clusters |
US11196665B1 (en) * | 2020-11-12 | 2021-12-07 | Sap Se | Routing application calls |
US11805102B2 (en) * | 2021-02-05 | 2023-10-31 | Red Hat, Inc. | Remote management of software on private networks |
US11853100B2 (en) * | 2021-04-12 | 2023-12-26 | EMC IP Holding Company LLC | Automated delivery of cloud native application updates using one or more user-connection gateways |
US11606254B2 (en) | 2021-06-11 | 2023-03-14 | Vmware, Inc. | Automatic configuring of VLAN and overlay logical switches for container secondary interfaces |
US20230108209A1 (en) * | 2021-10-05 | 2023-04-06 | International Business Machines Corporation | Managing workload in a service mesh |
CN114025370B (zh) * | 2021-11-04 | 2023-08-08 | 杭州朗和科技有限公司 | 数据报文传输方法、介质、***和计算设备 |
US11902245B2 (en) | 2022-01-14 | 2024-02-13 | VMware LLC | Per-namespace IP address management method for container networks |
US11848910B1 (en) | 2022-11-11 | 2023-12-19 | Vmware, Inc. | Assigning stateful pods fixed IP addresses depending on unique pod identity |
US11831511B1 (en) | 2023-01-17 | 2023-11-28 | Vmware, Inc. | Enforcing network policies in heterogeneous systems |
CN116112437A (zh) * | 2023-02-01 | 2023-05-12 | 北京百度网讯科技有限公司 | 流量调度方法、装置、电子设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102196035A (zh) * | 2010-03-18 | 2011-09-21 | 微软公司 | 统一web服务发现 |
CN104145261A (zh) * | 2012-02-23 | 2014-11-12 | 国际商业机器公司 | 使用发布订阅模型的身份提供者发现服务 |
US8893255B1 (en) * | 2013-10-23 | 2014-11-18 | Iboss, Inc. | Device authentication using device-specific proxy addresses |
CN106575305A (zh) * | 2014-09-24 | 2017-04-19 | 甲骨文国际公司 | 反向代理服务器内的服务 |
CN107534672A (zh) * | 2015-04-27 | 2018-01-02 | 微软技术许可有限责任公司 | 用于作为网络服务的客户端应用的持久统一资源定位符(url) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4304362B2 (ja) * | 2002-06-25 | 2009-07-29 | 日本電気株式会社 | Pki対応の証明書確認処理方法及びその装置、並びにpki対応の証明書確認処理プログラム |
WO2009018512A1 (en) * | 2007-08-02 | 2009-02-05 | Imagineer Software, Inc. | Systems and methods for implementing a mutating transport layer security protocol |
US9094473B2 (en) * | 2013-02-28 | 2015-07-28 | International Business Machines Corporation | Installation of an asset from a cloud marketplace to a cloud server in a private network |
US20150019559A1 (en) * | 2013-07-11 | 2015-01-15 | Salesforce.Com, Inc. | Systems and methods for identifying categories with external content objects in an on-demand environment |
WO2015174100A1 (ja) * | 2014-05-14 | 2015-11-19 | 学校法人東京電機大学 | パケット転送装置、パケット転送システム及びパケット転送方法 |
US9819513B2 (en) * | 2015-01-27 | 2017-11-14 | Anchorfree Inc. | System and method for suppressing DNS requests |
US9787643B2 (en) * | 2015-01-30 | 2017-10-10 | Facebook, Inc. | Transport layer security latency mitigation |
US10785334B2 (en) | 2015-06-03 | 2020-09-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Implanted agent within a first service container for enabling a reverse proxy on a second container |
KR102563795B1 (ko) * | 2015-07-02 | 2023-08-07 | 콘비다 와이어리스, 엘엘씨 | 자원 구동 동적 권한부여 프레임워크 |
JP6739036B2 (ja) * | 2015-08-31 | 2020-08-12 | パナソニックIpマネジメント株式会社 | コントローラ |
WO2017205222A1 (en) | 2016-05-23 | 2017-11-30 | William Turner | Hyperconverged system including a core layer, a user interface, and a services layer equipped with a container-based user space |
US10623390B1 (en) * | 2017-08-24 | 2020-04-14 | Pivotal Software, Inc. | Sidecar-backed services for cloud computing platform |
US11032252B2 (en) * | 2018-01-03 | 2021-06-08 | Syccure, Inc. | Distributed authentication between network nodes |
US11057393B2 (en) * | 2018-03-02 | 2021-07-06 | Cloudentity, Inc. | Microservice architecture for identity and access management |
-
2018
- 2018-05-21 US US15/984,423 patent/US10841336B2/en active Active
-
2019
- 2019-05-09 WO PCT/IB2019/053833 patent/WO2019224645A1/en active Application Filing
- 2019-05-09 GB GB2019652.3A patent/GB2586767B/en active Active
- 2019-05-09 CN CN201980032676.XA patent/CN112119374B/zh active Active
- 2019-05-09 JP JP2020563784A patent/JP7203444B2/ja active Active
- 2019-05-09 DE DE112019001481.1T patent/DE112019001481T5/de active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102196035A (zh) * | 2010-03-18 | 2011-09-21 | 微软公司 | 统一web服务发现 |
CN104145261A (zh) * | 2012-02-23 | 2014-11-12 | 国际商业机器公司 | 使用发布订阅模型的身份提供者发现服务 |
US8893255B1 (en) * | 2013-10-23 | 2014-11-18 | Iboss, Inc. | Device authentication using device-specific proxy addresses |
CN106575305A (zh) * | 2014-09-24 | 2017-04-19 | 甲骨文国际公司 | 反向代理服务器内的服务 |
CN107534672A (zh) * | 2015-04-27 | 2018-01-02 | 微软技术许可有限责任公司 | 用于作为网络服务的客户端应用的持久统一资源定位符(url) |
Non-Patent Citations (1)
Title |
---|
信息服务网格资源代理的实现策略;金海, 李其胜, 邹德清, 陈汉华;计算机应用与软件(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
GB202019652D0 (en) | 2021-01-27 |
JP7203444B2 (ja) | 2023-01-13 |
GB2586767B (en) | 2021-08-11 |
JP2021524090A (ja) | 2021-09-09 |
CN112119374A (zh) | 2020-12-22 |
WO2019224645A1 (en) | 2019-11-28 |
GB2586767A (en) | 2021-03-03 |
DE112019001481T5 (de) | 2021-01-07 |
US20190356693A1 (en) | 2019-11-21 |
US10841336B2 (en) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112119374B (zh) | 使用替代服务器名称选择性地提供相互传输层安全 | |
US11625281B2 (en) | Serverless platform request routing | |
US11119746B2 (en) | Extensions for deployment patterns | |
US10200387B2 (en) | User state tracking and anomaly detection in software-as-a-service environments | |
US10360410B2 (en) | Providing containers access to container daemon in multi-tenant environment | |
US9009697B2 (en) | Hybrid cloud integrator | |
US10977167B2 (en) | Application monitoring with a decoupled monitoring tool | |
US10594557B2 (en) | Filesystem share auto-detect | |
US10341181B2 (en) | Method and apparatus to allow dynamic changes of a replica network configuration in distributed systems | |
Grandinetti | Pervasive cloud computing technologies: future outlooks and interdisciplinary perspectives: future outlooks and interdisciplinary perspectives | |
US9513948B2 (en) | Automated virtual machine provisioning based on defect state | |
US10606480B2 (en) | Scale-out container volume service for multiple frameworks | |
US11445009B1 (en) | Managing proprietary structured objects | |
US9609076B1 (en) | Criteria-based data push | |
US10715385B2 (en) | System and method for live migration for software agents | |
US9843605B1 (en) | Security compliance framework deployment | |
US10681113B2 (en) | Geographically distributed highly available mailbox | |
CN116670670A (zh) | 用于基于容器的环境的集成认证 | |
US11875202B2 (en) | Visualizing API invocation flows in containerized environments | |
US9298597B2 (en) | Automated testing of websites based on mode | |
US20230037986A1 (en) | Autoencryption system for data in a container | |
US20230177378A1 (en) | Orchestrating federated learning in multi-infrastructures and hybrid infrastructures |
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 |