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
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. 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.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
-
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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. 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.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Se estiver a usar um fornecedor de identidade (IdP) externo, tem primeiro de iniciar sessão na CLI gcloud com a sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init
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/hello
como imagem do contentor.Expanda a secção Definições avançadas.
Clique no separador Segurança.
Selecione a caixa de verificação Validar 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.
-
Clique em Editar política.
Em Regra predefinida do projeto, repare que a opção Permitir todas as imagens está selecionada.
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.
Clique no nome do serviço que implementou anteriormente neste guia.
Clique em Editar e implemente a nova revisão.
Clique em Implementar.
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.
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.
Use breakglass para ignorar a aplicação da Autorização binária.
Use o
built-by-cloud-build
atestador 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.
Crie 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:
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:
Agora, modifique a política para bloquear a implementação de todas as imagens, fazendo o seguinte:
Volte a implementar o serviço
Teste a política atualizada implementando uma nova revisão.
Para implementar a imagem, faça o seguinte:
É apresentada uma mensagem de erro semelhante à seguinte:
Service update rejected by Binary Authorization policy: RevisionREVISION
uses unauthorized container image. Container image 'us-docker.pkg.dev/cloudrun/container/hello@SHA
' is not authorized by policy. Denied by an ALWAYS_DENY admission rule
Reponha a política para permitir todas as imagens
Para repor a política de modo a permitir todas as imagens, faça o seguinte:
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:
Para desativar a Autorização binária, consulte o artigo Desativar a Autorização binária.