1. 课程导论:Kyverno在Kubernetes安全体系中的定位、控制平面驱动策略的价值、本课程目标与受众

1.1 Kubernetes 安全体系中的策略引擎层

Kubernetes 的安全防护并非单一产品可以覆盖,而是由多个安全域构成的纵深防御体系。从集群边界到工作负载运行时,策略引擎位于控制平面与资源准入的关键交汇点。

安全域 典型工具/机制 作用时机
身份与认证 RBAC、ServiceAccount、OIDC API 请求鉴权
网络隔离 NetworkPolicy、Cilium 运行时流量控制
镜像安全 镜像签名、Trivy、Cosign 构建/部署前
准入策略 Kyverno、OPA/Gatekeeper 资源创建/更新时
运行时安全 Falco、AppArmor、Seccomp 容器运行时
审计与合规 kube-bench、审计日志 持续监控

Kyverno 作为 CNCF 毕业项目,以 Kubernetes 原生策略引擎的身份填补了准入控制层的空白。它使用标准的 Kubernetes 资源(ClusterPolicy / Policy)定义规则,无需学习专用的策略语言(如 Rego),大幅降低了团队采用门槛。

关键定位: Kyverno 不是替代 RBAC 或 NetworkPolicy,而是在资源进入 etcd 之前,对 Pod、Deployment、Service、Ingress 等对象的 spec 进行校验、变更和生成,形成“策略即代码”的防护门。

1.2 控制平面驱动策略的核心价值

传统策略引擎通常以独立 sidecar 或外部服务的形式运行,需要额外的运维和网络开销。Kyverno 采用控制平面驱动架构,直接以 Admission Webhook 的形式嵌入 API Server 的请求处理链。

控制平面驱动 vs. 外部引擎: Kyverno 作为 Kubernetes 原生控制器运行在控制平面节点或系统命名空间,通过 Dynamic Admission Control 拦截资源请求,无需在用户命名空间部署代理。
控制平面驱动 Kyverno 准入策略架构 API Server kube-apiserver etcd Kyverno Controller Admission Webhook ClusterPolicy / Policy kubectl / Client Pod / Deployment / ... 创建/更新资源 AdmissionReview AdmissionResponse 允许写入 流程说明 1. 客户端发起资源请求 2. API Server 构造 AdmissionReview 3. Kyverno 匹配策略 4. 返回允许/拒绝 5. API Server 写入 etcd 6. 资源在集群生效 所有交互在控制平面 内部完成,无外部依赖

控制平面驱动架构带来的核心收益包括:

  • 零侵入性: 无需修改用户 Pod 或注入 sidecar,策略在资源准入阶段即完成校验。
  • 原生一致性: 策略定义使用 Kubernetes 资源模型,可纳入 GitOps 流程,与 RBAC、CRD 生态无缝集成。
  • 低延迟: Webhook 调用在 API Server 内部完成,避免跨服务网络开销。
  • 策略即资源: 支持 kubectl apply 直接管理策略,审计日志与集群事件统一。

1.3 为什么需要“安全权限评审”专项指南

Kyverno 策略虽然强大,但权限设计不当会引入严重风险:

  • 策略规则过于宽松,导致恶意容器绕过安全限制。
  • 策略本身拥有过高权限(如 cluster-admin),成为攻击者的提权入口。
  • 策略之间的优先级与冲突未评审,造成意外放行或拒绝。
  • 缺乏对策略 RBAC、Webhook 配置、资源变更权限的审计。
常见误区: 团队往往只关注策略的“功能正确性”,而忽略了策略引擎自身的权限模型。Kyverno 的 ServiceAccount、ClusterRole、Webhook 配置、策略的 spec.rules 中涉及的资源操作,都需要纳入安全评审范围。

本课程正是针对这一缺口,提供一套系统化的安全权限评审方法论,覆盖从策略定义到运行时监控的全链路。

1.4 课程目标与受众

维度 说明
核心目标 使学员掌握 Kyverno 策略的安全权限评审框架,能够独立识别、评估和修复策略中的权限风险。
能力产出 完成课程后,学员可输出:策略 RBAC 最小权限清单、Webhook 安全配置检查表、策略冲突分析报告、权限审计自动化脚本。
主要受众 Kubernetes 安全工程师、云原生架构师、平台工程团队、DevSecOps 从业者、K8s 管理员。
前置要求 熟悉 Kubernetes 基本概念(Pod、Deployment、RBAC)、了解 Admission Webhook 机制、有 Yaml 编写经验。
学习路径建议: 如果你是 Kyverno 新手,建议先阅读官方快速入门;本课程聚焦“安全评审”而非基础操作,但会提供必要的背景说明。

1.5 课程内容概览

本课程共 30 章,分为四个阶段:

  1. 基础与架构(第 1-5 章): Kyverno 定位、控制平面驱动原理、策略模型、Webhook 安全基础。
  2. 权限评审实战(第 6-18 章): RBAC 最小权限分析、策略规则权限审计、资源变更权限、冲突检测、特权策略识别。
  3. 高级场景与自动化(第 19-25 章): 多集群策略评审、GitOps 集成、策略即代码 CI/CD、审计日志分析。
  4. 案例与演练(第 26-30 章): 真实生产环境评审案例、攻防演练、评审报告模板、持续改进框架。

每一章都包含可操作的检查清单、代码示例和评审模板,确保学完即用。