Vista geral do Workload Identity

A identidade de carga de trabalho permite-lhe atribuir identidades distintas e detalhadas, bem como autorização, a cada aplicação no seu cluster. O Workload Identity é a forma recomendada para as aplicações em execução no GKE na AWS acederem aos serviços da AWS e do Google Cloud. Google Cloud

Todos os clusters do GKE têm o Workload Identity ativado.

Contas de serviço do Kubernetes

O Workload Identity implementa a federação de identidade ou delega a confiança ou as funções a um fornecedor externo. Cada cluster tem um fornecedor OpenID Connect (OIDC) incorporado. Quando um Pod é executado no cluster, é executado através de uma conta de serviço do Kubernetes. O pod pode ser configurado para obter um token com credenciais de curta duração para a respetiva conta de serviço do Kubernetes através de um volume de token da conta de serviço associado.

Fornecedores do OpenID Connect

Cada cluster pode atuar como um fornecedor de OpenID Connect (OIDC). Com este fornecedor, pode fornecer credenciais da conta de serviço do Kubernetes a serviços que suportam a federação de identidades através do OIDC.

O URI do emissor deste fornecedor também funciona como um ponto final de deteção da OIDC. Os serviços podem usar este ponto final de deteção para obter o conjunto de chaves Web JSON (JWKS), que fornece informações de chaves públicas que lhes permitem validar as credenciais da conta de serviço do Kubernetes.

Google Cloud Workload Identity Pools e fornecedores

OGoogle Cloud IAM suporta a federação de identidades através do OIDC. Todos os clusters do GKE estão configurados como fornecedores de identidade no Workload Identity Pool PROJECT_ID.svc.id.goog.

Para obter o nome do Workload Identity Pool e dos fornecedores, consulte o artigo Use a identidade da carga de trabalho com Google Cloud.

Fornecedores de identidade do AWS IAM

O AWS IAM suporta a federação de identidade através do OIDC. Para aceder à AWS através das identidades da conta de serviço de uma carga de trabalho, tem de criar um fornecedor OIDC no AWS IAM. Por predefinição, o GKE no AWS não está configurado com um fornecedor de identidade para o AWS IAM.

Alternativas ao Workload Identity

Existem métodos alternativos para aceder a serviços a partir do GKE na AWS. Não recomendamos os seguintes métodos devido a complicações.

  1. Exporte as credenciais e armazene-as como secrets do Kubernetes. Neste caso, tem de rodar as credenciais armazenadas manualmente no AWS IAM e no cluster. Além disso, se um atacante roubar credenciais, pode explorá-las.

  2. Anexe credenciais às instâncias subjacentes dos conjuntos de nós. Neste caso, todas as cargas de trabalho executadas no mesmo nó partilham as credenciais, o que pode resultar num conjunto de autorizações maior do que o necessário para as cargas de trabalho. Para bloquear o acesso às autorizações de uma instância, os clusters do GKE bloqueiam o acesso de um pod ao serviço de metadados da instância.

O que se segue?