Nesta página, descrevemos como proteger a cadeia de suprimentos de software configurando a autorização binária para permitir que apenas imagens de contêiner criadas pelo Cloud Build sejam implantadas.
Esse controle de implantação é configurado exigindo o atestador
built-by-cloud-build na política de autorização binária. O Cloud Build
cria automaticamente o atestador built-by-cloud-build no seu projeto quando
você executa uma versão que gera imagens. Depois que as imagens são criadas,
o Cloud Build assina e cria atestados automaticamente. No
momento da implantação, a autorização binária verifica os atestados com o
atestador built-by-cloud-build. As imagens verificadas podem ser implantadas.
As imagens que não passam na verificação não podem ser implantadas e a
falha é registrada nos registros de auditoria do Cloud.
Para ver um guia completo que descreve como usar metadados gravados e autorização binária do Cloud Build, consulte Como usar a procedência e a autorização binária assinada.
Antes de começar
Para usar esse recurso, primeiro você precisará:
- Configurar a autorização binária para sua plataforma.
- Configurar o Cloud Build e criar uma imagem. 
Configurar a política
Nesta seção, você irá configurar a política de autorização binária para exigir o
atestador built-by-cloud-build.
Para permitir que apenas as imagens criadas pelo Cloud Build sejam implantadas, execute estas etapas:
Console
- Acesse a página Autorização binária no Google Cloud console: 
- Na guia Política, clique em Editar política. 
- Na caixa de diálogo Editar política, selecione Permitir apenas imagens que foram aprovadas por todos os seguintes atestadores. 
- Clique em Adicionar atestadores. 
- Na caixa de diálogo Adicionar atestadores: - Selecione Adicionar por projeto e nome do atestador e execute estas etapas:
- No campo Nome do projeto, insira o projeto em que você executa o Cloud Build.
- Clique no campo Nome do atestador e veja se o
atestador built-by-cloud-buildestá disponível.
- Clique em built-by-cloud-build.
 
- Como alternativa, selecione Adicionar por ID do recurso de atestador. Em ID de recurso do atestador, digite: - projects/PROJECT_ID/attestors/built-by-cloud-build- Substitua - PROJECT_IDpelo projeto em que você executa o Cloud Build.
 
- Selecione Adicionar por projeto e nome do atestador e execute estas etapas:
- Clique em Adicionar um atestador. 
- Clique em Save Policy. 
gcloud
- Exporte a política atual para um arquivo usando este comando: - gcloud container binauthz policy export > /tmp/policy.yaml
- Edite o arquivo da política. 
- Edite uma destas regras: - defaultAdmissionRule
- clusterAdmissionRules
- istioServiceIdentityAdmissionRules
- kubernetesServiceAccountAdmissionRules
 
- Adicione um bloco - requireAttestationsByà regra, se ainda não houver um.
- No bloco - requireAttestationsBy, adicione:- projects/PROJECT_ID/attestors/built-by-cloud-build- Substitua - PROJECT_IDpelo projeto em que você executa o Cloud Build.
- Salve o arquivo de política. 
- Importe o arquivo de política. - gcloud container binauthz policy import /tmp/policy.yaml- Veja a seguir um exemplo de arquivo de política que contém a referência ao - built-by-cloud-build-attestor:- defaultAdmissionRule: evaluationMode: REQUIRE_ATTESTATION enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG requireAttestationsBy: - projects/PROJECT_ID/attestors/built-by-cloud-build name: projects/PROJECT_ID/policy- Substitua - PROJECT_IDpelo ID do projeto em que você executa o Cloud Build.
A seguir
- Em vez de proibir a implantação de imagens, use o modo de teste para registrar violações de política.
- Veja os eventos de registro de auditoria de imagens não permitidas no Google Kubernetes Engine (GKE) ou no Cloud Run.