SBOM 概览

本文档介绍了 SBOM 概念,并概述了可帮助您了解软件供应链中依赖项的 Artifact Analysis 功能。

在 Artifact Registry 中存储容器映像时,您可以创建软件物料清单 (SBOM) 来描述该映像的内容。了解软件的依赖项有助于提升安全状况。SBOM 还可以帮助您证明软件的组成,从而支持您遵守行政命令 (EO) 14028 等安全法规。

SBOM

SBOM 是一种机器可读的应用清单,用于标识软件所依赖的软件包。内容可以包括供应商提供的第三方软件、内部制品和开源库。

借助 Artifact Analysis,您可以生成 SBOM,也可以上传自己的 SBOM。

无论您是使用 Artifact Analysis 生成 SBOM,还是上传自己的 SBOM,Artifact Analysis 都会提供一致的存储和检索流程,帮助您在一个位置协调和评估所有依赖项信息。

SBOM 格式

Artifact Analysis 会以软件包数据交换 (SPDX) 2.3 格式生成 SBOM。

如果您想从 Google Cloud外部上传现有 SBOM,则支持其他格式。请参阅上传 SBOM

SBOM 存储

Artifact Analysis 会将您的 SBOM 存储在Google Cloud 项目的 Cloud Storage 中。除非您删除 SBOM 对象删除存储桶,否则 SBOM 会一直存储在 Cloud Storage 中。如需了解价格,请参阅 Cloud Storage 价格

支持的软件包类型

SBOM 提供了一份列表,其中列出了 Artifact Analysis 扫描可以识别的所有软件包。软件包必须容器化,并存储在 Artifact Registry 中的 Docker 代码库中。

如需详细了解支持的软件包类型,请参阅容器扫描概览

SBOM 参考出现次数

除了容器专用的 SBOM 之外,Artifact Analysis 还会生成一个 Grafeas SBOM 参考发生项,其中包含以下信息:

  • SBOM 的 Cloud Storage 位置
  • SBOM 的哈希值
  • 超过 SbomReferenceIntotoPayload 的签名

您可以使用签名来验证 SBOM 是否由 Artifact Analysis 生成。

签名使用 DSSE 签名协议,载荷类型为 application/vnd.in-toto+json。载荷是 SbomReferenceIntotoPayload 的 JSON 化值。

包裹出现

为了提供更多依赖项信息,Artifact Analysis 还会为每个已安装的软件包生成一个 Grafeas 软件包出现情况。软件包出现次数包含以下信息:

  • 软件包版本
  • 软件包类型
  • 已安装软件包的许可信息

限制

  • 仅当容器映像被推送到 Artifact Registry 并由 Container Scanning API 进行评估时,系统才会支持已安装软件包跟踪功能。 相应地,基于已安装软件包的 gcloud CLI 查找仅适用于存储在 Artifact Registry 中的映像,因为仅在这些映像上跟踪已安装的软件包。

后续步骤