Verificar pacotes do SO automaticamente

Saiba como ativar a verificação automática, enviar uma imagem de contêiner para o Artifact Registry e conferir uma lista de vulnerabilidades encontradas na imagem.

O Artifact Analysis verifica vulnerabilidades sempre que uma imagem é enviada por push para o Artifact Registry. Os administradores de plataforma e os desenvolvedores de aplicativos podem usar esse recurso de verificação automática para identificar riscos no pipeline de entrega de software.

Este guia de início rápido usa um pacote simples disponível publicamente para demonstrar um tipo de verificação de pacote. Por padrão, o Artifact Analysis verifica vulnerabilidades em vários tipos de pacotes depois que você ativa a API de verificação. Os tipos de pacotes compatíveis 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 você estiver usando um provedor de identidade externo (IdP), primeiro faça login na CLI gcloud com 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 você estiver usando um provedor de identidade externo (IdP), primeiro faça login na CLI gcloud com 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. Criar um repositório do Docker no Artifact Registry

    Crie um repositório do Docker para armazenar a imagem de amostra deste guia de início rápido.

    1. Abra a página Repositórios no console do Google Cloud .

      Abrir a página Repositórios

    2. Clique em Criar repositório.

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

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

    A página Repositórios vai aparecer. O repositório quickstart-docker-repo é adicionado à lista de repositórios.

    Configurar a autenticação

    Antes de enviar ou extrair imagens com o Artifact Registry, configure o Docker para usar a Google Cloud CLI e autenticar solicitações ao Artifact Registry.

    No Cloud Shell ou no 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
    

    Receber um pacote

    1. Mude para um diretório em que você quer salvar a imagem do contêiner.

    2. Copie a imagem para o diretório local. Por exemplo, é possível usar o Docker para extrair a imagem mais recente do Ubuntu do Docker Hub.

      docker pull ubuntu:latest
      

    Marcar o pacote com um nome de repositório

    Quando você quer enviar um pacote para o Artifact Registry, é necessário configurar o comando docker push para enviar a imagem a um local específico.

    Execute o comando a seguir para marcar 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 Google Cloud ID do projeto. Se o ID do projeto contiver dois pontos (:), consulte Projetos com escopo de domínio.
    • us-central1 é a região do repositório do Artifact Registry.
    • docker.pkg.dev é o nome do host dos repositórios do Docker.
    • quickstart-image é o nome da imagem que você quer usar no repositório. O nome da imagem pode ser diferente do nome da imagem local.
    • tag1 é uma tag que você está adicionando à imagem do Docker. Se você não especificou uma tag, o Docker aplicará a tag padrão latest.

    Envie a imagem para o Artifact Registry

    O Artifact Analysis verifica automaticamente as novas imagens quando elas são enviadas para o Artifact Registry.

    Para enviar a imagem ao 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 Google Cloud ID do projeto. Se o ID do projeto contiver dois pontos (:), consulte Projetos com escopo de domínio.

    Conferir resultados da verificação de vulnerabilidades

    Para ver as vulnerabilidades em uma imagem:

    1. Abra a lista de repositórios do Artifact Registry no console do Artifact Analysis.

      Abrir a página Repositórios

    2. Na lista de repositórios, clique em um deles.

    3. Clique no nome de uma imagem.

      Você vai ver uma lista de resumos da sua imagem.

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

      Captura de tela de uma imagem com vulnerabilidades

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

      Você vai ver uma lista de vulnerabilidades.

      Captura de tela de uma lista de imagens e detalhes de vulnerabilidade

      A lista de vulnerabilidades mostra o número de vezes que essa imagem foi verificada, os níveis de gravidade da vulnerabilidade, se há alguma correção disponível, o nome do pacote que contém a vulnerabilidade e o tipo de pacote.

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

    Outras maneiras de ver os resultados

    O console Google Cloud mostra até 1.200 vulnerabilidades. Se a imagem tiver mais de 1.200 vulnerabilidades, use a gcloud ou a API para conferir a lista completa.

    Limpar

    Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, exclua o projeto do Google Cloud com os recursos.

    Se você criou um novo projeto para este guia, agora é possível excluí-lo.

      Delete a Google Cloud project:

      gcloud projects delete PROJECT_ID

    A seguir