1. 课程导论:Sigstore与容器网络运维准入策略的关系、课程目标与学习路径
1.1 为什么需要将Sigstore引入容器网络运维准入?
在云原生环境中,容器网络运维(CNO)团队负责管理集群的网络策略、服务网格配置、CNI插件升级以及网络准入控制。传统的运维准入策略依赖静态的RBAC、网络策略YAML审批和人工审计,存在三大核心风险:
- 身份伪造:运维人员使用的kubeconfig或ServiceAccount令牌可能被泄露,导致非授权人员执行高危网络策略变更。
- 策略篡改:网络策略(NetworkPolicy)或服务网格Sidecar配置在CI/CD流水线中可能被中间人篡改,而传统校验仅检查语法正确性。
- 权限漂移:运维脚本或Operator在运行时动态提升权限(如创建HostPort、修改iptables规则),但审计日志无法追溯真实签发者。
Sigstore作为开源软件签名与验证标准,通过无密钥签名(Keyless Signing)和透明日志(Rekor)为容器网络运维准入策略提供了可加密验证的信任链。本课程将系统讲解如何将Sigstore嵌入CNO准入评审流程,从签名策略设计到运行时权限变更风险检测,形成完整的DevSecOps闭环。
核心观点: Sigstore不是替代现有网络准入控制器(如OPA/Gatekeeper、Kyverno),而是为这些控制器的策略决策提供“谁在何时为何签署了此策略”的不可否认证据。
1.2 Sigstore与容器网络运维准入策略的关系
下图展示了Sigstore在容器网络运维准入策略评审中的位置与数据流:
1.3 课程目标
完成本课程后,学员将具备以下能力:
| 目标编号 | 能力描述 | 对应实践场景 |
|---|---|---|
| G1 | 理解Sigstore签名模型(Keyless、Key Pair、Rekor、Fulcio)与容器网络策略的映射关系 | 为NetworkPolicy YAML设计签名策略 |
| G2 | 掌握基于Cosign的网络运维准入策略签名与验证流水线搭建 | 在GitOps流水线中自动签名网络配置 |
| G3 | 能够评审现有容器网络运维准入策略中的签名缺失、权限过度、审计盲区等风险 | 安全审计CNO团队的策略变更记录 |
| G4 | 设计并实施基于Sigstore的权限变更风险检测规则(如HostPort创建、iptables修改、CNI升级) | 拦截未签名的高危网络操作 |
| G5 | 将Sigstore策略评审融入DevSecOps流程,实现网络运维变更的“签名-验证-审计”闭环 | 构建符合SLSA Level 2+的网络交付管线 |
1.4 学习路径与章节结构
本课程共30章,按知识递进关系分为五个阶段:
1.5 前置知识与工具准备
为获得最佳学习效果,建议学员具备以下基础:
- Kubernetes 基础:理解Pod、Service、NetworkPolicy、RBAC等核心资源。
- 容器网络概念:了解CNI插件(Calico、Cilium)、服务网格(Istio)的基本工作原理。
- CI/CD 流水线经验:熟悉GitOps或传统CI/CD流程(Jenkins、GitLab CI、GitHub Actions)。
- 命令行工具:安装
cosign、kubectl、opa或kyvernoCLI。
快速环境检查: 在终端执行
cosign version 确认版本 ≥ 2.0.0;执行 kubectl version --short 确认集群版本 ≥ 1.24。