Authentication

GKE On-Prem admite OpenID Connect (OIDC) para autenticarse en clústeres de usuarios mediante la línea de comandos. Consulta los siguientes temas:

Para acceder a través de la consola de Google Cloud, GKE On-Prem admite el uso del token del portador de una cuenta de servicio de Kubernetes. Consulta la sección sobre cómo acceder a tu cuenta.

En este tema, se supone que estás familiarizado con OAuth 2.0 y OpenID Connect. También debes estar familiarizado con los permisos y reclamaciones en el contexto de la autenticación de OpenID.

Descripción general

Con OIDC, puedes administrar el acceso a un clúster de Kubernetes mediante los procedimientos estándar de tu organización para la creación, inhabilitación y habilitación de cuentas de empleados. También puedes usar los grupos de seguridad de tu organización para configurar el acceso a un clúster de Kubernetes o a servicios específicos del clúster.

  • Un usuario puede acceder a un proveedor de OpenID si presenta un nombre de usuario y una contraseña.

  • El proveedor de OpenID emite un token de ID para el usuario. El proveedor firma el token.

  • Una aplicación, que actúa en nombre del usuario, envía una solicitud HTTPS al servidor de la API de Kubernetes. La aplicación incluye el token de ID del usuario en el encabezado de la solicitud.

  • El servidor de la API de Kubernetes verifica el token mediante el certificado del proveedor.

Si tu empresa ejecuta un servidor de los Servicios de federación de Active Directory (ADFS), este podría funcionar como tu proveedor de OpenID. Otra opción es usar un tercero como tu proveedor de OpenID. Por ejemplo, Google, Microsoft, Facebook y Twitter son proveedores de OpenID.

Usa el complemento de Kubectl para OIDC a fin de llamar al servidor de la API de Kubernetes

Por lo general, un usuario ingresa un comando kubectl y, como resultado, kubectl llama al servidor de la API de Kubernetes.

Para que esto funcione, el token de ID del usuario debe estar en el archivo kubeconfig. GKE On-Prem proporciona el complemento de Kubectl para OIDC a fin de incluir el token y otros valores de OIDC en kubeconfig.

El servidor de la API de Kubernetes y el token de ID

Cuando kubectl llama al servidor de la API de Kubernetes en nombre del usuario, el servidor de la API verifica el token mediante el certificado público del proveedor de OpenID. Luego, el servidor de la API analiza el token para conocer la identidad y los grupos de seguridad del usuario.

El servidor de la API determina si el usuario está autorizado para realizar esta llamada en particular mediante la comparación de los grupos de seguridad del usuario con la política de control de acceso según la función (RBAC) del clúster.