SBOM の概要

このドキュメントでは、SBOM のコンセプトについて説明します。また、ソフトウェア サプライ チェーンの依存関係を把握するために利用できるアーティファクト分析機能の概要についても説明します。

コンテナ イメージを Artifact Registry に保存するときに、そのイメージの内容を記述するソフトウェア部品構成表(SBOM)を作成できます。ソフトウェアの依存関係を把握することで、セキュリティ対策を強化できます。SBOM は、大統領令(EO)14028 などのセキュリティ規制への準拠をサポートするために、ソフトウェアの構成を証明する場合にも役立ちます。

SBOM

SBOM は、ソフトウェアが依存するパッケージを特定する、アプリケーションの機械読み取り可能なインベントリです。その内容には、ベンダーのサードパーティ ソフトウェア、内部アーティファクト、オープンソース ライブラリが含まれます。

Artifact Analysis では、SBOM を生成することも、独自の SBOM をアップロードすることもできます。

Artifact Analysis で SBOM を生成する場合でも、独自の SBOM をアップロードする場合でも、Artifact Analysis は、一貫した保存と取得プロセスを提供して、すべての依存関係情報を 1 か所で調整して評価できるようにします。

SBOM 形式

Artifact Analysis は、Software Package Data Exchange(SPDX)2.3 形式で SBOM を生成します。

Google Cloud の外部から既存の SBOM をアップロードする場合は、追加の形式がサポートされています。SBOM をアップロードするをご覧ください。

SBOM ストレージ

Artifact Analysis は、SBOM を Google Cloud プロジェクトの Cloud Storage に保存します。SBOM オブジェクトを削除するか、バケットを削除しない限り、SBOM は Cloud Storage に保存されたままになります。料金については、Cloud Storage の料金をご覧ください。

サポートされているパッケージ タイプ

SBOM には、アーティファクト分析スキャンで識別できるすべてのパッケージのリストが含まれています。パッケージはコンテナ化し、Artifact Registry の Docker リポジトリに保存する必要があります。

Artifact Analysis は、次のパッケージ タイプをサポートしています。

  • OS
  • Java(Maven)
  • Go
  • Python
  • Node.js(npm)

SBOM リファレンスの発生

Artifact Analysis は、コンテナ固有の SBOM に加えて、Grafeas SBOM の参照オカレンスを生成します。これには次の情報が含まれます。

  • SBOM の Cloud Storage のロケーション
  • SBOM のハッシュ
  • SbomReferenceIntotoPayload の署名

署名を使用して、SBOM が Artifact Analysis によって生成されたことを確認できます。

署名には、ペイロード タイプ application/vnd.in-toto+jsonDSSE 署名プロトコルが使用されます。ペイロードは、SbomReferenceIntotoPayload の JSON 化された値です。

荷物の発生

より多くの依存関係情報を提供するために、Artifact Analysis はインストールされているパッケージごとに Grafeas のパッケージの発生も生成します。パッケージの発生には、次の情報が含まれます。

  • パッケージのバージョン
  • パッケージ タイプ
  • インストールされているパッケージのライセンス情報

制限事項

  • インストール済みパッケージのトラッキングは、Artifact Registry に push され、Container Scanning API によって評価されたコンテナ イメージでのみサポートされます。インストールされているパッケージに基づく gcloud CLI ルックアップは、インストールされているパッケージがこれらのイメージでのみ追跡されるため、Artifact Registry に保存されているイメージでのみ機能します。
  • Container Registry(非推奨)リポジトリはサポートされていません。Container Registry からの移行方法を確認する。

次のステップ