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. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  7. To initialize the gcloud CLI, run the following command:

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

    Go to project selector

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

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

    Enable the APIs

  11. Install the Google Cloud CLI.

  12. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  13. To initialize the gcloud CLI, run the following command:

    gcloud init
  14. Artifact Registry に Docker リポジトリを作成し、コンテナ イメージをリポジトリに push します。Artifact Registry に習熟されていない場合は、Docker クイックスタートをご覧ください。
  15. 必要なロール

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

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

    SBOM ファイルを生成する

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

    gcloud artifacts sbom export --uri=URI
    

    場所

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

    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 を無効にして、脆弱性スキャンに対する課金を停止する必要があります。

    次のステップ