Analise automaticamente pacotes do SO

Saiba como ativar a análise automática, enviar uma imagem de contentor para o Artifact Registry e ver uma lista de eventuais vulnerabilidades encontradas na imagem.

A Artifact Analysis procura vulnerabilidades sempre que uma imagem é enviada para o Artifact Registry. Os administradores de plataformas e os programadores de aplicações podem usar esta funcionalidade de análise automática para ajudar a identificar riscos no respetivo pipeline de entrega de software.

Este início rápido usa um pacote simples disponível publicamente para demonstrar um tipo de análise de pacotes. Por predefinição, a análise de artefactos procura vulnerabilidades em vários tipos de pacotes assim que ativa a API de análise. Os tipos de pacotes suportados incluem: SO, Go, Java (Maven), Python e Node.js (npm).

Antes de começar

  1. 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.
  2. Install the Google Cloud CLI.

  3. Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI gcloud com a sua identidade federada.

  4. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  5. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

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

  7. Enable the Artifact Registry and Container Scanning APIs:

    gcloud services enable containerscanning.googleapis.com  artifactregistry.googleapis.com
  8. Install the Google Cloud CLI.

  9. Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro, tem de iniciar sessão na CLI gcloud com a sua identidade federada.

  10. Para inicializar a CLI gcloud, execute o seguinte comando:

    gcloud init
  11. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

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

  13. Enable the Artifact Registry and Container Scanning APIs:

    gcloud services enable containerscanning.googleapis.com  artifactregistry.googleapis.com
  14. Crie um repositório Docker no Artifact Registry

    Crie um repositório Docker para armazenar a imagem de exemplo para este início rápido.

    1. Abra a página Repositórios na Google Cloud consola.

      Abra a página Repositórios

    2. Clique em Criar repositório.

    3. Na página Criar repositório, introduza as seguintes definições:

      • Nome: quickstart-docker-repo
      • Formato: Docker
      • Modo: padrão
      • Tipo de localização: região
      • Região: us-central1
    4. Clique em Criar.

    É apresentada a página Repositórios. O repositório quickstart-docker-repo é adicionado à lista de repositórios.

    Configure a autenticação

    Antes de poder enviar ou extrair imagens com o Artifact Registry, tem de configurar o Docker para usar a Google Cloud CLI para autenticar pedidos ao Artifact Registry.

    No Cloud Shell ou na shell local, configure a autenticação para repositórios do Docker na região us-central1:

    gcloud auth configure-docker us-central1-docker.pkg.dev
    

    Obtenha um pacote

    1. Altere para um diretório onde quer guardar a imagem do contentor.

    2. Copie a imagem para o seu diretório local. Por exemplo, pode usar o Docker para transferir a imagem mais recente do Ubuntu a partir do Docker Hub.

      docker pull ubuntu:latest
      

    Etiquete o seu pacote com um nome de repositório

    Quando quiser enviar um pacote para o Artifact Registry, tem de configurar o comando docker push para enviar a imagem para uma localização específica.

    Execute o seguinte comando para etiquetar a imagem como quickstart-image:tag1:

    docker tag ubuntu:latest \
    us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

    Onde

    • PROJECT é o seu Google Cloud ID do projeto. Se o ID do projeto contiver dois pontos (:), consulte o artigo Projetos com âmbito de domínio.
    • us-central1 é a região do repositório do Artifact Registry.
    • docker.pkg.dev é o nome do anfitrião dos repositórios Docker.
    • quickstart-image é o nome da imagem que quer usar no repositório. O nome da imagem pode ser diferente do nome da imagem local.
    • tag1 é uma etiqueta que está a adicionar à imagem do Docker. Se não especificou uma etiqueta, o Docker aplica a etiqueta predefinida latest.

    Envie a imagem para o Artifact Registry

    A análise de artefactos analisa automaticamente novas imagens quando são carregadas para o Artifact Registry.

    Para enviar a imagem para o repositório do Docker no Artifact Registry, execute o seguinte comando:

    docker push us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

    Substitua PROJECT pelo seu Google Cloud ID do projeto. Se o ID do projeto contiver dois pontos (:), consulte o artigo Projetos com âmbito de domínio.

    Veja os resultados da análise de vulnerabilidades

    Para ver as vulnerabilidades numa imagem:

    1. Abra a lista dos seus repositórios do Artifact Registry na consola de análise de artefactos.

      Abra a página Repositórios

    2. Na lista de repositórios, clique num repositório.

    3. Clique no nome de uma imagem.

      É apresentada uma lista de resumos da sua imagem.

      O total de vulnerabilidades para cada resumo de imagem é apresentado na coluna Vulnerabilidades.

      Captura de ecrã de uma imagem com vulnerabilidades

    4. Clique no número total de vulnerabilidades associadas na coluna Vulnerabilidades.

      É apresentada uma lista de vulnerabilidades.

      Captura de ecrã de uma lista de imagens e detalhes de vulnerabilidade

      A lista de vulnerabilidades mostra o número de vezes que esta imagem foi analisada, os níveis de gravidade das vulnerabilidades, a disponibilidade de uma correção, o nome do pacote que contém a vulnerabilidade e o tipo de pacote.

    5. Para saber mais acerca de uma vulnerabilidade específica da origem da vulnerabilidade, clique no identificador CVE associado na coluna Nome.

    Outras formas de ver os resultados

    A Google Cloud consola apresenta até 1200 vulnerabilidades. Se a sua imagem tiver mais de 1200 vulnerabilidades, use o gcloud ou a API para ver a lista completa.

    Limpar

    Para evitar incorrer em custos na sua Google Cloud conta pelos recursos usados nesta página, elimine o Google Cloud projeto com os recursos.

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

      Delete a Google Cloud project:

      gcloud projects delete PROJECT_ID

    O que se segue?