1. 课程导论:OPA Gatekeeper 与基线核验的背景、课程目标与适用人群

1.1 云原生安全策略的演进与挑战

Kubernetes 已成为云原生应用的事实标准编排平台,但其动态、声明式的特性也带来了新的安全挑战。传统基于边界的安全模型(如防火墙、网络 ACL)在容器频繁创建、销毁、调度的环境中难以有效实施。团队需要一种能够嵌入 Kubernetes 工作流、在资源创建或更新时自动执行策略的机制。

当前 Kubernetes 原生提供的 PodSecurityPolicy (PSP) 已被弃用,且存在策略粒度粗、难以扩展、缺乏审计能力等缺陷。社区迫切需要一种更灵活、可编程、可审计的策略引擎。

核心痛点: 如何在 Kubernetes 集群中实现“策略即代码”(Policy as Code),确保所有工作负载在部署前即满足安全基线,同时避免对现有 CI/CD 流程造成侵入性改造?

1.2 OPA Gatekeeper 简介

OPA Gatekeeper 是 Open Policy Agent (OPA) 在 Kubernetes 环境中的原生集成实现。它利用 Kubernetes 的 Admission Webhook 机制,在资源持久化到 etcd 之前拦截请求,并基于 Rego 语言编写的策略进行判定。

Gatekeeper 的核心组件包括:

  • ConstraintTemplate:定义策略的逻辑模板(Rego 代码),描述“什么是合规”。
  • Constraint:对模板的实例化,指定作用范围(如命名空间、标签选择器)和参数。
  • Audit:对集群中已有资源进行周期性扫描,发现不合规项并生成状态报告。

1.3 基线核验架构集成方案

本课程提出的“基线核验架构集成方案”,旨在将 OPA Gatekeeper 与企业的安全基线标准(如 CIS Kubernetes Benchmark、NSA/CISA Kubernetes Hardening Guide)深度绑定。方案通过以下三层结构实现策略的声明式管理与持续合规:

层级 组件 职责
策略定义层 ConstraintTemplate + Rego 将基线要求转化为可执行的策略逻辑
策略执行层 Gatekeeper Admission Webhook 在资源创建/更新时实时拦截并判定
合规审计层 Gatekeeper Audit + 报告系统 周期性扫描集群,生成合规差距报告
关键设计原则: 策略与集群配置分离。基线策略由安全团队统一维护,通过 GitOps 方式分发到各集群,确保一致性。

1.4 课程目标

完成本课程后,学员将能够:

  1. 理解 OPA Gatekeeper 的架构、工作流程及与 Kubernetes 的集成原理。
  2. 掌握 Rego 语言的核心语法,能够编写自定义策略。
  3. 设计 基于 CIS 等标准的基线核验策略库。
  4. 实施 从策略开发、测试、部署到审计的完整 DevSecOps 流水线。
  5. 集成 将 Gatekeeper 与 CI/CD 工具(如 Jenkins、GitLab CI)、监控系统(如 Prometheus)对接。
  6. 排查 常见策略冲突、性能瓶颈及审计问题。

1.5 适用人群

  • Kubernetes 管理员/平台工程师:需要为多租户集群实施安全策略。
  • 安全工程师:希望将安全基线自动化嵌入容器化环境。
  • DevOps/DevSecOps 工程师:负责构建 CI/CD 流水线中的安全门禁。
  • 架构师:设计云原生安全体系,评估策略引擎选型。

1.6 核心架构概览

下图展示了 OPA Gatekeeper 在 Kubernetes 集群中的核心工作流程,以及基线核验架构的集成位置:

OPA Gatekeeper 与基线核验架构集成流程 OPA Gatekeeper 与基线核验架构集成流程 kubectl / API API Server Gatekeeper Admission Webhook OPA 引擎 Rego 策略 基线核验策略库 CIS / 自定义基线 审计扫描器 周期性合规检查 合规报告 不合规资源清单 告警通知 Slack / PagerDuty 说明: 1. 资源请求先经过 API Server,被 Gatekeeper Webhook 拦截。 2. OPA 引擎基于基线核验策略库中的 Rego 规则进行判定,通过则放行,拒绝则返回错误。

1.7 课程内容结构

本课程共分为 30 章,按以下模块组织:

模块 章节范围 核心内容
基础篇 第 1-5 章 OPA/Gatekeeper 概念、安装部署、Rego 语言入门
策略开发篇 第 6-12 章 ConstraintTemplate 编写、参数化、测试与调试
基线核验篇 第 13-18 章 CIS 基线映射、自定义基线库设计、审计与报告
集成与自动化篇 第 19-24 章 CI/CD 集成、GitOps 策略分发、监控告警
进阶与实战篇 第 25-30 章 性能优化、多集群管理、故障排查、案例实战
前置要求: 学员需具备基本的 Kubernetes 操作经验(如部署 Pod、Service、Namespace),了解 YAML 声明式配置。无需预先掌握 Rego 语言,课程将从零开始讲解。