このドキュメントでは、Artifact Analysis が自動スキャンで検出する依存関係メタデータを表示してフィルタする方法について説明します。
スキャン API を有効にしてコンテナ イメージの脆弱性を特定すると、Artifact Analysis はイメージで使用されている依存関係とライセンスに関する情報も収集します。
このメタデータを使用して、コンテナ イメージのコンポーネントを把握し、セキュリティの問題を修正できます。
Artifact Analysis は、Docker 形式の Artifact Registry リポジトリに保存されているコンテナ イメージ内の OS パッケージとサポートされている言語パッケージの依存関係とライセンスを検出します。詳細については、コンテナ スキャンの概要をご覧ください。
脆弱性情報と同様に、ライセンスと依存関係のメタデータは、イメージを Artifact Registry に push するたびに生成され、Artifact Analysis に保存されます。
Artifact Analysis は、過去 30 日間に push または pull されたイメージのメタデータのみを更新します。30 日が経過すると、メタデータは更新されなくなり、結果は古くなります。さらに、Artifact Analysis は 90 日以上古いメタデータをアーカイブします。このメタデータは、Google Cloud コンソール、gcloud、API では使用できません。古いメタデータまたはアーカイブされたメタデータを含むイメージを再スキャンするには、そのイメージを pull します。メタデータの更新には最長で 24 時間ほどかかることがあります。
始める前に
-
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Container Analysis, Artifact Registry APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Container Analysis, Artifact Registry APIs.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Artifact Registry に Docker リポジトリを用意します。SBOM の生成の手順をご覧ください。
必要なロール
SBOM データの表示と結果のフィルタリングに必要な権限を取得するには、プロジェクトに対する次の IAM ロールの付与を管理者に依頼してください。
-
Container Analysis のオカレンスの閲覧者 (
roles/containeranalysis.occurrences.viewer
) -
Service Usage ユーザー(
roles/serviceusage.serviceUsageConsumer
) -
Artifact Registry 読み取り(
roles/artifactregistry.reader
)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
Google Cloud コンソールでライセンスと依存関係を表示する
Artifact Registry の [リポジトリ] ページを開きます。
リポジトリのリストが表示されます。
リポジトリ リストで、リポジトリ名をクリックします。
[リポジトリの詳細] ページが開き、イメージのリストが表示されます。
画像リストで、イメージ名をクリックします。
ページにイメージ ダイジェストのリストが表示されます。
イメージ ダイジェストのリストで、ダイジェスト名をクリックします。
このページには、タブの行が表示されます。[概要] タブが開いており、形式、ロケーション、リポジトリ、仮想サイズ、タグなどの詳細が表示されます。
タブの行で [依存関係] タブをクリックします。
[依存関係] タブが開き、次の情報が表示されます。
- SBOM セクション
- [ライセンス] セクション
- フィルタ可能な依存関係のリスト
SBOM
Artifact Analysis でソフトウェア部品構成表(SBOM)を生成またはアップロードすると、このセクションに SBOM の詳細が表示されます。SBOM は、ライセンス情報や依存関係情報のように自動的に生成されません。SBOM を追加する方法については、SBOM の概要をご覧ください。
ライセンス
[ライセンス] の概要セクションには、[最も一般的なライセンス] という棒グラフが表示されます。これは、依存関係情報に最も頻繁に表示されるライセンスのタイプを表します。グラフの棒の上にポインタを置くと、そのライセンスタイプのインスタンスの正確な数値がコンソールに表示されます。
依存関係
依存関係のリストには、次のようなイメージ ダイジェストの内容が表示されます。
- パッケージ名
- パッケージのバージョン
- パッケージ タイプ
- ライセンスの種類
依存関係のリストをこれらのカテゴリでフィルタできます。
Cloud Build でライセンスと依存関係を表示する
Cloud Build を使用している場合は、Google Cloud コンソールの [セキュリティ分析情報] サイドパネルでイメージのメタデータを表示できます。
[セキュリティ分析情報] サイドパネルには、Artifact Registry に保存されているアーティファクトのビルド セキュリティ情報の概要が表示されます。サイドパネルの詳細と、Cloud Build を使用してソフトウェア サプライ チェーンを保護する方法については、ビルドのセキュリティ分析情報を表示するをご覧ください。
制限事項
ライセンスと依存関係に関する情報は、自動スキャンでのみ利用できます。オンデマンド スキャンではこの機能はサポートされていません。
次のステップ
- コンプライアンス要件をサポートするためにソフトウェア部品構成表(SBOM)を生成します。
- 一般的なクエリパターンを使用して脆弱性を調査する。
- VEX ステートメントを作成して、イメージのセキュリティ対策を証明します。