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.
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.
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
- Usando identidade de carga de trabalho com serviços do Google Cloud
- Usando identidade de carga de trabalho com AWS
- Saiba mais sobre a federação de identidade de carga de trabalho