安全
Kubernetes 的安全是分层的:工作负载层由 Pod 安全准入与安全上下文约束容器的权限边界,数据层由静态加密保护 etcd 中的密文,审计日志记录控制面上的每个操作,多租户隔离把命名空间、配额、网络策略与准入控制组合成租户边界,供应链安全则把防线前移到镜像构建与分发环节。本章逐层展开这些机制,并以安全最佳实践收尾;身份认证与 RBAC 相关内容见"身份认证与访问控制"章。
章节目录
本文概述 Kubernetes 安全架构与访问控制机制,涵盖认证、鉴权、准入控制与数据加密等核心安全组件,帮助读者理解集群安全防护体系。
介绍 Kubernetes 内建的 Pod 安全准入(Pod Security Admission,v1.25 GA)与 Pod 安全标准(Privileged/Baseline/Restricted):命名空间标签的 enforce/audit/warn 三种模式、版本固定、集群级默认值与豁免配置、与用户命名空间的联动、从 PodSecurityPolicy 迁移的步骤,以及与 ValidatingAdmissionPolicy、Kyverno 等策略引擎的分工。
系统梳理 securityContext 的全部字段与最佳实践:用户与组、文件系统权限、Linux Capabilities、只读根文件系统、特权与提权控制、seccomp/AppArmor/SELinux 三类内核安全机制的声明式配置,以及与 Pod 安全标准 restricted 级别的对应关系。
解析 kube-apiserver 的 EncryptionConfiguration 机制:为什么默认的 Secret 只是 base64 而非加密、aescbc/aesgcm/secretbox/kms 各提供者的取舍、KMS v2 信封加密与密钥轮换流程、配置热加载、加密状态验证,以及与 External Secrets 等外部密钥管理方案的边界。
讲解 Kubernetes 审计机制:请求生命周期的四个阶段、None/Metadata/Request/RequestResponse 四个级别、审计策略的匹配规则与推荐模板、日志与 Webhook 两种后端的配置及性能调优,以及将审计事件接入 Falco、SIEM 与 OpenTelemetry 的实践。
系统讨论 Kubernetes 多租户的两种模型(多团队与多客户)、隔离的三个层面(控制面、数据面、网络与存储),命名空间即租户的完整配置清单(RBAC、ResourceQuota、LimitRange、NetworkPolicy、PSA、优先级类),以及分层命名空间、Capsule、vCluster 等多租户项目与沙箱运行时的适用场景。
从威胁模型出发讲解 Kubernetes 工作负载的供应链安全:SLSA 框架与来源证明、Sigstore/Cosign 无密钥签名、SBOM 生成与漏洞扫描、镜像摘要固定与拉取策略、准入阶段的签名验证(Kyverno、Sigstore Policy Controller、Ratify)、私有仓库凭据管理,以及最小化基础镜像与运行时防护的配套实践。
Kubernetes NetworkPolicy 是一种声明式的网络安全策略,用于控制 Pod 之间的网络通信。本文详细介绍了 NetworkPolicy 的工作原理、配置方法、使用场景和最佳实践。
全面介绍 Kubernetes 集群安全配置的最佳实践,包括端口管理、API 安全设置、RBAC 配置以及安全扫描工具的使用指南。