跳到内容

验证 Knative 镜像

Knative 为 Knative 版本中的每个镜像发布 SBOM 和 SLSA 出处文档。您还可以使用此信息来配置 sigstore 策略控制器或其他准入控制器来检查这些镜像证明。

先决条件

您需要安装 cosign 工具来获取和操作存储在容器注册表中的证明。

Knative SLSA 出处(已签名)

Knative 构建过程为构建过程中的每个镜像生成一个 SLSA in-toto 证明。对于 Knative 发布清单中的给定镜像,您可以使用以下方式验证构建证明

cosign verify-attestation \
  --certificate-oidc-issuer https://# \
  --certificate-identity signer@knative-releases.iam.gserviceaccount.com \
  --type slsaprovenance02 \
  $IMAGE

注意

Knative 镜像以 KEYLESS 模式签名。要了解有关无密钥签名的更多信息,请参阅 无密钥签名 我们的发布签名身份(主题)是 signer@knative-releases.iam.gserviceaccount.com,颁发者是 https://#

in-toto 文档在证明的 .payload 属性中进行 base64 编码;您可以使用 jq 通过以下调用提取此信息

cosign verify-attestation \
  --certificate-oidc-issuer https://# \
  --certificate-identity signer@knative-releases.iam.gserviceaccount.com \
  --type slsaprovenance02 \
  $IMAGE | jq -r .payload | base64 --decode | jq

Knative SBOM

对于每个容器镜像,Knative 都会发布一个与该镜像对应的 SBOM。这些 SBOM 在编译期间由 ko 工具生成,可以使用 cosign download sbom 命令下载。请注意,Knative 清单中的镜像引用是指多架构镜像;要提取特定架构的软件组件(因为不同架构可能使用不同的库构建),您需要对特定架构的镜像(例如 linux/amd64)运行 cosign download sbom

我们使用分析和 cookie 来了解网站流量。有关您使用我们网站的信息会与 Google 共享以达到此目的。了解更多。