Configure uma política de autorização binária com o Cloud Run
Este início rápido mostra como configurar e testar uma regra básica numa política de autorização binária com o Cloud Run.
Neste guia de início rápido, vai usar a autorização binária para controlar a implementação de um serviço do Cloud Run.
Antes de começar
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Run, Artifact Registry, Binary Authorization APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Configure a CLI gcloud para usar a sua identidade federada.
Para mais informações, consulte o artigo Inicie sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud initCrie um serviço com a Autorização binária ativada
Para criar um serviço do Cloud Run com a autorização binária ativada, faça o seguinte:
Clique em Criar serviço para apresentar o formulário Criar serviço:
No formulário apresentado, faça o seguinte:
- Selecione o Cloud Run como plataforma de desenvolvimento.
- Selecione a região onde quer que o seu serviço esteja localizado.
- Especifique o nome que quer dar ao seu serviço, por exemplo,
test-service. Clique em Seguinte para continuar para a página Configure a primeira revisão do serviço.
No formulário, faça o seguinte:
- Selecione Implementar uma revisão a partir de uma imagem de contentor existente.
Use
us-docker.pkg.dev/cloudrun/container/hellocomo imagem do contentor.Expanda a secção Definições avançadas.
Clique no separador Segurança.
Selecione a caixa de verificação Validar a implementação do contentor com a autorização binária:
Por predefinição, a política de autorização binária permite a implementação de todas as imagens.
Clique em Seguinte para continuar para a página Configure como este serviço é acionado:
Selecione Permitir acesso público para poder abrir o resultado no seu navegador de Internet
Clique em Criar para implementar a imagem no Cloud Run e aguarde que a implementação termine.
O seu serviço está implementado. As revisões estão sujeitas à aplicação da política de autorização binária.
Atualize a política de autorização binária para não permitir todas as imagens
A política de autorização binária contém uma regra predefinida. Esta regra rege a implementação do serviço do Cloud Run que acabou de criar.
Por predefinição, a regra permite a implementação de todas as imagens de contentores.
Para ver a política predefinida, faça o seguinte:
-
Clique em Editar política.
Em Regra predefinida do projeto, repare que a opção Permitir todas as imagens está selecionada.
Agora, modifique a política para bloquear a implementação de todas as imagens, fazendo o seguinte:
Aceda à página Autorização binária na Google Cloud consola.
Clique em Editar política.
Em Regra predefinida, selecione Não permitir todas as imagens.
Clique em Guardar política.
Volte a implementar o serviço
Teste a política atualizada implementando uma nova revisão.
Para implementar a imagem, faça o seguinte:
Clique no nome do serviço que implementou anteriormente neste guia.
Clique em Editar e implemente a nova revisão.
Clique em Implementar.
É apresentada uma mensagem de erro semelhante à seguinte:
Service update rejected by Binary Authorization policy: Revision
REVISIONuses unauthorized container image. Container image 'us-docker.pkg.dev/cloudrun/container/hello@SHA' is not authorized by policy. Denied by an ALWAYS_DENY admission ruleReponha a política para permitir todas as imagens
Para repor a política de modo a permitir todas as imagens, faça o seguinte:
Aceda à página Autorização binária na Google Cloud consola.
Clique em Editar política.
Selecione Permitir todas as imagens.
Para guardar a política, clique em Guardar política.
Já pode implementar imagens.
Limpar
Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.
Para eliminar o serviço que criou no Cloud Run, faça o seguinte:
Localize o serviço que quer eliminar na lista de serviços e clique na caixa de verificação para o selecionar.
Clique em Eliminar. Esta ação elimina todas as revisões do serviço.
Para desativar a Autorização binária, consulte o artigo Desativar a Autorização binária.
O que se segue?
Use breakglass para ignorar a aplicação da Autorização binária.
Use o
built-by-cloud-buildatestador para implementar apenas imagens criadas pelo Cloud Build.Configure a política de autorização binária através da Google Cloud consola ou da ferramenta de linha de comandos.
Veja a autorização binária para eventos do Cloud Run nos registos de auditoria do Cloud.