Verificar pacotes Go automaticamente
Aprenda a ativar a verificação automática, enviar uma imagem de contêiner no Artifact Registry e conferir uma lista de vulnerabilidades encontradas na imagem.
O Artifact Analysis verifica vulnerabilidades sempre que uma imagem é enviada ao Artifact Registry. Os administradores de plataforma e os desenvolvedores de aplicativos podem usar esse recurso de verificação automática para ajudar a 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 pacote depois que você ativa a API de verificação. Os tipos de pacote compatíveis incluem: SO, Go, Java (Maven), Python e Node.js (npm).
Antes de começar
- Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
-
Instale a Google Cloud CLI.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init -
Crie ou selecione um Google Cloud projeto.
Funções necessárias para selecionar ou criar um projeto
- Selecionar um projeto: a seleção de um projeto não exige um papel específico do IAM. Você pode selecionar qualquer projeto em que tenha recebido um papel.
-
Criar um projeto: para criar um projeto, você precisa do papel de criador de projetos
(
roles/resourcemanager.projectCreator), que contém aresourcemanager.projects.createpermissão. Saiba como conceder papéis.
-
Crie um Google Cloud projeto do:
gcloud projects create PROJECT_ID
Substitua
PROJECT_IDpor um nome para o Google Cloud projeto do que você está criando. -
Selecione o Google Cloud projeto do que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_IDpelo nome do Google Cloud projeto.
-
Verifique se o faturamento está ativado para o Google Cloud projeto.
Ative as APIs Artifact Registry e Container Scanning:
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter o papel do IAM de administrador de Service Usage role (
roles/serviceusage.serviceUsageAdmin), que contém aserviceusage.services.enablepermissão. Saiba como conceder papéis.gcloud services enable containerscanning.googleapis.com
artifactregistry.googleapis.com -
Instale a Google Cloud CLI.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init -
Crie ou selecione um Google Cloud projeto.
Funções necessárias para selecionar ou criar um projeto
- Selecionar um projeto: a seleção de um projeto não exige um papel específico do IAM. Você pode selecionar qualquer projeto em que tenha recebido um papel.
-
Criar um projeto: para criar um projeto, você precisa do papel de criador de projetos
(
roles/resourcemanager.projectCreator), que contém aresourcemanager.projects.createpermissão. Saiba como conceder papéis.
-
Crie um Google Cloud projeto do:
gcloud projects create PROJECT_ID
Substitua
PROJECT_IDpor um nome para o Google Cloud projeto do que você está criando. -
Selecione o Google Cloud projeto do que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_IDpelo nome do Google Cloud projeto.
-
Verifique se o faturamento está ativado para o Google Cloud projeto.
Ative as APIs Artifact Registry e Container Scanning:
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter o papel do IAM de administrador de Service Usage role (
roles/serviceusage.serviceUsageAdmin), que contém aserviceusage.services.enablepermissão. Saiba como conceder papéis.gcloud services enable containerscanning.googleapis.com
artifactregistry.googleapis.com
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.
Abra a página Repositórios no Google Cloud console.
Clique em Criar repositório.
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
- Nome:
Clique em Criar.
A página Repositórios é exibida. O repositório quickstart-docker-repo é adicionado à lista de repositórios.
Configurar a autenticação
Antes de fazer push ou pull de imagens com o Artifact Registry, é necessário configurar 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
Mude para um diretório em que você quer salvar a imagem do contêiner.
Copie uma imagem para o diretório local. Por exemplo, você pode usar o Docker para extrair a imagem Go mais recente do Docker Hub.
docker pull golang:1.17.6-alpine
Marcar o pacote com um nome de repositório
Quando você quiser enviar um pacote para o Artifact Registry, será 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 golang:1.17.6-alpine \ us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Em que:
- PROJECT é o ID do seu Google Cloud
projeto.
Se o ID do projeto tiver 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ãolatest.
Envie a imagem para o Artifact Registry
O Artifact Analysis verifica automaticamente novos pacotes Go quando eles são enviados ao 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 por seu Google Cloud
ID do projeto.
Se o ID do projeto tiver dois pontos (:), consulte
Projetos com escopo de domínio.
Conferir resultados da verificação de vulnerabilidades
Liberar espaço
Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, exclua o Google Cloud projeto do e os recursos.
Se você criou um novo projeto para este guia, agora poderá excluí-lo.- No Google Cloud console, acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
- Na caixa de diálogo, digite o ID do projeto e clique em Desligar para excluir o projeto.