Procure pacotes Java manualmente

Este início rápido mostra como extrair uma imagem de contentor, analisá-la manualmente com a análise a pedido e obter vulnerabilidades identificadas para pacotes do sistema e Maven. Para seguir este início rápido, vai usar o Cloud Shell e uma imagem do Alpine de exemplo.

Antes de começar

  1. 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

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

  3. 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

  4. Transfira e analise uma imagem

    1. Abra um Cloud Shell no seu projeto.

      Abra o Cloud Shell

      Esta ação abre um terminal com todas as ferramentas necessárias para seguir este guia.

    2. Use o docker para extrair a imagem do contentor:

      docker pull jenkins:2.60.3-alpine
      
    3. Execute a análise:

      gcloud artifacts docker images scan jenkins:2.60.3-alpine --additional-package-types=MAVEN
      

      Isto aciona o processo de análise e devolve o nome da análise quando terminar:

      ✓ 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. Use o nome da análise, o valor de scan da saída, para obter os resultados da análise:

      gcloud artifacts docker images list-vulnerabilities \
      projects/my-project/locations/us/scans/893c91ce-7fe6-4f1a-a69a-d6ca1b465160
      

      O resultado contém uma lista de vulnerabilidades de pacotes Maven e Linux. As vulnerabilidades dos pacotes Maven podem ser identificadas pelo campo packageType:MAVEN.

    Limpar

    Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.

    Se criou um novo projeto para este guia, pode eliminá-lo agora.

    • Abra a página Definições (encontrada em IAM e administrador) na Google Cloud consola.

      Abra a página Definições

    • Clique em Selecionar um projeto.

    • Selecione um projeto que quer eliminar e clique em Abrir.

    • Clique em Desligar.

    • Introduza o ID do projeto e, de seguida, clique em Encerrar.

    O que se segue?