SBOM を生成し保存する

このドキュメントでは、コンテナ イメージの依存関係を一覧表示するソフトウェア部品構成表(SBOM)を作成して保存する方法について説明します。

コンテナ イメージを Artifact Registry に保存し、Artifact Analysis で脆弱性をスキャンすると、Google Cloud CLI を使用して SBOM を生成できます。

脆弱性スキャンの使用方法については、自動スキャン料金をご覧ください。

Artifact Analysis は SBOM を Cloud Storage に保存します。Cloud Storage の費用の詳細については、料金をご覧ください。

Container Registry(非推奨)リポジトリはサポートされていません。Container Registry からの移行方法を確認する。

始める前に

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry, Container Analysis, Container Scanning APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Artifact Registry, Container Analysis, Container Scanning APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. Artifact Registry に Docker リポジトリを作成し、コンテナ イメージをリポジトリに push します。Artifact Registry に慣れていない場合は、Docker のクイックスタートをご覧ください。

必要なロール

Cloud Storage バケットの管理と SBOM ファイルのアップロードに必要な権限を取得するには、プロジェクトに対するストレージ管理者 roles/storage.admin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

SBOM ファイルを生成する

SBOM ファイルを生成するには、次のコマンドを使用します。

gcloud artifacts sbom export --uri=URI

場所

  • URI は、us-east1-docker.pkg.dev/my-image-repo/my-image と同様に、SBOM ファイルが記述する Artifact Registry イメージの URI です。画像は、タグ形式またはダイジェスト形式のいずれかです。タグ形式で指定された画像は、ダイジェスト形式に解決されます。

Artifact Analysis は SBOM を Cloud Storage に保存します。

SBOM は、Google Cloud コンソールまたは gcloud CLI を使用して表示できます。SBOM を含む Cloud Storage バケットを見つけるには、gcloud CLI を使用して SBOM を検索する必要があります。

脆弱性スキャンなしで SBOM を生成する

SBOM を生成したいが、プロジェクトの脆弱性スキャンを継続したくない場合は、イメージを Artifact Registry に push する前に Container Scanning API を有効にすると、SBOM をエクスポートできます。イメージが Artifact Registry に push され、SBOM がエクスポートされたら、さらなる脆弱性スキャンの料金が発生しないように Container Scanning API を無効にする必要があります。

次のステップ