このドキュメントでは、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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Container Analysis, Artifact Registry APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Container Analysis, Artifact Registry APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init
- Artifact Registry に Docker リポジトリを用意します。SBOM を生成するの手順をご覧ください。
-
Container Analysis のオカレンスの閲覧者 (
roles/containeranalysis.occurrences.viewer
) -
Service Usage ユーザー(
roles/serviceusage.serviceUsageConsumer
) -
Artifact Registry 読み取り(
roles/artifactregistry.reader
) Artifact Registry の [リポジトリ] ページを開きます。
リポジトリのリストが表示されます。
リポジトリ リストで、リポジトリ名をクリックします。
[リポジトリの詳細] ページが開き、イメージのリストが表示されます。
イメージのリストで、イメージ名をクリックします。
このページには、イメージ ダイジェストのリストが表示されます。
イメージ ダイジェストのリストで、ダイジェスト名をクリックします。
ページにタブの行が表示され、[概要] タブが開いて、形式、場所、リポジトリ、仮想サイズ、タグなどの詳細が表示されます。
タブの行で、[依存関係] タブをクリックします。
[依存関係] タブが開き、次の情報が表示されます。
- SBOM セクション
- ライセンス セクション
- フィルタ可能な依存関係のリスト
- パッケージ名
- パッケージのバージョン
- パッケージ タイプ
- ライセンスの種類
- コンプライアンス要件をサポートするために、ソフトウェア部品構成表(SBOM)を生成します。
- 一般的なクエリ パターンを使用して脆弱性を調査する。
- VEX ステートメントを作成して、イメージのセキュリティ体制を証明します。
必要なロール
SBOM データの表示と結果のフィルタリングに必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
Google Cloud コンソールでライセンスと依存関係を表示する
SBOM
Artifact Analysis でソフトウェア部品構成表(SBOM)を生成またはアップロードすると、SBOM の詳細がこのセクションに表示されます。ライセンスや依存関係の情報とは異なり、SBOM は自動的に生成されません。SBOM を追加する方法については、SBOM の概要をご覧ください。
ライセンス
[ライセンス] の概要セクションには、[最も一般的なライセンス] という棒グラフが表示されます。これは、依存関係情報に最も頻繁に表示されるライセンスの種類を表します。グラフの棒の上にポインタを置くと、コンソールにそのライセンス タイプのインスタンスの正確な数が表示されます。
依存関係
依存関係のリストには、次のようなイメージ ダイジェストの内容が表示されます。
依存関係のリストは、これらのカテゴリでフィルタできます。
Cloud Build でライセンスと依存関係を表示する
Cloud Build を使用している場合は、 Google Cloud コンソールの [セキュリティ分析情報] サイドパネルでイメージのメタデータを表示できます。
[セキュリティ分析情報] サイドパネルには、Artifact Registry に保存されているアーティファクトのビルド セキュリティ情報の概要が表示されます。サイドパネルの詳細と、Cloud Build を使用してソフトウェア サプライ チェーンを保護する方法については、ビルドのセキュリティ分析情報を表示するをご覧ください。
制限事項
ライセンスと依存関係に関する情報は、自動スキャンでのみ利用できます。オンデマンド スキャンはこの機能に対応していません。