1. 课程导论:IDP 与 Istio 安全集成概述
1.1 为什么需要 IDP 制品签名与 Istio 安全集成?
在云原生环境中,内部开发者平台(IDP) 负责从代码提交到制品交付的全链路自动化。然而,仅依赖平台自身的信任域存在严重风险:
- 供应链攻击:未签名的容器镜像或 Helm Chart 可能被篡改,导致恶意代码进入生产集群。
- 零信任网络策略缺失:即使制品已签名,服务网格(如 Istio)若未验证签名身份,仍可能允许未经授权的服务间调用。
- 审计与合规断层:从制品构建到运行时流量,缺乏统一的身份绑定与策略执行点。
本课程将打通 IDP 制品签名链路 与 Istio 安全策略,实现从“代码签名”到“流量授权”的端到端信任链。
核心价值:通过集成,每个运行中的服务实例都携带可验证的签名身份,Istio 基于该身份执行细粒度访问控制,形成“制品可信 + 网络可信”的双重保障。
1.2 课程目标与受众
| 维度 | 说明 |
|---|---|
| 课程目标 |
|
| 目标受众 |
|
| 前置知识 |
|
1.3 整体架构蓝图
下图展示了 IDP 制品签名链路与 Istio 安全策略集成的核心组件与数据流:
1.4 课程核心流程
本课程将按照以下阶段逐步深入:
- 基础篇:IDP 制品签名工具链(Cosign、Notation、Sigstore)与 Istio 安全基础(mTLS、AuthorizationPolicy)。
- 集成篇:设计签名断言到 SPIFFE 身份的映射规则,实现部署时自动注入身份标签。
- 策略篇:编写基于签名身份的 Istio 授权策略,实现“仅允许已签名且验证通过的制品实例间通信”。
- 运维篇:策略热更新、信任锚轮换、审计日志与故障排查。
学习建议:建议在实验环境中同时部署 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 根证书。本课程实验环境可使用自签名证书简化流程。