This documentation is for a release that is no longer maintained
See documentation for the latest supported version.第 1 章 Red Hat Trusted Application Pipeline 的企业合同
软件供应链更复杂的变得复杂,更关键是利用可靠的检查和最佳实践来确保软件构件的完整性和源代码依赖。镜像容器等工件。在这里,Red Hat Enterprise Contract 输入您的 Red Hat Trusted Application Pipeline 构建和部署体验。
企业合同是一种策略驱动的工作流工具,通过定义和执行策略来构建和测试容器镜像来维护软件供应链安全性。对于在测试时为软件 Artifacts (SLSA)验证创建 Supply-chain Levels (SLSA)的构建系统,如带有 SLSA GitHub Generator 的 Tekton 带有 Tekton 链和 GitHub Actions 的 Tekton,检查签名并确认该签名并确认是否符合验证和维护软件提供链的完整性的关键部分。安全 CI/CD 工作流应包含工件验证,以尽早检测问题。这是企业合同的任务,以验证容器镜像是否已签名并由已知可信的构建系统测试。
验证签名和测试的容器镜像的一般步骤如下:
- 使用 Red Hat Trusted Application Pipeline 创建或复制容器镜像。
- 使用 Cosign 生成签名密钥。
- 使用 Cosign 为容器镜像签名。
- 使用 Cosign 测试镜像。
- 使用 Enterprise Contract CLI 验证您已签名和经测试的容器镜像。
但是,它意味着为软件工件(如容器镜像) 签名和 attest 吗?为什么要这样做?如何?
与未签名工件相比,签名的软件工件(如容器镜像)会显著降低多个攻击向量的风险。签名容器镜像时,各种加密技术将镜像绑定到特定的实体或机构。结果是一种数字签名,验证镜像的真实性,以便您可以将其追踪回其创建者(即实体或机构),同时验证镜像是否在签名后没有被更改或篡改。有关软件供应链威胁的更多信息,请参阅 Supply 链威胁。
企业合同使用行业标准 Sigstore Cosign 作为资源库来验证您的容器镜像。使用 Red Hat Trusted Artifact Signer,红帽支持的 Sigstore 框架版本,您可以使用您自己的 Sigstore 服务实例来通过 Cosign CLI 签发和测试容器镜像。有关 RHTAS 的更多信息,请参阅 Red Hat Trusted Artifact Signer。
与测试过程中的软件构件一样,在没有验证的情况下,它可能无法发生。经验证的 是有关软件工件的可验证信息,如描述生成工件的位置、时间和方式的容器镜像。attestation 本身是一个经过身份验证的声明,其元数据形式证明工件是完整且可信的。Enterprise Contract 使用该认证来加密验证构建没有被篡改,并根据任何一组策略(如 SLSA 要求)检查构建。有关 SLSA 的更多信息,请参阅关于 SLSA。
当您将代码从 RHTAP 开发命名空间推送到 stage 命名空间,或从 stage 命名空间推送到 production 命名空间时,企业合同会自动运行其验证检查,以确保容器镜像由已知和可信的构建系统签名和测试。当您的镜像通过企业合同检查时,您可以合并代码更改,以完成从一个环境到下一个环境的提升。有关将应用程序部署到其他命名空间的更多信息,请参阅 受信任的应用程序管道软件模板。有关 RHTAP 保存部署清单的更多信息,请参阅 RHTAP GitOps 存储库 及其 YAML 文件。