Esta página explica como criar um atestador na autorização binária através da CLI do Google Cloud. Em alternativa, pode realizar estes passos através da Google Cloud consola ou da API REST. Esta tarefa faz parte da configuração da autorização binária.
Utilizadores do Cloud Build: em alternativa, pode usar o built-by-cloud-build atestador
para implementar apenas imagens criadas pelo Cloud Build.
Um atestador é um Google Cloud recurso que a autorização binária usa para validar uma atestação. Para saber mais sobre as atestações, consulte a vista geral da autorização binária.
Para criar um atestador, faça o seguinte:
- Crie uma nota na Análise de artefactos para armazenar metadados fidedignos usados no processo de atestação.
- Configure um par de chaves de infraestrutura de chave pública (X.509) (PKIX) que pode ser usado para validar a identidade do atestador. (Os pares de chaves assimétricas gerados pelo Cloud Key Management Service (Cloud KMS) estão no formato compatível com PKIX.)
- Crie o próprio atestador na autorização binária e associe a nota e a chave pública que criou.
Numa configuração de projeto único, cria o atestador no mesmo Google Cloud projeto onde configura a política de autorização binária. Para um tutorial completo de projeto único que inclua estes passos, consulte o artigo Comece a usar a CLI Google Cloud ou Comece a usar a Google Cloud consola.
Numa configuração com vários projetos, recomendamos que tenha projetos separados: um projeto de implementação, onde a sua política está configurada; um projeto de atestação, onde os seus atestadores estão armazenados; e um projeto de atestação para atestações. Para um tutorial abrangente de vários projetos que inclua estes passos, consulte a configuração de vários projetos.
Antes de começar
Antes de criar atestadores, faça o seguinte:
Configure o ambiente do projeto
Nesta secção, configura as variáveis de ambiente.
Configure variáveis de ambiente para armazenar os nomes e os números dos seus projetos. Se os projetos do atestador e do implementador forem o mesmo projeto, use o mesmo ID do projeto para ambas as variáveis.
DEPLOYER_PROJECT_ID=DEPLOYER_PROJECT_ID=
DEPLOYER_PROJECT_NUMBER="$(
gcloud projects describe "${DEPLOYER_PROJECT_ID}" \
--format="value(projectNumber)"
)"
ATTESTOR_PROJECT_ID=ATTESTOR_PROJECT_ID
ATTESTOR_PROJECT_NUMBER="$(
gcloud projects describe "${ATTESTOR_PROJECT_ID}" \
--format="value(projectNumber)"
)"
Também tem de obter os nomes das contas de serviço dos projetos: