1. 课程导论:OPA与Knative在云原生安全中的角色、课程目标与学习路径

1.1 云原生安全面临的现实挑战

在Kubernetes与Serverless架构快速普及的今天,传统基于边界的安全模型已无法满足动态、弹性的云原生环境。微服务间通信频繁、镜像构建与部署流水线高度自动化、Pod生命周期极短——这些特性使得安全准入控制成为保障集群安全的第一道防线。

核心痛点: 传统RBAC与NetworkPolicy无法对Pod的运行时配置、镜像来源、资源请求等细粒度属性进行策略校验;而手动审批流程又严重拖慢CI/CD流水线效率。

1.2 OPA与Knative:安全准入的两大支柱

本课程围绕两个核心开源项目构建安全准入体系:

维度 OPA (Open Policy Agent) Knative Serving
核心定位 通用策略引擎,将策略从代码中解耦 Serverless工作负载平台,基于Kubernetes
安全角色 通过Admission Webhook拦截资源请求,执行策略决策 提供Revision自动扩缩容、流量管理,同时暴露安全配置入口
策略语言 Rego——声明式、可组合、可测试 通过ConfigMap或Annotation定义安全约束
集成方式 Validating/Mutating Admission Webhook + Gatekeeper Knative Service YAML + OPA策略校验
典型场景 禁止特权容器、强制镜像签名、限制资源上限 确保Serverless服务无root运行、配置只读根文件系统
课程视角: OPA负责“决策逻辑”,Knative负责“工作负载载体”。两者结合,可以在流水线中实现从镜像构建到服务部署的全链路安全准入。

1.3 课程目标

完成本课程后,你将能够:

  • 理解 OPA的Rego策略语言核心语法与最佳实践
  • 掌握 Knative Serving的安全配置项及其在Serverless场景下的准入控制原理
  • 构建 基于OPA + Gatekeeper的Kubernetes准入控制策略
  • 集成 OPA策略到Knative服务的CI/CD流水线中,实现自动化安全校验
  • 设计 生产级安全准入架构,涵盖镜像签名验证、运行时约束、资源配额等

1.4 学习路径与章节地图

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

  1. 基础篇(第1-8章): OPA与Rego入门、Knative架构与安全基础、Admission Webhook原理
  2. 策略篇(第9-16章): Rego高级模式、Gatekeeper约束模板、Knative安全配置深度解析
  3. 流水线篇(第17-24章): CI/CD集成、Tekton + OPA + Knative端到端流水线、镜像签名与策略校验
  4. 实战篇(第25-30章): 生产级策略库设计、故障排查、性能优化与审计日志
课程四阶段学习路径 基础篇 OPA/Rego入门 Knative安全基础 Webhook原理 策略篇 Rego高级模式 Gatekeeper约束 Knative安全配置 流水线篇 CI/CD集成 Tekton+OPA+Knative 镜像签名校验 实战篇 策略库 排错 审计 📌 学习建议 • 每章包含理论讲解 + 动手实验,建议在Kind或Minikube集群中同步操作 • 策略篇开始前,确保已掌握Rego基础语法(第3-5章) • 流水线篇需要提前安装Tekton与Knative Operator(附录提供脚本)

1.5 前置知识要求

知识领域 要求等级 说明
Kubernetes基础 熟练 Pod、Deployment、Service、ConfigMap、RBAC
CI/CD概念 了解 流水线阶段、构建、部署、测试
Linux容器 了解 Dockerfile、镜像层、容器运行时安全
YAML编写 熟练 Kubernetes资源清单编写与调试
⚠️ 注意: 本课程不包含Kubernetes安装与基础运维教学。如果你对kubectl常用命令尚不熟悉,建议先完成Kubernetes官方入门教程。

1.6 课程实验环境

所有实验均可在以下环境中复现:

  • Kubernetes集群: Kind v0.20+ 或 Minikube v1.30+(推荐4GB内存、2核CPU)
  • 核心组件: OPA Gatekeeper v3.14+、Knative Serving v1.12+、Tekton Pipelines v0.50+
  • 工具链: rego CLI、kubectl、docker、cosign(镜像签名)