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-8章): OPA与Rego入门、Knative架构与安全基础、Admission Webhook原理
- 策略篇(第9-16章): Rego高级模式、Gatekeeper约束模板、Knative安全配置深度解析
- 流水线篇(第17-24章): CI/CD集成、Tekton + OPA + Knative端到端流水线、镜像签名与策略校验
- 实战篇(第25-30章): 生产级策略库设计、故障排查、性能优化与审计日志
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(镜像签名)