安全
Kubernetes 文档的这一部分旨在帮助你学习如何更安全地运行工作负载,并了解维护 Kubernetes 集群安全的基本方面。
Kubernetes 基于云原生架构,并借鉴了 CNCF 关于云原生信息安全良好实践的建议。
阅读 云原生安全和 Kubernetes,了解如何保护你的集群以及在其上运行的应用程序的更广泛背景。
Kubernetes 安全机制
Kubernetes 包含多个 API 和安全控制,以及定义可作为信息安全管理一部分的策略的方法。
控制平面保护
任何 Kubernetes 集群的一个关键安全机制是控制对 Kubernetes API 的访问。
Kubernetes 期望你配置和使用 TLS 来在控制平面内部以及控制平面与其客户端之间提供传输中的数据加密。你还可以为 Kubernetes 控制平面中存储的数据启用静态加密;这与为你自己的工作负载数据使用静态加密是分开的,后者也可能是一个好主意。
Secret
Secret API 为需要保密性的配置值提供基本保护。
工作负载保护
强制执行Pod 安全标准,以确保 Pod 及其容器得到适当隔离。如果需要,你还可以使用RuntimeClasses 来定义自定义隔离。
网络策略允许你控制 Pod 之间或 Pod 与集群外部网络之间的网络流量。
你可以部署更广泛生态系统中的安全控制,以实现围绕 Pod、其容器以及在其中运行的镜像的预防性或检测性控制。
准入控制
准入控制器是拦截 Kubernetes API 请求并可以根据请求中的特定字段验证或修改请求的插件。精心设计这些控制器有助于避免随着 Kubernetes API 在版本更新中发生变化而导致意外中断。有关设计注意事项,请参阅准入 Webhook 最佳实践。
审计
Kubernetes 审计日志提供了一组与安全相关的、按时间顺序排列的记录,记录了集群中的操作序列。集群会审计由用户、使用 Kubernetes API 的应用程序以及控制平面本身生成的活动。
云提供商安全
如果你在自己的硬件或其他云提供商上运行 Kubernetes 集群,请查阅你的文档以获取安全最佳实践。以下是一些热门云提供商安全文档的链接:
策略
你可以使用 Kubernetes 原生机制定义安全策略,例如 NetworkPolicy(对网络数据包过滤的声明式控制)或 ValidatingAdmissionPolicy(对使用 Kubernetes API 进行更改的声明式限制)。
但是,你也可以依赖 Kubernetes 周围更广泛生态系统中的策略实现。Kubernetes 提供扩展机制,让这些生态系统项目在源代码审查、容器镜像批准、API 访问控制、网络等方面实现自己的策略控制。
有关策略机制和 Kubernetes 的更多信息,请阅读策略。
下一步
了解相关的 Kubernetes 安全主题
- 保护你的集群安全
- Kubernetes 中已知漏洞(及更多信息链接)
- 控制平面的传输中数据加密
- 静态数据加密
- 控制对 Kubernetes API 的访问
- Pod 的网络策略
- Kubernetes 中的 Secret
- Pod 安全标准
- RuntimeClasses
了解背景
获得认证
- 认证 Kubernetes 安全专家认证和官方培训课程。
本节中阅读更多内容
本页面上的项目是指提供 Kubernetes 所需功能的第三方产品或项目。Kubernetes 项目作者不对这些第三方产品或项目负责。有关更多详细信息,请参阅 CNCF 网站指南。
在提议添加额外第三方链接的更改之前,你应该阅读内容指南。