Visão geral da identidade da carga de trabalho

A identidade da carga de trabalho permite que você atribua identidades e autorizações distintas e granulares para cada aplicativo em seu cluster. A identidade da carga de trabalho é a maneira recomendada para aplicativos em execução no GKE na AWS acessarem a AWS e Google Cloud serviços.

Todos os clusters do GKE têm a identidade da carga de trabalho habilitada.

Contas de serviço do Kubernetes

A identidade da carga de trabalho implementa a federação de identidades , ou seja, a delegação de confiança ou funções a um provedor externo. Cada cluster possui um provedor OpenID Connect (OIDC) integrado. Quando um Pod é executado no cluster, ele usa uma conta de serviço do Kubernetes . O Pod pode ser configurado para obter um token com credenciais de curta duração para sua conta de serviço do Kubernetes usando um Volume de Token de Conta de Serviço Vinculado .

Provedores OpenID Connect

Cada cluster pode atuar como um provedor OpenID Connect (OIDC) . Com esse provedor, você pode fornecer credenciais de conta de serviço do Kubernetes para serviços que oferecem suporte à federação de identidades usando OIDC.

O URI do emissor deste provedor também serve como um ponto de extremidade de descoberta do OIDC. Os serviços podem usar esse ponto de extremidade de descoberta para obter o JSON Web Key Set (JWKS), que fornece informações de chave pública que permitem verificar as credenciais da conta de serviço do Kubernetes.

Google Cloud Pools e provedores de identidade do IAM

Google Cloud O IAM oferece suporte à federação de identidades usando o OIDC . Todos os clusters do GKE são configurados como provedores de identidade no pool de identidades de carga de trabalho PROJECT_ID .svc.id.goog .

Para obter o nome do seu pool de identidade de carga de trabalho e provedores, consulte Usar identidade de carga de trabalho com Google Cloud .

Provedores de identidade do AWS IAM

O AWS IAM oferece suporte à federação de identidades usando o OIDC . Para acessar a AWS usando as identidades de conta de serviço de uma carga de trabalho, você precisa criar um provedor OIDC no AWS IAM. Por padrão, o GKE na AWS não é configurado com um provedor de identidade para o AWS IAM.

Alternativas à identidade da carga de trabalho

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

  1. Exporte credenciais e armazene-as como segredos do Kubernetes. Nesse caso, você deve rotacionar as credenciais armazenadas manualmente no AWS IAM e no seu cluster. Além disso, se um invasor roubar credenciais, ele poderá explorá-las.

  2. Anexe credenciais às instâncias subjacentes dos pools de nós. Nesse caso, todas as cargas de trabalho em execução no mesmo nó compartilham as credenciais, o que pode resultar em um conjunto de permissões maior do que o necessário para as cargas de trabalho. Para bloquear o acesso às permissõ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 vem a seguir