Descripción general de la identidad de la carga de trabajo

La identidad de la carga de trabajo le permite asignar identidades y autorizaciones específicas y específicas para cada aplicación de su clúster. La identidad de la carga de trabajo es la forma recomendada para que las aplicaciones que se ejecutan en GKE en AWS accedan a AWS y... Google Cloud servicios.

Todos los clústeres de GKE tienen habilitada la identidad de carga de trabajo.

Cuentas de servicio de Kubernetes

La identidad de la carga de trabajo implementa la federación de identidades , es decir, la delegación de confianza o roles a un proveedor externo. Cada clúster cuenta con un proveedor de OpenID Connect (OIDC) integrado. Cuando un pod se ejecuta en el clúster, lo hace con una cuenta de servicio de Kubernetes . El pod se puede configurar para obtener un token con credenciales de corta duración para su cuenta de servicio de Kubernetes mediante un volumen de token de cuenta de servicio enlazado .

Proveedores de OpenID Connect

Cada clúster puede actuar como proveedor de OpenID Connect (OIDC) . Con este proveedor, puede proporcionar credenciales de cuentas de servicio de Kubernetes a servicios que admiten la federación de identidades mediante OIDC.

El URI del emisor de este proveedor también funciona como punto de acceso de detección de OIDC. Los servicios pueden usar este punto de acceso de detección para obtener el conjunto de claves web JSON (JWKS), que proporciona información de clave pública que les permite verificar las credenciales de la cuenta de servicio de Kubernetes.

Google Cloud Proveedores y grupos de identidades de IAM

Google Cloud IAM admite la federación de identidades mediante OIDC . Todos los clústeres de GKE están configurados como proveedores de identidad en el grupo de identidades de la carga de trabajo PROJECT_ID .svc.id.goog .

Para obtener el nombre de su grupo de identidades de carga de trabajo y de sus proveedores, consulte Usar la identidad de carga de trabajo con Google Cloud .

Proveedores de identidad de AWS IAM

AWS IAM admite la federación de identidades mediante OIDC . Para acceder a AWS mediante las identidades de la cuenta de servicio de una carga de trabajo, debe crear un proveedor de OIDC en AWS IAM. De forma predeterminada, GKE en AWS no está configurado con un proveedor de identidades para AWS IAM.

Alternativas a la identidad de la carga de trabajo

Existen métodos alternativos para acceder a los servicios de GKE en AWS. No recomendamos los siguientes métodos debido a complicaciones.

  1. Exporte las credenciales y guárdelas como secretos de Kubernetes. En este caso, debe rotar manualmente las credenciales almacenadas tanto en AWS IAM como en su clúster. Además, si un atacante roba credenciales, puede explotarlas.

  2. Adjunte credenciales a las instancias subyacentes de los grupos de nodos. En este caso, todas las cargas de trabajo que se ejecutan en el mismo nodo comparten las credenciales, lo que puede resultar en un conjunto de permisos mayor del que podrían necesitar. Para bloquear el acceso a los permisos de una instancia, los clústeres de GKE bloquean el acceso de un pod al servicio de metadatos de la instancia.

¿Qué sigue?