CN114341850B - 保护Kubernetes中的工作负载 - Google Patents
保护Kubernetes中的工作负载 Download PDFInfo
- Publication number
- CN114341850B CN114341850B CN202080062609.5A CN202080062609A CN114341850B CN 114341850 B CN114341850 B CN 114341850B CN 202080062609 A CN202080062609 A CN 202080062609A CN 114341850 B CN114341850 B CN 114341850B
- Authority
- CN
- China
- Prior art keywords
- pod
- image
- kubernets
- repackaged
- computer
- 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
Images
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/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
-
- 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/602—Providing cryptographic facilities or services
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- 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/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
本发明的各方面包括经由处理器从客户获得原始docker映像,使用来自原始docker映像的内容对盘映像进行加密,以及对引导加载器进行加密。使用加密的盘映像和安全的加密的引导加载器来创建重新打包的映像。通过将重新打包的映像插入到pod容器中并且通过使用变换webhook、向所述容器授予提升的特权以及创建用于保护工作负载的受保护Kubernetes pod来部署重新打包的映像,其中受保护Kubernetes pod具有包含所述pod容器的至少一个虚拟机。
Description
背景技术
本发明一般涉及Kubernetes安全,更具体地,涉及保护Kubernetes中的工作负载。
Kubernetes是用于自动化应用部署、缩放和管理的开源容器协调系统。Kubernetes定义了一组被称为原语的构件块(building block),这些原语共同提供了基于处理器、存储器或定制度量来部署、维护和缩放应用的机制。Pod是Kubernetes构件块,其包括共同位于主机上并且可以共享资源的一个或多个容器。可以是虚拟机(VM)或物理机器的节点是Kubernetes中的包括一个或多个pod的工作者机器。每个节点包含运行pod所需的服务。到目前为止,Kubernetes不支持将pod中的工作项目与Kubernetes管理员的控制分开的任何安全模型。此外,pod中的Kubernetes工作负载没有以任何方式被保护、锁定或加密,以保护工作负载的数据(由此客户)不被Kubernetes管理员访问。
Kubernetes(Kubernetes是谷歌公司的商标)在其固有形式中不支持任何虚拟化技术,或者不支持由于经由Linux控制组来完成主机和容器工作负载之间的分离而提高pod的工作负载的能力以实现这样的特征。
发明内容
本发明的实施例旨在保护Kubernetes中的工作负载。一种非限制性示例计算机实现的方法包括经由处理器从客户获得原始docker映像,使用来自原始docker映像的内容对盘映像进行加密并且安全地对引导加载器(bootloader)进行加密。使用加密的盘映像和安全加密的引导加载器创建重新打包的映像。通过将重新打包的映像插入到pod容器中并创建用于保护工作负载的受保护Kubernetes pod来部署所述重新打包的映像,其中受保护Kubernetes pod具有包含pod容器的至少一个虚拟机。
本发明的其它实施例在计算机系统和计算机程序产品中实现上述方法的特征。
通过本发明的技术实现了额外的技术特征和益处。本发明的实施例和各方面在本文中详细描述,并且被认为是要求保护的主题的一部分。为了更好地理解,参考详细的描述和附图。
附图说明
在说明书的结尾处的权利要求中特别指出并清楚地要求了本文描述的专有权的细节。从下面结合附图的详细描述中,本发明的实施例的前述和其它特征和优点将变得显而易见,在附图中:
图1示出了根据本发明的一个或多个实施例的用于保护Kubernetes中的工作负载的过程的流程图;
图2示出了根据本发明的一个或多个实施例的用于保护Kubernetes中的工作负载的组件的图;
图3示出了根据本发明的一个或多个实施例的用于保护Kubernetes中的工作负载的实现;
图4示出了根据本发明的一个或多个实施例的云计算环境;以及
图5示出了根据本发明的一个或多个实施例的抽象模型层。
这里描述的图是说明性的。在不脱离本发明的精神的情况下,可以对图或其中描述的操作进行许多变化。例如,可以以不同的顺序执行动作,或者可以添加、删除或修改动作。此外,术语“耦合”及其变型描述了在两个元件之间具有通信路径,并且不暗示元件之间的直接连接,而在它们之间没有中间元件/连接。所有这些变化都被认为是本说明书的一部分。
具体实施方式
本发明的一个或多个实施例通过为Kubernetes pod中的各个容器提供新的安全边界,允许对Kubernetes集群中的各个工作负载进行更细粒度的保护。这允许管理员以全透明性和现有工具来管理Kubernetes集群。
本发明的一个或多个实施例防止单个工作负载突破容器的弱点而从同一Kubernetes工作者中的其它pod读取数据。
本发明的一个或多个实施例包括具有为部署在Kubernetes集群上的每个pod提供的边车(sidecar)容器,以帮助为pod的所有容器提供runq环境。
本发明的一个或多个实施例提供了对pod的存储器和存储装置的保护,使其免受主机操作系统(OS)的影响。
本发明的一个或多个实施例允许保护裸机服务器(例如,逻辑分区或“LPAR”)、虚拟机、单独的docker容器和整个Kubernetes集群。
现在转向图1,根据本发明的一个或多个实施例一般地示出了用于保护Kubernetes中的工作负载的总体过程的流程图。该过程开始于块101,并且在块102获得原始docker映像。docker映像是docker容器的映像,docker容器是开源软件开发平台。docker容器允许服务功能在运行Linux OS的任何系统之间是可移植的。一旦获得原始docker映像,该过程在块104使用原始docker映像的内容对盘映像进行加密。然后,在块106该过程加密引导加载器。在内核参数被硬编码的计算系统上引导OS配置可以包括将OS内核传递到引导加载器。这可以使引导加载器在计算系统上加载并执行OS内核。类似地,引导OS配置,其中一个或多个内核参数值存储在与OS内核分离的数据对象中,可以包括将操作系统内核和一个或多个内核参数值两者传递到引导加载器。这使得引导加载器加载并执行具有一个或多个内核参数值的OS内核。
仍然参考图1,然后在块108,该过程使用加密的盘映像和安全加密的引导加载器来创建重新打包的映像。重新打包包括加载现有docker映像,然后加密docker映像的存储层,这包括安全加密引导加载器和重新构建docker映像。在块110,通过将重新打包的映像插入Kubernetes pod容器中来部署重新打包的映像。然后,该过程在块112创建受保护Kubernetes pod,并在块113结束。当今的应用环境倾向于使用容器和微服务作为架构范例。在该方案中,作为容器运行的微服务的特定选择在pod中被分组在一起,从而形成例如应用或解决方案。
受保护Kubernetes pod以安全执行模式运行,从而具有与底层主机环境隔离的存储器。而且,当它作为runq容器运行时,集群管理员将无法对容器进行控制台访问。这提供了针对所有人类用户的保护。
现在转向图2,根据本发明的一个或多个实施例一般地示出了用于保护Kubernetes中的工作负载的组件的图200。客户docker映像205包含客户秘密207、盘映像208和安全执行runq引导加载器210。应注意,runq引导加载器210具有唯一的密钥来解密加密的盘,并且它为docker容器准备环境以在没有改变的情况下运行。runq是基于管理程序(hypervisor)的docker运行时。runq准备具有用于提供快速仿真器(qemu)管理程序的资源的容器。使用具有webhook(网钩)的runq Kubernetes变换准入控制器214将docker映像部署212到pod容器中。变换webhook是一种用于变换部署请求的定义同时提供定制在部署之前的准入逻辑的灵活性的服务。webhook确保只有可信代码能够以特权模式运行。在将客户docker映像部署到受保护Kubernetes POD 220中之后,将其放置到作为虚拟机222的一部分的pod容器224中。受保护Kubernetes pod 220还包括runq边车容器226。runQ边车容器226包括具有runq 230和qemu 232两者的共享卷228。从Kubernetes主机的视角看,虚拟机是黑盒。例如,试图窥视Kubernetes工作者的管理员仅看到qemu进程,qemu进程的存储器在从Kubernetes读取时被加密,并且数据作为加密卷被保存到分配给pod的Kubernetes卷中。
现在转向图3,根据本发明的一个或多个实施例一般地示出了使用安全执行来保护Kubernetes中的工作负载的虚拟服务器300的示例。管理程序逻辑分区(LPAR)302是托管装置304的基础。托管装置304运行虚拟服务器。一个虚拟服务器308使用安全执行来保护。另一虚拟服务器306运行区间密钥服务器(IKS)巡逻者工作者平台310。IKS巡逻者工作者平台310是客户部署最终被托管的Kubernetes集群的工作者节点。管理员将不能访问巡逻者工作者。运载体工作者是管理工作者节点,其可以由管理部门为了服务和可维护性目的而访问。IKS巡逻者工作者平台310具有Kubelet 312和Kubernetes代理314。Kubelet 312是在Kubernetes集群的每个节点上运行的节点代理。它确保pod按照pod规范中所限定的那样运行。Kubernetes pod 316具有若干容器,基于内核的虚拟机(KVM)未保护容器320和两个受保护容器318。pod中的每个安全容器318利用安全执行被隔离。每个pod容器被保护以免受其他容器、Kubernetes组件、底层主机和云管理员的影响。每个虚拟服务器306被保护以免受其他虚拟服务器和托管装置304的影响。在此实施例中,KVM可以在有或没有安全执行的情况下执行。
应当理解,尽管本公开包括关于云计算的详细描述,但是本文所陈述的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。
云计算是一种服务递送模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问,所述可配置计算资源可以以最小的管理努力或与服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特征如下:
按需自助:云消费者可以单方面地自动地根据需要提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者进行人工交互。
广域网接入:能力在网络上可用,并且通过促进由异构的薄或厚客户端平台(例如,移动电话、膝上型计算机和PDA)使用的标准机制来访问。
资源池化:供应商的计算资源被集中以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需求被动态地分配和重新分配。存在位置无关的意义,因为消费者通常不控制或不知道所提供的资源的确切位置,但是能够在较高抽象级别(例如国家、州或数据中心)指定位置。
快速弹性:在一些情况下,可以快速且弹性地提供快速向外扩展的能力和快速向内扩展的能力。对于消费者,可用于提供的能力通常看起来不受限制,并且可以在任何时间以任何数量购买。
测量服务:云系统通过利用在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某一抽象级别的计量能力来自动地控制和优化资源使用。可以监视、控制和报告资源使用,从而为所利用服务的提供者和消费者两者提供透明性。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。应用程序可通过诸如web浏览器(例如,基于web的电子邮件)等瘦客户机界面从各种客户机设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储、或甚至个别应用能力的底层云基础结构,可能的例外是有限的用户专用应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建或获取的应用部署到云基础设施上,该消费者创建或获取的应用是使用由提供商支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但具有对部署的应用和可能的应用托管环境配置的控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其它基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但具有对操作系统、存储、部署的应用的控制,以及可能对选择的联网组件(例如,主机防火墙)的有限控制。
部署模型如下:
私有云:云基础设施仅为组织操作。它可以由组织或第三方管理,并且可以存在于建筑物内或建筑物外。
社区云:云基础设施由若干组织共享,并且支持具有共享关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公有云:云基础设施可用于一般公众或大型工业群体,并且由销售云服务的组织拥有。
混合云:云基础设施是两个或更多云(私有、共同体或公共)的组合,所述云保持唯一实体,但是通过使数据和应用能够移植的标准化或私有技术(例如,用于云之间的负载平衡的云突发)绑定在一起。
云计算环境是面向服务的,其焦点在于无状态、低耦合、模块性和语义互操作性。在云计算的核心是包括互连节点的网络的基础设施。
现在参考图4,描绘了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,所述本地计算设备例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。节点10可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为服务,云消费者不需要为其维护本地计算设备上的资源。应当理解,图4中所示的计算设备54A-N的类型仅旨在说明,并且计算节点10和云计算环境50可以在任何类型的网络和/或网络可寻址连接上(例如,使用web浏览器)与任何类型的计算机化设备通信。
现在参考图5,示出了由云计算环境50(图4)提供的一组功能抽象层。应当预先理解,图5中所示的组件、层和功能仅旨在说明,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储装置65;以及网络和网络组件66.在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户机75。
在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其它资源的动态采购。计量和定价82提供了在云计算环境中利用资源时的成本跟踪,以及针对这些资源消耗的开帐单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务级别管理84提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(SLA)规划和履行85提供对云计算资源的预安排和采购,其中根据SLA预期未来需求。
工作负载层90提供了可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:绘图和导航91;软件开发和生命周期管理92;虚拟教室教育传送93;数据分析处理94;交易处理95;以及保护Kubernetes中的工作负载96。
在此参考相关附图描述本发明的各种实施例。在不偏离本发明的范围的情况下,可以设计本发明的替代实施例。在以下描述和附图中,在元件之间阐述了各种连接和位置关系(例如,上方、下方、相邻等)。除非另有说明,这些连接和/或位置关系可以是直接的或间接的,并且本发明并不旨在在这方面进行限制。因此,实体的偶联可以指直接或间接偶联,并且实体之间的位置关系可以是直接或间接位置关系。此外,本文所述的各种任务和过程步骤可并入具有本文未详细描述的额外步骤或功能性的更综合程序或过程中。
本文所述的一种或多种方法可以用本领域公知的以下技术中的任一种或其组合来实现:具有用于根据数据信号实现逻辑功能的逻辑门的分立逻辑电路、具有适当组合逻辑门的专用集成电路(ASIC)、可编程门阵列(PGA)、现场可编程门阵列(FPGA)等。
为了简洁起见,与制造和使用本发明的方面相关的常规技术可以或可以不在本文中详细描述。特别地,用于实现本文描述的各种技术特征的计算系统和特定计算机程序的各个方面是公知的。因此,为了简洁起见,许多常规实现细节在本文中仅简要提及或完全省略,而不提供众所周知的系统和/或过程细节。
在一些实施例中,各种功能或动作可以在给定位置处和/或结合一个或多个装置或系统的操作而发生。在一些实施例中,给定功能或动作的一部分可以在第一设备或位置处执行,并且该功能或动作的其余部分可以在一个或多个附加设备或位置处执行。
本文所用的术语仅是为了描述特定实施例的目的,而不是旨在进行限制。如本文所用,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确指示。还将理解,术语“包括”和/或“包含”在本说明书中使用时,指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其它特征、整数、步骤、操作、元件组件和/或其群组的存在或添加。
以下权利要求中的所有装置或步骤加功能元件的对应结构、材料、动作和等同物旨在包括用于与如具体要求保护的其它要求保护的元件组合执行功能的任何结构、材料或动作。本公开内容是出于说明和描述的目的而呈现的,但是不旨在是穷举的或限于所公开的形式。在不背离本公开的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。选择和描述实施例是为了最好地解释本公开的原理和实际应用,并且使本领域的其他普通技术人员能够理解具有各种修改的各种实施例的本公开,这些修改适合于所设想的特定用途。
这里描述的图是说明性的。在不脱离本公开的精神的情况下,可以存在对其中描述的图或步骤(或操作)的许多变化。例如,可以以不同的顺序执行动作,或者可以添加、删除或修改动作。此外,术语“耦合”描述在两个元件之间具有信号路径,并且不暗示元件之间的直接连接,而其间没有中间元件/连接。所有这些变化被认为是本公开的一部分。
以下定义和缩写用于解释权利要求和说明书。如本文所用,术语“包含”、“包括”、“具有”、“含有”或其任何其它变型旨在涵盖非排他性的包括。例如,包括一系列要素的组合物、混合物、工艺、方法、制品或装置不一定仅限于那些要素,而是可以包括未明确列出的或此类组合物、混合物、工艺、方法、制品或装置固有的其他要素。
另外,术语“示例性”在本文中用于表示“用作示例、实例或说明”。在此描述为“示例性”的任何实施例或设计不一定被解释为比其它实施例或设计更优选或有利。术语“至少一个”和“一个或多个”被理解为包括大于或等于一的任何整数,即一、二、三、四等。术语“多个”应理解为包括大于或等于二的任何整数,即二、三、四、五等。术语“连接”可以包括间接“连接”和直接“连接”两者。
术语“约”、“基本上”、“大约”及其变体旨在包括与基于提交本申请时可用的设备的特定量的测量相关联的误差度。例如,“约”可以包括给定值的±8%或5%或2%的范围。
本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质,所述计算机可读程序指令用于使处理器执行本发明的各方面。
计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的编程语言,例如Smalltalk、C++等)和过程编程语言(例如“C”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个块以及流程图和/或框图中的块的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个块中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个块中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个块中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个块可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,块中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个块以及框图和/或流程图图示中的块的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所描述的实施例。
Claims (20)
1.一种用于保护Kubernetes中的工作负载的方法,包括:
经由处理器从客户获得原始docker映像;
经由所述处理器使用来自所述原始docker映像的内容来加密盘映像;
经由所述处理器加密引导加载器;
经由所述处理器使用加密的盘映像和加密的引导加载器来创建重新打包的映像;
经由所述处理器通过将所述重新打包的映像插入到pod容器中来部署所述重新打包的映像;以及
创建用于保护工作负载的受保护Kubernetes pod,其中所述受保护Kubernetes pod具有包括所述pod容器的至少一个虚拟机。
2.根据权利要求1所述的方法,其中所述重新打包的映像的部署使用Kubernetes变换准入控制器来完成到所述pod容器的所述插入。
3.根据权利要求2所述的方法,其中所述Kubernetes变换准入控制器使用webhook在部署时修改pod容器定义。
4.根据权利要求1所述的方法,其中所述受保护Kubernetes pod还包括runq边车容器。
5.根据权利要求4所述的方法,其中所述runq边车容器包括共享卷。
6.根据权利要求5所述的方法,其中所述共享卷包括runq。
7.根据权利要求5所述的方法,其中所述共享卷包括qemu。
8.一种用于保护Kubernetes中的工作负载的系统,包括:
具有计算机可读指令的存储器;以及
用于执行所述计算机可读指令的一个或多个处理器,所述计算机可读指令控制所述一个或多个处理器以执行操作,所述操作包括:
从客户获得原始docker映像;
使用来自所述原始docker映像的内容加密盘映像;
对引导加载器进行加密;
使用加密的盘映像和加密的引导加载器来创建重新打包的映像;
通过将所述重新打包的映像插入到pod容器中来部署所述重新打包的映像;以及
创建用于保护工作负载的受保护Kubernetes pod,其中所述受保护Kubernetes pod具有包含所述pod容器的至少一个虚拟机。
9.根据权利要求8所述的系统,其中所述重新打包的映像的部署使用Kubernetes变换准入控制器来完成到所述pod容器的所述插入。
10.根据权利要求9所述的系统,其中所述Kubernetes变换准入控制器使用webhook在部署时修改pod容器定义。
11.根据权利要求8所述的系统,其中所述受保护Kubernetes pod还包括runq边车容器。
12.如权利要求11所述的系统,其中所述runq边车容器包括共享卷。
13.根据权利要求12所述的系统,其中所述共享卷包括runq。
14.根据权利要求13所述的系统,其中所述共享卷包括qemu。
15.一种计算机可读存储介质,具有随其实施的程序指令,所述程序指令能够由处理器执行以使所述处理器执行操作,所述操作包括:
从客户获得原始docker映像;
使用来自所述原始docker映像的内容加密盘映像;
对引导加载器进行加密;
使用加密的盘映像和加密的引导加载器来创建重新打包的映像;
通过将所述重新打包的映像插入到pod容器中来部署所述重新打包的映像;以及
创建用于保护工作负载的受保护Kubernetes pod,其中所述受保护Kubernetes pod具有包含所述pod容器的至少一个虚拟机。
16.根据权利要求15所述的计算机可读存储介质,其中所述重新打包的映像的部署使用Kubernetes变换准入控制器来完成到所述pod容器的所述插入。
17.根据权利要求16所述的计算机可读存储介质,其中所述Kubernetes变换准入控制器使用webhook在部署时修改pod容器定义。
18.根据权利要求15所述的计算机可读存储介质,其中所述受保护Kubernetes pod还包括runq边车容器。
19.根据权利要求18所述的计算机可读存储介质,其中所述runq边车容器包括共享卷。
20.根据权利要求19所述的计算机可读存储介质,其中所述共享卷包括runq和qemu。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/587,256 US11176245B2 (en) | 2019-09-30 | 2019-09-30 | Protecting workloads in Kubernetes |
US16/587,256 | 2019-09-30 | ||
PCT/IB2020/058231 WO2021064493A1 (en) | 2019-09-30 | 2020-09-04 | Protecting workloads in kubernetes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114341850A CN114341850A (zh) | 2022-04-12 |
CN114341850B true CN114341850B (zh) | 2022-11-22 |
Family
ID=75161370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080062609.5A Active CN114341850B (zh) | 2019-09-30 | 2020-09-04 | 保护Kubernetes中的工作负载 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11176245B2 (zh) |
JP (1) | JP7461697B2 (zh) |
CN (1) | CN114341850B (zh) |
DE (1) | DE112020004699B4 (zh) |
GB (1) | GB2603710B (zh) |
WO (1) | WO2021064493A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11461474B2 (en) * | 2020-01-24 | 2022-10-04 | International Business Machines Corporation | Process-based virtualization system for executing a secure application process |
US11392399B2 (en) | 2020-05-13 | 2022-07-19 | Sap Se | External binary sidecar for cloud containers |
JP7459014B2 (ja) | 2021-05-18 | 2024-04-01 | トヨタ自動車株式会社 | コンテナ管理装置、及びコンテナ管理プログラム |
US20220385532A1 (en) * | 2021-05-26 | 2022-12-01 | Red Hat, Inc. | Adding host systems to existing containerized clusters |
CN113918353B (zh) * | 2021-12-14 | 2022-02-22 | 杭州朗澈科技有限公司 | 工作负载扩容方法和系统 |
CN113934711B (zh) * | 2021-12-16 | 2022-03-15 | 天津南大通用数据技术股份有限公司 | 一种自动化部署gbase8s集群的方法 |
US11966466B2 (en) * | 2022-01-10 | 2024-04-23 | Check Point Serverless Security Ltd. | Unified workload runtime protection |
CN114547661A (zh) * | 2022-03-21 | 2022-05-27 | 京东科技信息技术有限公司 | 应用配置数据的加解密方法、装置、设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104252376A (zh) * | 2013-06-25 | 2014-12-31 | 云计算科研有限公司 | 一种用于在管理程序之间进行虚拟机映像和状态信息动态转换和移动的系统和方法 |
WO2018234741A1 (en) * | 2017-06-23 | 2018-12-27 | Qio Technologies Ltd | SYSTEMS AND METHODS FOR INTELLIGENCE OF INDUSTRIAL ASSETS BY DISTRIBUTED SYSTEMIC ANTICIPATION |
CN109446032A (zh) * | 2018-12-19 | 2019-03-08 | 福建新大陆软件工程有限公司 | Kubernetes副本扩缩容的方法及系统 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080184657A1 (en) * | 2004-07-21 | 2008-08-07 | Murray Ellen | Building Methods |
US8495356B2 (en) * | 2010-12-31 | 2013-07-23 | International Business Machines Corporation | System for securing virtual machine disks on a remote shared storage subsystem |
US20120179904A1 (en) | 2011-01-11 | 2012-07-12 | Safenet, Inc. | Remote Pre-Boot Authentication |
US10990690B2 (en) * | 2016-01-29 | 2021-04-27 | British Telecommunications Public Limited Company | Disk encryption |
EP3267351A1 (en) | 2016-07-07 | 2018-01-10 | Gemalto Sa | Method for securely managing a docker image |
US10705880B2 (en) | 2017-09-22 | 2020-07-07 | Vmware, Inc. | Cluster updating using temporary update-monitor pod |
CN111279319A (zh) | 2017-09-30 | 2020-06-12 | 甲骨文国际公司 | 容器组的动态迁移 |
CN107864131A (zh) | 2017-11-03 | 2018-03-30 | 郑州云海信息技术有限公司 | 一种实现Kubernetes集群多租户网络隔离的方法及系统 |
CN108108223B (zh) | 2017-11-30 | 2022-05-24 | 国网浙江省电力公司信息通信分公司 | 基于Kubernetes的容器管理平台 |
US10776459B2 (en) * | 2017-12-07 | 2020-09-15 | International Business Machines Corporation | Facilitating build and deploy runtime memory encrypted cloud applications and containers |
US10949250B2 (en) * | 2018-02-07 | 2021-03-16 | Red Hat, Inc. | Image subunit based guest scheduling |
CN108989091B (zh) | 2018-06-22 | 2022-02-11 | 杭州才云科技有限公司 | 基于Kubernetes网络的租户网络隔离方法、存储介质、电子设备 |
US11017092B2 (en) * | 2018-09-27 | 2021-05-25 | Intel Corporation | Technologies for fast launch of trusted containers |
CN110007933A (zh) | 2019-03-26 | 2019-07-12 | 山东超越数控电子股份有限公司 | 一种面向多租户容器镜像安全配置方法,系统,运行终端及存储介质 |
US11048802B2 (en) * | 2019-05-09 | 2021-06-29 | X Development Llc | Encrypted hard disk imaging process |
-
2019
- 2019-09-30 US US16/587,256 patent/US11176245B2/en active Active
-
2020
- 2020-09-04 WO PCT/IB2020/058231 patent/WO2021064493A1/en active Application Filing
- 2020-09-04 CN CN202080062609.5A patent/CN114341850B/zh active Active
- 2020-09-04 DE DE112020004699.0T patent/DE112020004699B4/de active Active
- 2020-09-04 GB GB2205814.3A patent/GB2603710B/en active Active
- 2020-09-04 JP JP2022514003A patent/JP7461697B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104252376A (zh) * | 2013-06-25 | 2014-12-31 | 云计算科研有限公司 | 一种用于在管理程序之间进行虚拟机映像和状态信息动态转换和移动的系统和方法 |
WO2018234741A1 (en) * | 2017-06-23 | 2018-12-27 | Qio Technologies Ltd | SYSTEMS AND METHODS FOR INTELLIGENCE OF INDUSTRIAL ASSETS BY DISTRIBUTED SYSTEMIC ANTICIPATION |
CN109446032A (zh) * | 2018-12-19 | 2019-03-08 | 福建新大陆软件工程有限公司 | Kubernetes副本扩缩容的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114341850A (zh) | 2022-04-12 |
WO2021064493A1 (en) | 2021-04-08 |
US11176245B2 (en) | 2021-11-16 |
DE112020004699B4 (de) | 2024-05-08 |
JP7461697B2 (ja) | 2024-04-04 |
JP2022549405A (ja) | 2022-11-25 |
GB2603710A (en) | 2022-08-10 |
GB2603710B (en) | 2022-11-23 |
DE112020004699T5 (de) | 2022-06-23 |
US20210097169A1 (en) | 2021-04-01 |
GB202205814D0 (en) | 2022-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114341850B (zh) | 保护Kubernetes中的工作负载 | |
CN113711541B (zh) | 改变容器化工作负载隔离的方法和系统 | |
US10713031B2 (en) | Enforcing security policies for software containers | |
US10841328B2 (en) | Intelligent container resource placement based on container image vulnerability assessment | |
US9619371B2 (en) | Customized application performance testing of upgraded software | |
US20190342391A1 (en) | Requesting storage performance models for a configuration pattern of storage resources to deploy at a client computing environment | |
US11153316B2 (en) | Locked-down cluster | |
US10171445B2 (en) | Secure virtualized servers | |
KR102551935B1 (ko) | 보안 운영 체제 이미지의 점진적 복호화 및 무결성 검증 | |
US11455429B2 (en) | Container-based cryptography hardware security module management | |
US9800518B2 (en) | Managing application, middleware, and virtual mechanism density in a cloud | |
US9959135B2 (en) | Pattern design for heterogeneous environments | |
KR20210118130A (ko) | 초기 프로그램 로드 메커니즘을 사용하는 보안 게스트의 시작 | |
CN114595467A (zh) | 针对数据中心对象的多阶段保护 | |
WO2023035742A1 (en) | Open-source container data management | |
US9843605B1 (en) | Security compliance framework deployment | |
AU2020426828B2 (en) | Reserving one or more security modules for secure guest | |
CN117795509A (zh) | 安全客机映像和元数据更新 | |
US10296331B2 (en) | Log-based software porting | |
US11797284B2 (en) | Composable deployer architecture | |
US10169050B1 (en) | Software application provisioning in a distributed computing environment | |
CN117795510A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |