Conceitos da autorização binária

Esta página contém informações sobre conceitos relacionados à autorização binária.

Políticas

Uma política de autorização binária, também conhecida como política de projeto-singleton, é um conjunto de regras que regem a implantação de imagens de contêiner.

A validação contínua (CV) usa um tipo diferente de política, chamada de política de plataforma.

Uma política tem como partes:

Você pode configurar uma política usando uma das seguintes opções:

  • Console doGoogle Cloud
  • Comandos gcloud

Ao usar os comandos gcloud, exporte e modifique uma definição da política no formato YAML antes de importá-la de volta para o projeto. O formato YAML reflete a estrutura interna de uma política no armazenamento de autorização binária. Para mais informações sobre esse formato, consulte a Referência do YAML de políticas.

Cada projeto Google Cloud pode ter exatamente uma política. Configure a política no projeto em que você executa a plataforma de implantação. Em uma configuração de projeto único, a política e todos os recursos subordinados (atestadores e atestados) residem no mesmo projeto. Para estabelecer a segregação de funções, use uma configuração de vários projetos. Nesta configuração, a plataforma de implantação pode ser executada em um projeto, os atestadores podem residir em outro projeto e os atestados podem residir em outro projeto.

Para configurar e usar a autorização binária nas plataformas compatíveis, consulte Configurar por plataforma.

Veja um exemplo de configuração de vários projetos para GKE.

Regras

Ao configurar uma política, você define as regras dela. As regras definem restrições que as imagens precisam atender antes de serem implantadas. Uma política tem uma regra padrão e pode ter regras específicas, dependendo da plataforma. Para mais informações, consulte Tipos de regras compatíveis por plataforma.

Cada regra pode ser configurada com um modo de avaliação e com um modo de aplicação. Por exemplo, uma regra pode exigir que uma imagem tenha um atestado assinado antes de ser implantada.

Regra padrão

Cada política tem uma regra padrão. Essa regra se aplica a qualquer solicitação de implantação que não corresponda a uma regra específica. Em um arquivo YAML de política, a regra padrão é especificada no nó defaultAdmissionRule.

Para mais informações sobre como configurar a regra padrão, consulte Como configurar uma política.

Regras específicas

É possível adicionar uma ou mais regras específicas a uma política. Esse tipo de regra se aplica a imagens que serão implantadas em clusters, contas de serviço ou identidades específicas. A compatibilidade com regras específicas varia de acordo com a plataforma. Para mais informações, consulte Tipos de regras compatíveis por plataforma.

Em um arquivo YAML de política, cada regra específica do cluster é especificada em um nó clusterAdmissionRule.

Tipos de regras compatíveis por plataforma

Veja na tabela a seguir quais tipos de regra são compatíveis com cada plataforma de implantação.

Plataforma Regra padrão Regra específica
GKE Compatível Clusters
Namespaces do Kubernetes
Contas de serviço do Kubernetes
Cloud Run Compatível Incompatível
Clusters anexados do GKE Compatível Clusters
Namespaces do Kubernetes
Contas de serviço do Kubernetes
GKE na AWS Compatível Clusters
Namespaces do Kubernetes
Contas de serviço do Kubernetes
Google Distributed Cloud Compatível Clusters
Namespaces do Kubernetes
Contas de serviço do Kubernetes
Google Distributed Cloud Compatível Clusters
Namespaces do Kubernetes
Contas de serviço do Kubernetes
Cloud Service Mesh Compatível Identidades de serviço do Cloud Service Mesh

Modos de avaliação

Cada regra tem um modo de avaliação que especifica o tipo de restrição que a autorização binária aplica para a regra. O modo de avaliação de uma regra é especificado usando a propriedade evaluationMode no arquivo YAML da política.

Há três modos de avaliação:

  • Permitir todas as imagens: permite que todas as imagens sejam implantadas.
  • Não permitir todas as imagens: impede a implantação de todas as imagens.
  • Exigir atestados: requer um signatário para assinar digitalmente o resumo da imagem e criar um atestado antes da implantação. No momento da implantação, o aplicador de autorização binária usa um atestador para verificar a assinatura no atestado antes de implantar a imagem associada.

Modos de aplicação

Cada regra também tem um modo de aplicação, que especifica a ação executada pelo GKE quando uma imagem não está em conformidade com a regra. Uma regra pode ter os seguintes modos de aplicação:

  • Bloquear e registrar registros: bloqueia a implantação de imagens que não estão em conformidade com a regra e grava uma mensagem no registro de auditoria para indicar por que a imagem não foi implantada.

  • Modo de teste: somente registro de auditoria: O modo de teste é um modo de aplicação em uma política que permite a implantação de imagens que não estão em conformidade, mas grava detalhes sobre a implantação nos Registros de auditoria do Cloud. O modo de teste permite testar uma política, por exemplo, no ambiente de produção, antes que a aplicação entre em vigor.

A maioria das regras de produção usa o modo de aplicação Bloquear o registro de auditoria. Simulação: somente registro de auditoria é usado principalmente para testar uma política no ambiente antes de entrar em vigor.

O modo de aplicação de uma regra é especificado usando a propriedade enforcementMode no arquivo YAML da política.

Para mais informações sobre mensagens gravadas nos registros de auditoria do Cloud, consulte Ver registros de auditoria (GKE, Google Distributed Cloud, Cloud Service Mesh) ou Ver registros de auditoria (Cloud Run).

Validação contínua

A validação contínua (CV, na sigla em inglês) é um recurso de autorização binária que verifica periodicamente as imagens associadas aos pods em execução para garantir a conformidade contínua com as políticas.

Saiba mais sobre a CV.

Isentar imagens

Uma imagem isenta é uma imagem isenta de regras de política. A autorização binária sempre permite a implantação de imagens isentas. Cada projeto tem uma lista de permissões de imagens isentas especificadas pelo caminho do registro. As imagens no caminho gcr.io/google_containers/*, k8s.gcr.io/** e outros caminhos são isentas por padrão, porque contêm recursos necessários para que o GKE possa iniciar um cluster com a política padrão ativa.

Para adicionar uma imagem isenta à lista de permissões, inclua o seguinte no arquivo de política:

admissionWhitelistPatterns: