1. 课程导论:Kubernetes鉴权拦截的重要性、课程目标与受众、整体课程架构概览

1.1 为什么Kubernetes鉴权拦截是云原生安全的基石

在Kubernetes生产集群中,鉴权(Authentication)与授权(Authorization)是两道最核心的安全防线。然而,仅依赖Kubernetes原生的RBAC、NodeRestriction等机制,往往无法满足企业级安全需求:

  • 攻击面扩大:kube-apiserver暴露于网络,恶意请求可能绕过弱配置的RBAC。
  • 动态策略缺失:原生RBAC不支持基于请求内容(如镜像仓库、命名空间标签)的细粒度控制。
  • 审计与阻断脱节:原生审计日志只能记录,无法实时拦截高风险操作。
  • 多集群统一管控:跨集群的鉴权策略难以标准化。

因此,在kube-apiserver请求链路中插入鉴权拦截层,成为构建零信任Kubernetes环境的关键手段。本课程将系统讲解Webhook、OIDC、OPA/Gatekeeper、Kyverno、自定义准入控制器等主流方案的选型与实战。

核心观点: 鉴权拦截不是“可选项”,而是生产集群的“必选项”。一次未拦截的恶意kubectl delete pod --all可能造成整个业务线瘫痪。

1.2 课程目标与受众

维度 说明
课程目标
  • 掌握Kubernetes鉴权拦截的完整链路(Authentication → Authorization → Admission)
  • 对比Webhook、OIDC、OPA/Gatekeeper、Kyverno、自定义准入控制器的优劣
  • 能够根据业务场景(多租户、CI/CD、合规审计)选择最佳方案
  • 具备生产级鉴权拦截架构设计与故障排查能力
目标受众
  • Kubernetes运维/平台工程师(SRE/DevOps)
  • 云原生安全工程师/架构师
  • 需要设计多租户或合规集群的后端开发/架构师
  • 对Kubernetes准入控制有基础了解,希望深入选型对比的从业者
前置知识 熟悉kubectl基本操作、了解Kubernetes RBAC概念、有至少一个生产集群的使用经验

1.3 整体课程架构概览

本课程共30章,按“基础 → 方案详解 → 选型对比 → 场景实战 → 进阶运维”五阶段递进:

  1. 基础篇(第1-5章):鉴权拦截链路拆解、kube-apiserver请求生命周期、认证/授权/准入三大阶段详解。
  2. 方案详解篇(第6-15章):逐一深入Webhook TokenReview、OIDC、OPA/Gatekeeper、Kyverno、自定义准入控制器、CEL策略等。
  3. 选型对比篇(第16-20章):性能基准测试、策略语言表达能力、运维复杂度、社区生态对比。
  4. 场景实战篇(第21-26章):多租户隔离、CI/CD安全门禁、合规审计(PCI-DSS/SOC2)、集群联邦鉴权。
  5. 进阶运维篇(第27-30章):高可用鉴权拦截架构、故障排查方法论、日志与监控集成、未来趋势(KEP-3488等)。
课程架构全景图 课程架构全景图(30章) 基础篇 第1-5章 方案详解 第6-15章 选型对比 第16-20章 场景实战 第21-26章 进阶运维 第27-30章 核心内容 请求生命周期 认证/授权/准入 链路拆解 核心内容 Webhook/OIDC OPA/Kyverno 自定义准入 核心内容 性能基准测试 策略语言对比 运维复杂度 核心内容 多租户隔离 CI/CD安全门禁 合规审计 核心内容 高可用架构 故障排查 监控集成 从基础到实战,覆盖Kubernetes鉴权拦截全生命周期

1.4 鉴权拦截在Kubernetes请求链路中的位置

理解鉴权拦截,必须从kube-apiserver处理请求的完整链路开始。下图展示了请求从客户端到持久化存储的必经阶段:

Kubernetes请求链路与鉴权拦截位置 Kubernetes API请求链路与鉴权拦截位置 客户端 认证 授权 准入控制 etcd 鉴权拦截覆盖范围 认证阶段:TokenReview Webhook / OIDC 鉴权拦截覆盖范围 准入阶段:Mutating/Validating Webhook 鉴权拦截核心价值 在认证阶段拦截非法身份 → 在授权阶段拦截越权操作 → 在准入阶段拦截不合规资源 三层拦截形成纵深防御,任何一层失守仍有后续防线

1.5 课程学习建议与配套资源

学习建议:
  • 每章结束后,使用提供的实验脚本在本地Kind或Minikube集群中复现。
  • 重点关注第16-20章的选型对比表格,这是生产决策的核心参考。
  • 遇到Webhook超时、证书错误等常见问题时,优先查阅第28章故障排查清单。
重要提醒: 鉴权拦截策略一旦配置错误,可能导致整个集群不可用(例如误拦截kube-system命名空间的请求)。所有生产变更必须遵循“先审计模式 → 再干运行模式 → 最后强制执行”的灰度流程。

1.6 本章小结