介绍

目录

Tekton Chains 介绍

Tekton Chains 是一个 Kubernetes 自定义资源定义(CRD)控制器,旨在为 Tekton pipelines 提供供应链安全功能。它通过监视 TaskRun 和 PipelineRun 的执行,捕获相关信息,并以加密签名的格式存储这些信息。这样可以为所有流水线活动提供安全且可验证的记录,确保您的软件供应链的完整性。

Tekton Chains 构建于 Tekton Pipelines 之上,扩展了 CI/CD 的能力,增加了安全功能,使组织能够根据行业标准如 SLSA(软件工件供应链级别)实施软件供应链安全实践。

Tekton Chains 优势

Tekton Chains 的核心优势如下:

  • 安全的软件供应链

    Tekton Chains 对 CI/CD 流水线中产生的所有工件提供加密验证,确保您的软件从构建到部署过程中未被篡改。

  • SLSA 合规

    支持多种 SLSA 溯源格式,帮助组织满足供应链安全的行业标准,实现更高水平的 SLSA 合规。

  • 无缝集成

    原生支持 Tekton Pipelines,几乎无需更改现有 CI/CD 工作流配置,即可添加强大的安全功能。

  • 灵活的存储选项

    支持多种存储后端,包括 Tekton、OCI 注册表、GCS 等,允许您根据组织需求选择最合适的签名和证明存储位置。

  • 多种签名方式

    支持多种签名机制,包括 x509、Cosign 以及 KMS 系统(GCP KMS、Hashicorp Vault、AWS KMS、Azure KMS),为您的供应链安全提供灵活选择。

应用场景

Tekton Chains 的主要应用场景如下:

  • 安全的 CI/CD 流水线

    组织可以使用 Tekton Chains 为现有 CI/CD 流水线添加加密验证,确保所有产生的工件均已签名且可验证。

  • 合规需求

    对于需要满足软件供应链安全相关法规或行业合规要求的组织,Tekton Chains 提供必要的证明和验证。

  • 容器镜像签名

    自动为 Tekton pipelines 中构建的容器镜像签名,确保只有经过验证的镜像才能部署到生产环境。

  • 溯源生成

    为流水线中构建的所有工件生成并签署 SLSA 溯源,提供每个工件创建过程的可验证记录。

  • 透明度日志

    将签署的证明存储在如 Rekor 之类的透明度日志中,实现第三方对您的软件供应链的验证。

限制

  • Tekton Chains 需要对签名工件的密钥进行妥善管理。您的供应链安全依赖于签名密钥的安全性。

  • 某些功能可能需要额外配置外部服务,如 OCI 注册表或 KMS 系统。

  • Tekton Chains 在 TaskRun 和 PipelineRun 完成后进行观察,因此从流水线结束到证明可用之间可能存在轻微延迟。

  • Tekton Chains 仅生成 Attestation,不负责验证 Attestation。

    • 您需要使用其他工具来验证 Attestation。例如,您可以使用以下工具: