Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
A Identidade da carga de trabalho permite atribuir identidades e autorizações
detalhadas e distintas para cada aplicativo no cluster. A Identidade da carga de trabalho é a
maneira recomendada para que aplicativos executados em GKE no AWS para acessar
os serviços da AWS e do Google Cloud.
Todos os clusters do GKE têm a identidade da carga de trabalho ativada.
Contas de Serviço Kubernetes
A identidade da carga de trabalho implementa a federação de identidades ou delega a confiança ou os papéis
a um provedor externo. Cada cluster tem um provedor
OpenID Connect (OIDC) integrado. Quando um pod é executado no cluster, ele é executado usando uma
conta de serviço do Kubernetes.
O pod pode ser configurado para receber um token com credenciais de curta duração para
a conta de serviço do Kubernetes usando um
Volume de token vinculado da conta de serviço.
Provedores do OpenID Connect
Cada cluster pode atuar como
um provedor do OpenID Connect (OIDC). Com
esse provedor, é possível fornecer credenciais de conta de serviço do Kubernetes para
serviços compatíveis com federação de identidade usando o OIDC.
O URI do emissor desse provedor também serve como um endpoint de descoberta do OIDC. Os serviços
podem usar esse endpoint de descoberta para receber o conjunto de chaves da Web JSON (JWKS, na sigla em inglês), que fornece informações de
chave pública para verificar as credenciais da conta de serviço do
Kubernetes.
Pools e provedores de identidade do Google Cloud IAM
O Google Cloud IAM é compatível com a federação de identidades usando o OIDC.
Todos os clusters do GKE são configurados como provedores de identidade no
pool de identidades da carga de trabalho PROJECT_ID.svc.id.goog.
O IAM é compatível com a
federação de identidade 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 IAM da AWS. Por padrão, o GKE na AWS não está configurado com um
provedor de identidade para o IAM da AWS.
Alternativas à Identidade da carga de trabalho
Há métodos alternativos para acessar serviços do GKE na AWS.
Não recomendamos os métodos a seguir devido a complicações.
Exportar credenciais e armazenená-las como secrets do Kubernetes. Nesse caso,
você precisa alternar as credenciais armazenadas manualmente no IAM do Azure e
no cluster. Além disso, se um invasor roubar credenciais, ele poderá
explorá-las.
Anexar 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 maior de permissões do que as cargas de trabalho
podem. Para bloquear o acesso às permissões de uma instância, os clusters do GKE
bloqueiam o acesso de um pod para o serviço de metadados da instância.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2024-06-26 UTC."],[],[],null,["# Workload identity overview\n\n*Workload identity* enables you to assign distinct, fine-grained identities and\nauthorization for each application in your cluster. Workload identity is the\nrecommended way for applications running within GKE on AWS to access\nAWS and Google Cloud services.\n\nAll GKE clusters have workload identity enabled.\n\nKubernetes service accounts\n---------------------------\n\nWorkload identity implements *identity federation* , or delegating trust or roles\nto an external provider. Each cluster has a built-in OpenID Connect (OIDC)\nprovider. When a Pod runs in the cluster, it runs using a\n[Kubernetes service account](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/).\nThe Pod can be configured to obtain a token with short-lived credentials for\nits Kubernetes service account using a\n[Bound Service Account Token Volume](https://kubernetes.io/docs/reference/access-authn-authz/service-accounts-admin/#bound-service-account-token-volume).\n\nOpenID Connect providers\n------------------------\n\nEach cluster can act as an\n[OpenID Connect (OIDC)](https://openid.net/connect/) provider. With\nthis provider, you can provide Kubernetes service account credentials to\nservices that support identity federation using OIDC.\n\nThis provider's issuer URI also serves as an OIDC discovery endpoint. Services\ncan use this discovery endpoint to obtain the JSON Web Key Set (JWKS), which\nprovides public key information that allows them to verify Kubernetes service\naccount credentials.\n\nGoogle Cloud IAM identity pools and providers\n---------------------------------------------\n\nGoogle Cloud IAM supports\n[identity federation using OIDC](https://cloud.google.com/iam/docs/workload-identity-federation).\nAll GKE clusters are configured as identity providers in the\nworkload identity pool \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`.svc.id.goog`.\n\nTo get the name of your workload identity pool and providers, see\n[Use workload identity with Google Cloud](/kubernetes-engine/multi-cloud/docs/aws/how-to/use-workload-identity-google#determine_the_workload_identity_pool_for_your_cluster).\n\nAWS IAM identity providers\n--------------------------\n\nAWS IAM supports\n[identity federation using OIDC](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html).\nTo access AWS using a workload's service account identities,\nyou need to\n[create an OIDC provider](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html)\non AWS IAM. By default, GKE on AWS are not configured with an\nidentity provider for AWS IAM.\n\nAlternatives to workload identity\n---------------------------------\n\nThere are alternative methods to access services from GKE on AWS.\nWe don't recommended the following methods due to complications.\n\n1. Export credentials and store them as Kubernetes Secrets. In this case,\n you must rotate stored credentials manually in both AWS IAM and\n in your cluster. Additionally, if an attacker steals credentials, they can\n exploit them.\n\n2. Attach credentials to the node pools's underlying instances. In this case,\n all workloads running on the same node share the credentials,\n which can result in a greater set of permissions than workloads might\n need. To block access to an instance's permissions, GKE clusters\n blocks access from a Pod to the instance metadata service.\n\nWhat's next\n-----------\n\n- [Using workload identity with Google Cloud services](/kubernetes-engine/multi-cloud/docs/aws/how-to/use-workload-identity-google)\n- [Using workload identity with AWS](/kubernetes-engine/multi-cloud/docs/aws/how-to/use-workload-identity-aws)\n- Learn more about [Workload identity federation](/iam/docs/workload-identity-federation#pools)"]]