ビルド セキュリティの分析情報を表示

このページでは、Google Cloud コンソールの [セキュリティ分析情報] サイドパネルを使用して、Cloud Build ビルドのセキュリティ情報を表示する方法について説明します。

[セキュリティ分析情報] サイドパネルには、複数のセキュリティ指標の概要が表示されます。サイドパネルを使用して、ビルドプロセスにおけるリスクを特定して軽減できます。

[セキュリティ分析情報] パネルのスクリーンショット

このパネルには、次の情報が表示されます。

  • ソフトウェア アーティファクトのためのサプライチェーン レベル(SLSA): SLSA 仕様に従って、ソフトウェア ビルドプロセスの成熟度を示します。たとえば、このビルドは SLSA レベル 3 を取得しています。
  • 脆弱性: アーティファクトで見つかった脆弱性の概要と、Artifact Analysis によってスキャンされたイメージの名前。イメージ名をクリックすると、脆弱性の詳細が表示されます。たとえば、このスクリーンショットでは java-guestbook-backend をクリックします。
  • ビルド済みアーティファクトの脆弱性の悪用に関する eXchange(VEX)ステータス
  • ビルド アーティファクトのソフトウェア部品構成表(SBOM)
  • ビルドの詳細: ビルダーやログのリンクなど、ビルドの詳細。

脆弱性スキャンを有効にする

[セキュリティ分析情報] パネルには、Cloud Build と Artifact Analysis のデータが表示されます。Artifact Analysis は、Artifact Registry にビルド アーティファクトをアップロードするときに、OS、Java(Maven)、Go パッケージの脆弱性をスキャンするサービスです。

セキュリティ分析情報の結果の全体を受け取るには、脆弱性スキャンを有効にする必要があります。

  1. Container Scanning API を有効にして、脆弱性スキャンを有効にします。

    Container Scanning API を有効にする

  2. ビルドを実行し、ビルド アーティファクトを Artifact Registry に保存します。Artifact Analysis は、ビルド アーティファクトを自動的にスキャンします。

ビルドのサイズによっては、脆弱性スキャンに数分かかることがあります。

脆弱性スキャンの詳細については、自動スキャンをご覧ください。

スキャンには費用がかかります。詳しい料金情報については、料金ページをご覧ください。

分析情報を表示する権限を付与する

Google Cloud コンソールでセキュリティ分析情報を表示するには、次の IAM ロール、または同等の権限を持つロールを付与されていることが必要です。Artifact Registry と Artifact Analysis が別々のプロジェクトで実行されている場合は、Artifact Analysis が実行されているプロジェクトに Container Analysis Occurrences 閲覧者のロールまたは同等の権限を追加する必要があります。

[セキュリティ分析情報] サイドパネルを表示する

[セキュリティ分析情報] パネルを表示するには:

  1. Google Cloud コンソールで [ビルド履歴] ページを開きます。

    [ビルド履歴] ページを開く

  2. プロジェクトを選択し、[開く] をクリックします。

  3. [リージョン] プルダウン メニューで、ビルドを実行したリージョンを選択します。

  4. ビルドがあるテーブルで、セキュリティ分析情報を表示するビルドの行を探します。

  5. [セキュリティ分析情報] 列で、[表示] をクリックします。

    [セキュリティ分析情報] サイドパネルが開きます。

  6. (省略可)ビルドで複数のアーティファクトが生成される場合は、[アーティファクト] プルダウンからセキュリティ分析情報を表示するアーティファクトを選択します。

    マルチコンテナ ビルドのセキュリティ分析情報パネルのスクリーンショット

    選択したアーティファクトの [セキュリティ分析情報] パネルが表示されます。

SLSA レベル

SLSA レベルは、ガイドラインのコレクションに基づいて、ビルドの現在のセキュリティ保証レベルを評価します。

脆弱性

[脆弱性] カードには、ビルド アーティファクトの脆弱性の発生回数、利用可能な修正、VEX のステータスが表示されます。

Artifact Analysis は、Artifact Registry に push されたコンテナ イメージのスキャンをサポートします。このスキャンにより、オペレーティング システム パッケージと、Java(Maven)または Go で作成されたアプリケーション パッケージの脆弱性が検出されます。

スキャン結果は重大度ごとに整理されます。重大度は、脆弱性が悪用される可能性、その範囲、影響、成熟度に基づく定性的な評価です。

イメージ名をクリックすると、脆弱性スキャンが完了したアーティファクトが表示されます。

Artifact Analysis は、関連する VEX ステートメントを Artifact Registry に push されたコンテナ イメージごとに保存できます。VEX は、プロダクトが既知の脆弱性の影響を受けているかどうかを示すセキュリティ アドバイザリの一種です。

各 VEX ステートメントの内容は次のとおりです。

  • VEX ステートメントのパブリッシャー
  • ステートメントが書き込まれるアーティファクト
  • 既知の脆弱性の脆弱性評価(VEX ステータス)

依存関係

[依存関係] カードには、依存関係のリストを含む SBOM のリストが表示されます。

Cloud Build でコンテナ イメージを作成して Artifact Registry に push すると、Artifact Analysis は push されたイメージの SBOM レコードを生成できます。

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

ビルド

ビルドカードには次の情報が含まれます。

  • ログ - ビルドログ情報へのリンク
  • ビルダー - ビルダー名
  • 完了 - ビルドが完了してからの経過時間
  • 来歴 - ビルドに関する検証可能なメタデータ

来歴のメタデータには、ビルドされたイメージのダイジェスト、入力ソースの場所、ビルド ツールチェーン、ビルドステップ、ビルド時間などの詳細情報が含まれます。また、いつでもビルドの来歴を検証できます。

今後のビルドに来歴情報が含まれるようにするには、イメージに来歴メタデータが含まれることを要求するように Cloud Build を構成します。

ソフトウェア デリバリー シールドで Cloud Build を使用する

Cloud Build の [セキュリティ分析情報] サイドパネルは、ソフトウェア デリバリー シールド ソリューションのコンポーネントの一つです。ソフトウェア デリバリー シールドは、フルマネージドのエンドツーエンド ソフトウェア サプライ チェーン セキュリティ ソリューションです。ソフトウェアの構築とデプロイに使用するデベロッパー ワークフローとツール、ソフトウェアの依存関係、CI/CD システム、およびランタイム環境(Google Kubernetes Engine や Cloud Run など)のセキュリティ対策の改善に役立ちます。

ソフトウェア デリバリー シールドのその他のコンポーネントで Cloud Build を使用して、ソフトウェア サプライ チェーンのセキュリティ体制を改善する方法については、ソフトウェア デリバリー シールドの概要をご覧ください。

次のステップ