Como usar o pipeline de imagens seguro

Depois de criar o pipeline de imagens seguro, automatize o fluxo de trabalho de gerar imagens assinadas sempre que você fizer alterações no código-fonte.

Nesta página, explicamos como usar o pipeline de imagens para produzir imagens seguras e atestadas.

Antes de começar

Crie o pipeline de imagens seguro e familiarize-se com os recursos criados pelo pipeline.

Como usar o pipeline

O código-fonte das imagens base está no repositório baseimgfct-[some number]-containers da organização do GitHub especificada ao configurar o pipeline de imagens seguro. Para atualizar uma imagem, edite o arquivo relevante no repositório e envie uma solicitação de envio com as alterações para um membro da equipe para revisão. Quando você cria a solicitação de envio, o Cloud Build aciona em YOUR_PROJECT_NAME-builder a imagem atualizada e a envia para o repositório do Artifact Registry em YOUR_PROJECT_NAME-stage.

Quando um membro da equipe testa e verifica as imagens em YOUR_PROJECT_NAME-stage, ele pode aprovar e mesclar sua solicitação de envio. A ação de combinação cria, verifica e atesta as imagens e as envia do projeto de preparo para YOUR_PROJECT_NAME-verified.

As etapas a seguir descrevem o fluxo de trabalho do desenvolvedor para usar o pipeline de imagens seguro:

  1. Acesse o repositório baseimgfactor-[algum número]-containers.

  2. Abra a pasta correspondente à imagem que você quer alterar, por exemplo, ubuntu_18_0_4.

  3. Faça as edições. Por exemplo, edite Dockerfile para atualizar uma imagem de contêiner.

  4. Selecione Criar uma nova ramificação para esta confirmação e iniciar uma solicitação de envio.

  5. Clique em Propor alterações.

  6. Em Descrição do comentário, digite /gcbrun. Isso garante que apenas usuários autorizados proponham alterações ao repositório.

  7. Clique em Create pull request.

    Quando você cria uma solicitação de envio, o gatilho de compilação em YOUR_PROJECT_NAME-builder, cria sua imagem e a envia para YOUR_PROJECT_NAME-stage.

  8. Adicione um membro da equipe para revisar a solicitação de envio.

  9. Depois de verificar manualmente a imagem, o membro da equipe aprova e mescla a solicitação de envio.

    A ação de mesclagem cria, testa, verifica a imagem em busca de vulnerabilidades e atesta a imagem se ela for uma imagem de contêiner e depois a imagem é enviada para YOUR_PROJECT_NAME-verified.

Como especificar uma política de segurança personalizada

Se você estiver usando o pipeline de imagens seguro para gerar e manter imagens de contêiner de base, especifique uma política de segurança personalizada em que a imagem será verificada.

YOUR_PROJECT_NAME-stage executa uma instância Cupom, que é uma ferramenta de código aberto que executa um pacote de verificações em imagens de contêiner e cria Atestados de autorização binária para as imagens. Quando uma imagem em YOUR_PROJECT_NAME-stage foi verificada manualmente e um membro da equipe mescla a solicitação de envio no repositório de imagens do contêiner do GitHub, o cupom verifica a imagem em busca de vulnerabilidades, que são definidas no arquivo de configuração do cupom. Após a conclusão da verificação, se todas as vulnerabilidades identificadas estiverem abaixo do limite, o cupom criará um atestado de autorização binária para a imagem, e a imagem será enviada para YOUR_PROJECT_NAME-verified. Se qualquer uma das vulnerabilidades identificadas atingir ou exceder o limite, o cupom não criará um atestado. Sem um atestado verificado, o aplicador de autorização binária impede que a imagem seja enviada para YOUR_PROJECT_NAME-verified.

Você pode definir quais verificações do cupom serão executadas, além de outros critérios, no arquivo de configuração do servidor do cupom. Para instruções sobre como fazer isso, consulte Criar e configurar o servidor do cupom.