1. 课程导论:IDP 与 Istio 安全集成概述

1.1 为什么需要 IDP 制品签名与 Istio 安全集成?

在云原生环境中,内部开发者平台(IDP) 负责从代码提交到制品交付的全链路自动化。然而,仅依赖平台自身的信任域存在严重风险:

  • 供应链攻击:未签名的容器镜像或 Helm Chart 可能被篡改,导致恶意代码进入生产集群。
  • 零信任网络策略缺失:即使制品已签名,服务网格(如 Istio)若未验证签名身份,仍可能允许未经授权的服务间调用。
  • 审计与合规断层:从制品构建到运行时流量,缺乏统一的身份绑定与策略执行点。

本课程将打通 IDP 制品签名链路 与 Istio 安全策略,实现从“代码签名”到“流量授权”的端到端信任链。

核心价值:通过集成,每个运行中的服务实例都携带可验证的签名身份,Istio 基于该身份执行细粒度访问控制,形成“制品可信 + 网络可信”的双重保障。

1.2 课程目标与受众

维度 说明
课程目标
  1. 掌握 IDP 中制品签名(镜像、Helm Chart、OCI 制品)的完整链路设计。
  2. 理解 Istio 的 mTLS、AuthorizationPolicy 与 PeerAuthentication 原理。
  3. 学会将签名验证结果(如 Sigstore 的验证断言)映射为 Istio 的 SPIFFE 身份。
  4. 能够配置基于签名身份的流量授权策略,实现零信任运行时安全。
目标受众
  • 云原生安全工程师 / DevSecOps 工程师
  • 平台工程团队(IDP 建设者)
  • 服务网格运维与安全策略制定者
  • 对供应链安全与零信任网络感兴趣的技术决策者
前置知识
  • Kubernetes 基础操作(Pod、Service、Deployment)
  • Istio 基本概念(Sidecar、VirtualService、DestinationRule)
  • 容器镜像签名基本概念(Cosign / Notation)

1.3 整体架构蓝图

下图展示了 IDP 制品签名链路与 Istio 安全策略集成的核心组件与数据流:

IDP 制品签名链路与 Istio 安全集成架构蓝图 IDP 制品签名链路 1. 代码提交 Git Push / PR Merge 2. CI 构建 & 签名 Cosign / Notation 签名 生成 SBOM + 签名断言 3. 制品仓库 OCI 镜像 / Helm Chart 4. 部署验证 策略引擎验证签名 5. 身份注入 SPIFFE ID 绑定签名 集成层:身份映射 签名断言 → SPIFFE 身份 验证策略 → Istio CRD 信任锚分发 策略审计日志 身份断言 Istio 安全策略 A. 双向 TLS (mTLS) PeerAuthentication B. 授权策略 AuthorizationPolicy C. 请求认证 RequestAuthentication D. 遥测与审计 访问日志 / 指标 策略下发 💡 集成关键点:IDP 输出的签名身份通过集成层转换为 Istio 可识别的 SPIFFE 身份,驱动 mTLS 与授权策略

1.4 课程核心流程

本课程将按照以下阶段逐步深入:

  1. 基础篇:IDP 制品签名工具链(Cosign、Notation、Sigstore)与 Istio 安全基础(mTLS、AuthorizationPolicy)。
  2. 集成篇:设计签名断言到 SPIFFE 身份的映射规则,实现部署时自动注入身份标签。
  3. 策略篇:编写基于签名身份的 Istio 授权策略,实现“仅允许已签名且验证通过的制品实例间通信”。
  4. 运维篇:策略热更新、信任锚轮换、审计日志与故障排查。
学习建议:建议在实验环境中同时部署 IDP(如 Tekton + Sigstore)和 Istio,跟随课程逐步构建集成链路。每章末尾提供可复用的 YAML 配置片段。

1.5 关键概念对比

概念 IDP 侧 Istio 侧 集成点
身份 签名密钥 / OIDC SPIFFE ID (spiffe://cluster.local/ns/...) 签名断言 → SPIFFE 映射
信任锚 Sigstore 根证书 / 私钥 Istio 根证书 (istio-ca-root-cert) 信任锚同步与验证
策略执行 部署前策略引擎(如 Kyverno) 运行时 Envoy 代理 策略一致性校验
审计 签名日志 (Rekor) 访问日志 (Telemetry) 关联签名与流量日志

1.6 课程实验环境概览

为完成本课程实验,建议准备以下环境:

  • Kubernetes 集群:v1.28+,建议使用 Kind 或 Minikube 本地部署。
  • Istio:v1.20+,启用 mTLS 严格模式。
  • Sigstore 工具链:cosign v2.2+,rekor-cli,fulcio(可选)。
  • IDP 引擎:Tekton v0.50+ 或 Argo Workflows v3.5+。
  • 策略引擎:Kyverno v1.12+ 或 OPA Gatekeeper v3.16+。
注意:生产环境部署时,请确保签名私钥的安全存储(如 KMS 硬件模块),并定期轮换 Istio 根证书。本课程实验环境可使用自签名证书简化流程。