Sobre as contas de serviço do GKE


Nesta página, descrevemos como as contas de serviço e os agentes de serviço do Identity and Access Management (IAM) funcionam com o Google Kubernetes Engine (GKE).

Uma conta de serviço do IAM é uma conta especial que será usada por um aplicativo em vez de uma pessoa.

Um agente de serviço é uma conta de serviço gerenciada pelo Google.

As contas de serviço e os agentes de serviços no nível do projeto do Google Cloud são gerenciados pelo IAM.

Contas de serviço do IAM e do Kubernetes

Uma conta de serviço do IAM tem escopo em um projeto e é gerenciada usando o IAM. As contas de serviço do IAM podem ser usadas para fazer chamadas autenticadas para as APIs do Google Cloud.

O escopo de uma conta de serviço do Kubernetes é definido dentro de um cluster.

As contas de serviço do Kubernetes existem como objetos ServiceAccount no servidor da API Kubernetes e fornecem uma identidade para aplicativos e cargas de trabalho em execução nos pods. Os pods podem usar contas de serviço do Kubernetes para se autenticarem no servidor de API.

É possível usar a federação de identidade da carga de trabalho para o GKE para permitir que as contas de serviço do Kubernetes representem as contas de serviço do IAM. Isso permite que os aplicativos se autentiquem nas APIs do Google Cloud sem expor as chaves de conta de serviço do IAM aos aplicativos conteinerizados.

Agentes de serviço do GKE

O GKE usa o agente de serviço do Kubernetes Engine para gerenciar o ciclo de vida dos recursos do cluster em seu nome, como nós, discos e balanceadores de carga. Esse agente de serviço tem o domínio container-engine-robot.iam.gserviceaccount.com e recebe o papel Agente de serviço do Kubernetes Engine (roles/container.serviceAgent) no projeto quando você ativa a API GKE.

O identificador desse agente de serviço é:

service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com

em que PROJECT_NUMBER é o número do projeto.

Se você desativar o agente de serviço do GKE, poderá recuperá-lo seguindo as instruções em Como ativar uma conta de serviço.

Se você remover as permissões do agente de serviço no projeto, poderá recuperá-las seguindo as instruções em Erro 400/403: permissões de edição ausentes na conta.

Se você excluir o agente de serviço padrão do GKE, será possível cancelar a exclusão seguindo as instruções em Como cancelar a exclusão de uma conta de serviço.

Conta de serviço padrão de nó do GKE

Por padrão, os nós do GKE usam a conta de serviço padrão do Compute Engine. Por padrão, essa conta de serviço recebe o papel de Editor (roles/editor) e tem mais permissões do que as necessárias para os nós do GKE. Considere usar um papel que use as permissões mínimas necessárias para executar nós no cluster.

Não desative a conta de serviço padrão do Compute Engine, a menos que você esteja migrando para contas de serviço gerenciadas pelo usuário.

Permissões mínimas

O GKE requer um conjunto mínimo de permissões de IAM para operar seu cluster. Para instruções sobre como criar uma conta de serviço do IAM com privilégios mínimos, consulte Usar contas de serviço do Google com privilégio mínimo.

A seguir