Versión 1.5

Autenticación

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 Google Cloud Console, GKE On-Prem admite el uso del token del portador de una cuenta de servicio de Kubernetes. Consulta Accede a un clúster desde Cloud Console.

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 proveedor de OpenID; por ejemplo, Google, Microsoft, Facebook y Twitter son proveedores de OpenID.

Usa la CLI de gcloud para llamar al servidor de la API de Kubernetes

Debes ejecutar el comando gcloud anthos auth login para autenticarte con tus clústeres y, como resultado, la solicitud se enviará al servidor de la API de Kubernetes.

Para que esto funcione, tus tokens de ID de OIDC deben almacenarse en el archivo kubeconfig. GKE On-Prem usa la CLI de gcloud del SDK de Cloud para solicitar y obtener el token de ID y otros valores de OIDC en el archivo kubeconfig.

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

Después de autenticarte con el clúster, puedes interactuar mediante la CLI de kubectl del SDK de Cloud. 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.