精选博客系列|VMware Tanzu Mission Control增强策略功能,让Kubernetes的安全性更加灵活

news2024/10/5 15:34:40

随着分布式系统日益复杂,定义和实施 Kubernetes 集群的策略以确保环境的安全性、可靠性和合规性 —— 当然也是为了构建可扩展性的支撑结构,变得至关重要。

因此,我们很高兴宣布 VMware Tanzu Mission Control 现在有了更多的策略相关的改进,旨在增强 Kubernetes 安全性。平台团队现在可以改变工作负载的安全上下文(security context),并修改默认的 Open Policy Agent(OPA)Gatekeeper 策略设置。

Tanzu Mission Control 推出动态修改,或称变异(mutation)策略是因为它们可以显著增强组织的安全措施,使其能够保持一种始终开启的安全姿态。这些策略可以对 pod 的功能施加限制,以帮助阻止恶意行为。例如,它们可以禁止使用特权容器或禁止容器作为 root 操作,从而有助于最大程度地降低潜在安全漏洞的风险。此外,它支持那些正在将集群迁移出 Pod Security Policies(PSPs)的客户,同时仍然保持其组织的安全姿态。它还支持平台团队采用 “左移(shift left)” 安全策略,有助于减轻开发人员在 Kubernetes 安全策略和设置这个不断变化的世界中所面临的负担。这有助于在企业范围内始终强制保证平台团队所需的安全状态,无论使用哪种 Kubernetes 发行版。

我们发布的第二部分涵盖了修改默认的 OPA Gatekeeper 策略设置的能力,例如增加资源限制,以实现更好的治理,使用户能够更好地调整对高使用率的集群的资源分配。此外,它还给要求高安全性及合规性的公司,如金融领域的公司等,提供了覆盖默认设置的能力,例如修改失败策略和超时秒数等,以更有效地锁定其基础设施。

在跨集群和跨环境中自动执行策略

Tanzu Mission Control 目前能够帮助平台团队应用多种类型的策略,包括:

访问 - 能够为每个组或个人授予对集群或单独的命名空间的访问权限。

网络 - 可以将应用程序分隔开并确保其不会接收到不需要的流量。

镜像仓库 - 有能力只允许从已知和可信的仓库中拉取镜像,防止来自不受信任来源的镜像像,并避免使用如 Docker hub 等外部来源。

配额 - 使用预配置和自定义模板,限制您的集群中指定的多个命名空间的总体资源使用数量。

安全 – 能够限制容器的功能和特权升级,并配置策略以进行监视而无需执行,以便可以识别违规者。

自定义 - 使用模板实施额外的业务规则,执行那些未被其他内置策略类型覆盖的策略。

PSP 和 OPA Gatekeeper 都可以用于在 Kubernetes 环境中执行安全策略,但它们的方法和能力有所不同。

在其他原生 Kubernetes 安全组件(例如 Antrea Network Policies)之外,VMware 使用 OPA 作为 Tanzu Mission Control 中的策略引擎,用于安全、自定义和镜像相关的策略,因为它具有更广泛的灵活性(例如支持可变策略),并且是一个拥有充满活力社区的 Cloud Native Computing Foundation(CNCF)的已毕业开源项目。

随着 PSP 在 Kubernetes v1.25 及更高版本中被移除,许多使用这个解决方案的组织可能会措手不及,不得不赶紧更新他们的部署和配置。因此,利用 OPA Gatekeeper 可以帮助确保工作负载在必要的更新和应用更改发生时是符合标准的。

OPA Gatekeeper 的好处包括支持 “dryrun” 等操作,它允许用户创建一个策略而不强制执行它,并通过 “Insights” 页面查看任何违规情况,以修复他们的工作负载或更新策略、当确认策略设置没问题后,可以再将执行行为更改为 “拒绝”。管理员可以在细粒度级别(群集、群集组或组织)定义策略并相应地执行它们,使其成为一个更强大的解决方案,用于规模化管理安全策略。管理员还可以使用基于标签的命名空间选择器来包括和排除特定的命名空间,确保集群符合安全策略。

通过提供在 Kubernetes 环境中执行策略的更强大和灵活的方式,OPA Gatekeeper 提供了更好的治理能力,以在集群间执行策略。

这就是为什么我们在 Tanzu Mission Control 中通过增加策略相关功能来提升 Kubernetes 的安全,包括可以修改容器和 Pod 的安全上下文并修改默认的 OPA Gatekeeper 策略设置。

不再有验证错误:使用变异(mutation)策略设置更多规则

变异策略与验证安全策略不同,因为它们不会阻止创建可能违反策略的 Kubernetes 资源。相反,它们将在运行时更新或改变该请求以创建所需的资源。

因此,变异策略是提高 Kubernetes 对象可靠性和一致性的强大工具,通过强制实施策略限制并确保对象始终处于有效状态。

要创建变异策略,平台管理员必须前往策略分配下的 Mutation 选项页,并单击创建变异策略。Tanzu Mission Control 目前提供对 PodSecurity 的动态修改,未来将支持更多选项。

平台管理员可以为其策略输入名称,并选择安全上下文中的需要修改的多个字段,以便在该集群中有人创建 Pod 时,它将继承这些安全相关属性值。

一个常见的变异策略示例是确保所有提交的工作负载都配置了 runAsUser、runAsNonRoot 和 disallowPrivilegeEscalation。Gatekeeper Admission 控制器根据变异策略中定义的属性验证资源,并根据您配置的条件(Always、IfFieldExists、IfFieldDoesNotExist)通过 Admission 控制器为资源添加属性。

在这里插入图片描述

(在 Tanzu Mission Control 中创建具有修改值的变异策略)

Pod 安全性扩展:更新 Gatekeeper 的设置

如上所述,Tanzu Mission Control 有各种类型的警戒策略,其中一些(例如安全性、镜像、自定义和变异)是使用 OPA Gatekeeper 开源工具执行的。

当 Tanzu Mission Control 在集群上安装 Gatekeeper 时,会应用一些默认设置和配置值。

现在,通过新的策略设置功能,各组织可以在 TMC 界面的左侧菜单中的管理页面内的设置选项卡中覆盖其中的一些值。

这意味着组织和管理员可以调整 Gatekeeper 部署设置以适应其所有级别,例如组织、集群组和集群。此初始版本允许修改 Validating Webhook 的配置(更改失败策略和超时秒数)以及控制器管理器部署和自动部署设置(通过改变副本数和 CPU 内存限制)。

这种增加的灵活性的一个例子是覆盖 Gatekeeper 的默认验证 Webhook 策略,该策略目前(默认情况下)设置为 “忽略”,即如果 Gatekeeper 在集群上宕机,也仍允许 Cron 作业和其他工作负载被接受和创建。通过将该默认设置更改为 “失败”,管理员将能够确保拒绝任何工作负载或作业,直到 Gatekeeper 再次可用。

能够在利用 OPA Gatekeeper 的关键安全功能的同时覆盖策略设置,使 Tanzu Mission Control 成为跨多云 Kubernetes 集群的企业策略管理的非常强大的选择。

在这里插入图片描述

(Tanzu Mission Control 的管理区域中的 “设置” 选项卡视图)

在这里插入图片描述

(在 Tanzu Mission Control 的新设置功能中,验证 Webhook 配置)

访问策略已支持 Kubernetes 服务账户(service account)

Tanzu Mission Control 现在允许在访问策略中创建角色绑定(role binding)时将 Kubernetes 服务帐户作为实体类型使用。通过这个更新,管理员可以在整个集群群集中管理服务帐户访问,而不是在每个群集上单独管理,从而减少了专门处理此类操作的时间,他们还可以跨集群审计策略。

在 Kubernetes 中,服务帐户身份类型非常重要,因为它们确定服务帐户在集群中具有的访问和权限级别,这对于维护集群的安全性和完整性至关重要。

能够向服务帐户添加策略非常有价值,因为它有助于进一步确保只有经过授权的服务和用户可以访问 Kubernetes 集群中的资源,而服务帐户仅限于执行其任务所需的资源。这再次提高了集群的安全性和稳定性,尤其是在多租户环境中。

内容来源|公众号:VMware 中国研发中心

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/513231.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C# webservice 接收json数据 接口返回 远程服务器返回错误: (500) 内部服务器错误

C# post 调用webservice 服务端接口,会返回上面那个错误,8成是发送的数据和接口不符合造成的。有2种情况 第一种情况如下:如果类型是默认request.ContentType "application/x-www-form-urlencoded";这个类型 那么你发送数据和被…

基于趋动云部署B站大V秋葉aaaki的Stable Diffusion整合包v4--linux版

B站大V秋葉aaaki的Stable Diffusion整合V4版发布了,集成度比较高,在windows下解压缩直接就可以使用,整合的非常好。但是笔人没有RTX4090这样级别的显卡,又希望有个高速运行的效果。 所以索性到云GPU主机上来用秋叶aaaki的Stable …

windows机制初探

Windows内存管理 EPROCESS结构体:在内核中表示一个进程 VAD树 二叉树,存储进程在内核层申请的虚拟内存信息 (x86 EPROCESS0x11c) (x64 EPROCESS0x7d8)指向VadRoot(VAD树) 可以看到两种内存:Private(私有内存)、 Mapped(映射内存) 私有内…

Elasticsearch 入门

Elasticsearch 是一种开源搜索引擎,它基于 Apache Lucene 构建,提供了一个分布式、多租户、全文搜索和分析引擎。Elasticsearch 可以处理海量数据,能够快速、准确地搜索、分析和可视化数据。 Elasticsearch 最初是为了解决日志搜索和分析而开…

2018年下半年 软件设计师 答案及详解

2018年下半年 软件设计师 答案详解 主要记录刷题相关笔记,方便日后温习!!! 一、选择题 CPU 在执行指令的过程中,会自动修改_____的内容,以使其保存的总是将要执行的下一条指令的地址。 A.指令寄存器B.程…

makefile 变量的扩展

文章目录 前言一、环境变量(全局变量)二、目标变量(局部变量)三、模式变量总结 前言 一、环境变量(全局变量) Makefile 中的环境变量,是指在执行 Makefile 时,从外部传入 Make 命令…

m4a音频怎么转换成mp3?

m4a音频怎么转换成mp3?如果你遇到了m4a音频格式的文件,但却无法在音频播放器中打开它,通常我们会将其转换成mp3格式。因为M4A属于苹果专用的音频格式,而MP3则是一种通用音频格式。M4A属于高品质压缩类型的音乐文件,而M…

Django框架之使用Session保持HTTP状态

HTTP协议是无状态的,每次请求都是新的请求; 客户端与服务器端的一次通信就是一次会话。 可使用cookie和session在客户端或者服务端存储有关会话的数据,来进行状态保持; cookie使用在上篇。本篇是使用session进行状态保持及使用Red…

外观数列----2023/5/11

外观数列----2023/5/11 给定一个正整数 n ,输出外观数列的第 n 项。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列: countAndSay(1) “1”…

Omniverse Replicator环境配置和使用说明

Omniverse Replicator使用说明 本教程将介绍Omniverse Replicator的环境配置和使用说明, 参加Sky Hackathon的同学可以参考本教程来合成训练数据集. 文章目录 Omniverse Replicator使用说明1. Omniverse环境配置1.a.安装Omniverse Launcher1.a.1.在下面的地址下载Omniverse La…

案例分享:ChatGPT写python脚本,轻松文本处理

大家好,我是可夫小子,关注AIGC、读书和自媒体。解锁更多ChatGPT、AI绘画玩法。加:keeepdance,备注:chatgpt,拉你进群。 在工作中,需要对数据进行筛选、分割和整理,当你接受到一个长长…

浅谈Android PMS解析APP信息流程

前言 前面我们了解了Zygote的启动流程,知道AMS、PMS都是由SystemServer进程启动的,我们都知道PMS主要负责App管理工作,这里我们简单从源码角度分析下PMS是如何解析APP解析的; 源码分析(API 30为例) 我们还是从PackageManagerSe…

SpringBoot缓存技术详解

文章目录 一、 缓存技术介绍1. 缓存技术简介2. JSR107核心接口3. JSR107 图示3. SpringBoot缓存抽象4. 缓存常用注解和接口 一、 缓存技术实战1. Cacheable注解2. 缓存的工作原理4. Cacheable注解的工作流程 一、 缓存技术介绍 1. 缓存技术简介 缓存技术主要分为两大类缓存可…

6 进程的环境

6.1 main函数 C程序总是从main函数开始执行。main函数的原型是: int main(int argc, char *argv[]) 6.2 进程终止 有五种方式使进程终止: (1)正常终止: (a)从main返回。 (b&…

Pycharm十种不为人所知的技巧,不得不知道

Pycharm是Python语言开发中的一个非常强大的IDE工具,其高度的定制能力、日常开发中常用的工具和各种快捷键等功能,都能帮助Pycharm用户提高开发效率。但是,Pycharm中的许多功能并不为人所知。因此,以下是十种Pycharm技巧&#xff…

【MCS-51】51单片机指令系统大全

指令是指挥微型计算机工作的的计算机命令,对于51单片机来说,其主要使用的指令有两种形式:机器语言指令和汇编语言指令。 机器语言指令是指使用二进制代码表示的指令; 汇编语言指令是指使用容易我们记忆的缩写符号表示的机器语言…

YOLO入门指南:理解YOLO原理及构建第一个目标检测模型

YOLO(You Only Look Once)是一种快速且准确的目标检测算法,可以在图像或视频中检测出多个对象的位置和类别。在本篇文章中,我们将介绍YOLO的基本原理,并使用TensorFlow构建第一个目标检测模型。 YOLO的基本原理 YOLO的…

linux 安装jdk、tomcat

文章目录 前言一、Linux上安装jdk1、jdk安装与配置过程2、linux查看jdk安装路径 二、Linux上安装tomcat1、tomcat安装与配置过程2、对外开放访问的端口、重启防火墙、查看日志 三、在window系统中通过浏览器访问 前言 先检察是否安装jdk java -jar ## 查看是否安装jdk java -…

K8S—Helm

一、Helm介绍 helm通过打包的方式,支持发布的版本管理和控制,很大程度上简化了Kubernetes应用的部署和管理。 Helm本质就是让k8s的应用管理(Deployment、Service等)可配置,能动态生成。通过动态生成K8S资源清单文件&a…

文笔润色-文本校对改写工具

文段改写软件 写作是一项对于很多人来说都需要频繁进行的活动,无论是工作中的商业写作还是学术写作,在完成优质内容的同时也需要付出大量的时间和精力进行语言润色和修改。然而,现在有了147ChatGPT改写润色软件,该软件可以全自动…