A autorização binária para o Google Distributed Cloud permite estender a aplicação obrigatória no momento da implantação da autorização binária aos clusters de usuário locais para ajudar a proteger as cargas de trabalho de contêiner. É possível aplicar as regras de aplicação obrigatória de uma política configurada no projeto do Google Cloud aos clusters de usuário na versão 1.28 ou posterior. Para mais informações sobre políticas e regras, consulte a Visão geral da autorização binária.
Se você ativou a versão de pré-lançamento da autorização binária para o Google Distributed Cloud, desative-a e limpe os recursos antes de ativar o recurso de GA em clusters da versão 1.28 ou posterior.
Pré-requisitos
Antes de ativar a aplicação da política de autorização binária em um cluster de usuário, verifique se você atendeu aos seguintes pré-requisitos:
Registrar o cluster com uma frota: um cluster criado com
gkectlé registrado no projeto do Google Cloud especificado no campogkeConnect.projectIDno arquivo de configuração do cluster. Esse projeto é chamado de projeto host da frota. Para saber mais sobre frotas, incluindo casos de uso, práticas recomendadas e exemplos, confira a documentação Gerenciamento de frotas.Ativar a API Binary Authorization no projeto do Google Cloud : ative o serviço de autorização binária no projeto host da frota.
Adicionar o papel de avaliador da política de autorização binária ao projeto host da frota: para conceder o papel de avaliador da política de autorização binária (
roles/binaryauthorization.policyEvaluator) à conta de serviço do Kubernetes no seu projeto host da frota, execute o seguinte comando:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_ID.[binauthz-system/binauthz-agent]" \ --role="roles/binaryauthorization.policyEvaluator"Se o cluster estiver em execução atrás de um servidor proxy, verifique se o servidor proxy permite conexões com a API autorização binária (
binaryauthorization.googleapis.com). Ela fornece validação e controle de implantação com base em políticas para as imagens implantadas no cluster. Para mais informações, consulte Regras de proxy e firewall.
Depois de atender aos pré-requisitos, é possível ativar (ou desativar) a política de autorização binária ao criar um novo cluster ou atualizar um atual.
Ativar a política de autorização binária durante a criação do cluster
É possível ativar a aplicação da política de autorização binária com gkectl
ou a CLI gcloud.
gkectl
Para ativar a autorização binária ao criar um cluster com gkectl:
Antes de criar o cluster, adicione
binaryAuthorization.evaluationModeao arquivo de configuração do cluster de usuário, conforme o exemplo a seguir:... binaryAuthorization: evaluationMode: "project_singleton_policy_enforce" ...Os valores permitidos para
evaluationModesão:project_singleton_policy_enforce: aplica as regras especificadas na política de autorização binária, também conhecida como política de projeto Singleton, no projeto do Google Cloud para controlar a implantação de imagens de contêiner no cluster.disabled: desativa o uso da autorização binária do cluster. Esse é o valor padrão. Se você omitirbinaryAuthorization, o recurso será desativado.
Faça as outras alterações necessárias no arquivo de configuração do cluster e execute o comando
gkectl create cluster.
Para mais informações sobre como criar clusters, consulte Visão geral da instalação do Google Distributed Cloud.
Ativar ou desativar a política de autorização binária de um cluster atual
Se você tiver um cluster versão 1.28 ou superior, poderá ativar ou desativar a autorização binária a qualquer momento usando gkectl ou a CLI gcloud.
gkectl
Para ativar:
Edite o arquivo de configuração do cluster para adicionar os campos
binaryAuthorization:... binaryAuthorization: evaluationMode: "project_singleton_policy_enforce"Atualize o cluster:
gkectl update cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG_FILE \ --force
Substitua:
ADMIN_CLUSTER_KUBECONFIG: o caminho do arquivo kubeconfig do cluster de administrador.USER_CLUSTER_CONFIG_FILE: o caminho do arquivo de configuração do cluster de usuário.
Aguarde até que a implantação chamada
binauthz-module-deploymentno namespacebinauthz-systemfique pronta.Quando a implantação estiver pronta, a autorização binária aplicará as regras especificadas na política de autorização binária, também conhecida como política de projeto singleton. Essa política está associada ao seuGoogle Cloud projeto e especifica regras para controlar a implantação de imagens do contêiner. Para mais informações sobre como usar o
gkectlpara atualizar um cluster, confira Atualizar clusters. Para mais informações sobre políticas e regras de autorização binária, confira Visão geral da autorização binária.
Para desativar:
Edite o arquivo de configuração do cluster e remova a seção
binaryAuthorizationou definaevaluationModecomodisabled.... binaryAuthorization: evaluationMode: "disabled"Atualize o cluster:
gkectl update cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG_FILE \ --force
Depois de fazer essa mudança, aguarde alguns minutos até que a implantação chamada
binauthz-module-deploymentno namespacebinauthz-systemseja removida.
Solução de problemas
Se você não concluir todos os pré-requisitos, uma mensagem como esta indicará que há um problema com a configuração da autorização binária:
failed to validate Binary Authorization policy (1) Ensure the Binary Authorization API is enabled for your Google Cloud project: gcloud services enable binaryauthorization.googleapis.com --project=PROJECT_ID (2) Ensure an IAM policy binding is in place granting binaryauthorization.policyEvaluator role to the binauthz-system/binauthz-agent Kubernetes service account: gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_ID.[binauthz-system/binauthz-agent]" \ --role=roles/binaryauthorization.policyEvaluator