Configure uma política de autorização binária com o Cloud Run
Neste guia de início rápido, mostramos como configurar e testar uma regra básica em uma política de autorização binária com o Cloud Run.
Neste guia de início rápido, você usará a autorização binária para controlar a implantaçã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.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a gcloud CLI, 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.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a gcloud CLI, execute o seguinte comando:
gcloud init
Clique em Criar serviço para exibir o formulário Criar serviço.
No formulário exibido:
- Selecione o Cloud Run como a plataforma de desenvolvimento.
- Selecione a região em que você quer que o serviço esteja localizado.
- Especifique o nome que você quer dar ao seu serviço, por exemplo,
test-service
. Clique em Avançar para acessar a página Configurar a primeira revisão do serviço.
No formulário, siga estas etapas:
- Selecione Implantar uma revisão de uma imagem de contêiner atual.
Use
us-docker.pkg.dev/cloudrun/container/hello
como a imagem do contêiner.Expanda a seção Configurações avançadas.
Clique na guia Security.
Marque a caixa de seleção Verificar implantação do contêiner com autorização binária:
Por padrão, a política de autorização binária permite que todas as imagens sejam implantadas.
Clique em Avançar para acessar a página Configurar como este serviço é acionado:
Selecione Permitir acesso público para poder abrir o resultado no navegador da Web.
Clique em Criar para implantar a imagem no Cloud Run e aguarde a conclusão da implantação.
O serviço foi implantado. As revisões estão sujeitas à aplicação da política de autorização binária.
-
Clique em Editar política.
Em Regra padrão do projeto, a opção Permitir todas as imagens estará selecionada.
Acesse a página Autorização binária no Google Cloud console.
Clique em Editar política.
Em Regra padrão, selecione Não permitir todas as imagens.
Clique em Save Policy.
Clique no nome do serviço que você implantou anteriormente neste guia.
Clique em "Editar" e implante a nova revisão.
Clique em Implantar.
Acesse a página Autorização binária no Google Cloud console.
Clique em Editar política.
Selecione Permitir todas as imagens.
Para salvar a política, clique em Salvar política.
Localize o serviço que você quer excluir na lista de serviços e clique na caixa de seleção para marcá-lo.
Clique em Excluir. Isso excluirá todas as revisões do serviço.
Usar a implantação forçada para ignorar a aplicação da autorização binária.
Use o atestador
built-by-cloud-build
para implantar somente imagens criadas pelo Cloud Build).Configure a política de autorização binária usando o Google Cloud console ou a ferramenta de linha de comando.
Ver a autorização binária para eventos do Cloud Run nos registros de auditoria do Cloud.
Criar 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:
Atualizar a política de autorização binária para proibir todas as imagens
A política de autorização binária contém uma regra padrão. Essa regra rege a implantação do serviço do Cloud Run que você acabou de criar.
Por padrão, a regra permite que todas as imagens de contêiner sejam implantadas.
Para ver a política padrão, faça o seguinte:
Agora, modifique a política para impedir a implantação de todas as imagens da seguinte maneira:
Reimplantar o serviço
Teste a política atualizada implantando uma nova revisão.
Para implantar a imagem:
Será exibida uma mensagem de erro parecida com esta:
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
Redefinir a política para permitir todas as imagens
Para redefinir a política para permitir todas as imagens, faça o seguinte:
Agora é possível implantar imagens.
Limpar
Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga as etapas abaixo.
Para excluir o serviço criado no Cloud Run, faça o seguinte:
Para desativar a autorização binária, consulte Como desativar a autorização binária.