Java パッケージを手動でスキャンする

このクイックスタートでは、コンテナ イメージを pull し、オンデマンド スキャンで手動でスキャンして、システム パッケージと Maven パッケージで特定された脆弱性を取得する方法について説明します。このクイックスタートでは、Cloud Shell と Alpine イメージの例を使用します。

始める前に

  1. アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

イメージをダウンロードしてスキャンする

  1. プロジェクトで Cloud Shell を開きます。

    Cloud Shell を開く

    これにより、このガイドに沿って進めるために必要なすべてのツールを備えたターミナルが開きます。

  2. docker を使用してコンテナ イメージを pull します。

    docker pull jenkins:2.60.3-alpine
    
  3. スキャンを実行します。

    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
    
  4. スキャン名(出力の 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 と管理] の下)を開きます。 Google Cloud

    [設定] ページを開く

  • [プロジェクトの選択] をクリックします。

  • 削除するプロジェクトを選択して、[開く] をクリックします。

  • [シャットダウン] をクリックします。

  • プロジェクト ID を入力して、[シャットダウン] をクリックします。

次のステップ