Java パッケージを手動でスキャンする
このクイックスタートでは、コンテナ イメージを pull し、オンデマンド スキャンで手動でスキャンして、システム パッケージと Maven パッケージで特定された脆弱性を取得する方法について説明します。このクイックスタートでは、Cloud Shell と Alpine イメージの例を使用します。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
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 On-Demand Scanning API.
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. -
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 On-Demand Scanning API.
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. プロジェクトで Cloud Shell を開きます。
これにより、このガイドに沿って進めるために必要なツールがすべて含まれたターミナルが開きます。
docker を使用してコンテナ イメージを pull します。
docker pull jenkins:2.60.3-alpine
スキャンを実行します。
gcloud artifacts docker images scan jenkins:2.60.3-alpine --additional-package-types=MAVEN
これにより、スキャン プロセスがトリガーされ、完了するとスキャン名が返されます。
✓ Scanning container image ✓ Locally extracting packages and versions from local container image ✓ Remotely initiating analysis of packages and versions ✓ Waiting for analysis operation to complete [projects/my-project/locations/us/operations/1a6fd941-b997-4e5f-ba4f-6351f30e7dad] Done. done: true metadata: '@type': type.googleapis.com/google.cloud.ondemandscanning.v1.AnalyzePackagesMetadata createTime: '2021-01-26T13:43:53.112123Z' resourceUri: jenkins:2.60.3-alpine name: projects/my-project/locations/us/operations/1a6fd941-b99f-4eaf-ba4f-6e5af30e7dad response: '@type': type.googleapis.com/google.cloud.ondemandscanning.v1.AnalyzePackagesResponse scan: projects/my-project/locations/us/scans/893c91ce-7fe6-4f1a-a69a-d6ca1b465160
スキャン名と出力の
scan
の値を使用して、スキャン結果を取得します。gcloud artifacts docker images list-vulnerabilities \ projects/my-project/locations/us/scans/893c91ce-7fe6-4f1a-a69a-d6ca1b465160
出力には、Maven と Linux パッケージの脆弱性の一覧が含まれます。Maven パッケージの脆弱性は、
packageType:MAVEN
フィールドで特定できます。Google Cloud コンソールで [設定] ページ([IAM と管理] の下)を開きます。
[プロジェクトの選択] をクリックします。
削除するプロジェクトを選択して、[開く] をクリックします。
[シャットダウン] をクリックします。
プロジェクト ID を入力して、[シャットダウン] をクリックします。
画像をダウンロードしてスキャンする
クリーンアップ
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、次の手順を実施します。
このガイド用に新しいプロジェクトを作成した場合は、ここでプロジェクトを削除できます。