Accede con un nombre de dominio completamente calificado (FQDN)

GKE Identity Service te permite acceder a los clústeres configurados desde la línea de comandos con un nombre de usuario y una contraseña de un proveedor de identidad de terceros. Sigue las instrucciones de esta página si el administrador del clúster eligió permitirte autenticarte directamente en el servidor de GKE Identity Service con un nombre de dominio completamente calificado (FQDN). Para los proveedores de SAML, el acceso solo es compatible a través de este enfoque de autenticación.

Este enfoque de autenticación solo es compatible con clústeres locales (Google Distributed Cloud) en VMware y equipos físicos, a partir de la versión 1.29. No se admiten otros tipos de clústeres.

La versión de la CLI de gcloud necesaria para acceder con el FQDN proporcionado es la versión mínima 477.0.0.

Flujo de trabajo de acceso

Estos son los pasos del flujo de trabajo cuando un usuario accede con el método de acceso al FQDN:

  1. Iniciar acceso: El usuario ejecuta el comando gcloud anthos auth login --server APISERVER-URL para iniciar el proceso de acceso.
  2. Selección del proveedor de identidad: Se le proporciona al usuario una lista de proveedores de identidad configurados. El usuario selecciona el proveedor en el que se almacenan sus credenciales.
  3. Autenticación con proveedor de identidad: El proceso de autenticación varía según el protocolo del proveedor de identidad que elijas:

    • OIDC: Se redirecciona al usuario a la página de acceso del proveedor de OIDC. Después de un acceso exitoso, el proveedor envía un código al servicio de identidad de GKE, que lo intercambia por un token de acceso a través de una comunicación de canal secundario.
    • SAML: Se redirecciona al usuario a la página de acceso del proveedor de SAML. Después de un acceso exitoso, el proveedor envía directamente un token (confirmación) al servicio de identidad de GKE, lo que evita una devolución de llamada adicional.
    • LDAP: En lugar de redireccionar a un proveedor externo, GKE Identity Service muestra una página de acceso en la que el usuario ingresa sus credenciales de LDAP, que se verifican directamente con el servidor LDAP.
  4. Verificación de tokens y generación de archivos kubeconfig: GKE Identity Service verifica el token recibido (o la aserción), crea un token nuevo para el usuario y envía un archivo kubeconfig que contiene este token.

  5. Acceso al clúster: El usuario puede acceder al clúster con comandos kubectl. El cliente de kubectl envía automáticamente el token del archivo kubeconfig con cada solicitud.

  6. Validación de tokens y autorización de RBAC: El servidor de la API de Kubernetes recibe el token, GKE Identity Service lo verifica y recupera las declaraciones del usuario (nombre de usuario y grupos). Después de la validación correcta, el servidor de la API ejecuta verificaciones de control de acceso basado en roles (RBAC) para determinar los recursos a los que el usuario está autorizado a acceder.

Accede con certificados SNI de confianza

Los certificados de SNI simplifican el acceso al clúster, ya que aprovechan los certificados de confianza que ya están presentes en los dispositivos corporativos. Los administradores pueden especificar este certificado cuando se crea el clúster. Si tu clúster usa un certificado SNI de confianza a nivel del clúster, usa el comando de esta sección con el FQDN que proporciona tu administrador para acceder al clúster y recibir un token de acceso. También puedes usar un archivo kubeconfig seguro en el que el token se almacene después de una autenticación correcta.

Ejecuta el siguiente comando para autenticarte en el servidor:

gcloud anthos auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE

Reemplaza lo siguiente:

  • APISERVER-URL: Es el FQDN del servidor de la API de Kubernetes del clúster.
  • OUTPUT_FILE: usa esta marca si tu archivo kubeconfig se encuentra en una ubicación que no sea la predeterminada. Si se omite esta marca, los tokens de autenticación se agregan al archivo kubeconfig en la ubicación predeterminada. Por ejemplo: --kubeconfig /path/to/custom.kubeconfig

Accede con certificados emitidos por la AC del clúster

Como usuario, si no usas un certificado SNI de confianza a nivel de clúster, la autoridad certificadora (AC) del clúster emite el certificado que usa el servicio de identidad. Los administradores distribuyen este certificado de la AC a los usuarios. Ejecuta el siguiente comando con el certificado de la AC del clúster para acceder a tu clúster:

gcloud anthos auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE --login-config-cert CLUSTER_CA_CERTIFICATE

Autenticación multidispositivo

La autenticación multidispositivo te permite acceder a los clústeres de Google Distributed Cloud (GDC) desde dispositivos que no tienen un navegador instalado. Puedes iniciar el proceso de autenticación en tu dispositivo principal (que no tiene un navegador instalado) y completarlo en un dispositivo secundario instalado con un navegador.

Sigue estos pasos para la configuración de la autenticación multidispositivo.

  1. Accede a tu dispositivo principal

    Ejecuta el siguiente comando para autenticarte en el servidor de tu dispositivo principal. Especifica el argumento --no-browser para indicar que el dispositivo desde el que necesitas acceder a tu clúster no tiene un navegador instalado.

    gcloud anthos auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE --no-browser

    GKE Identity Service muestra un comando que debes usar cuando accedas desde el segundo dispositivo. Este es un ejemplo de cómo se ve el comando:

    You are authorizing gcloud CLI without access to a web browser. Please run the following command on a machine with a web browser and copy its output back here.
    
    gcloud auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE --remote-bootstrap="URL_TO_COPY_ON_THE_SECOND_DEVICE"
    
    Enter the output of the above command:
    

    Copia el comando gcloud.

  2. Accede a los clústeres en el segundo dispositivo

    Antes de acceder desde el segundo dispositivo, verifica que tengas el navegador instalado y que tengas conectividad de red al servidor de la API de Kubernetes. Ejecuta el comando que copiaste del paso anterior en el segundo dispositivo.

    gcloud auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE --remote-bootstrap="URL_TO_COPY_ON_THE_SECOND_DEVICE"
    

    Cuando se intenta acceder desde este dispositivo, se muestra un mensaje de advertencia. Sigue el proceso de autenticación estándar como se muestra en el navegador. Después de una autenticación exitosa, recibirás un código único. Copia este código.

    WARNING: The following line enables access to your Cluster resources. ONLY COPY IT TO A MACHINE YOU TRUST AND RUN 'gcloud auth login --server APISERVER-URL --kubeconfig OUTPUT_FILE --no-browser' EARLY ON.
    
    Or_mHYQFm90efgJdwhajx0KeC_WXkuvBPuWv_83nFX9J_Eawm3tQcBpxBBWszj6Ix8dAWCgc1QjJBrlt67bzIYIBTexU7dc_ggtkMTNkG7wCIGYZ75zfg9P1gBshP33STe0ks-AoVonzk01YekMbyNugeYSO18CBwFhaDDSMABq4PI-clgbaSh8CPqrvDKRLenbvfD9BSK6SW945I0bOgPURxNzUX4sICWcvFozhQdLYICuwRM0AgarNFwoeh-0wbJGyRqUjq2NJbaYdf-VCaByiZaGPR2B1QVGXO7deKGtUnk1_tTFOnB6sJQvT6UJ8Ge5nkR38rqBeeGkYdlVIBTXShENG80An1Ve524xZupSzCHNSVTJqYg
    
  3. Completa el acceso en tu dispositivo principal

    Pega el código copiado del paso anterior en el mensaje de tu dispositivo principal.

    Enter the code you received on the other device: Or_mHYQFm90efgJdwhajx0KeC_WXkuvBPuWv_83nFX9J_Eawm3tQcBpxBBWszj6Ix8dAWCgc1QjJBrlt67bzIYIBTexU7dc_ggtkMTNkG7wCIGYZ75zfg9P1gBshP33STe0ks-AoVonzk01YekMbyNugeYSO18CBwFhaDDSMABq4PI-clgbaSh8CPqrvDKRLenbvfD9BSK6SW945I0bOgPURxNzUX4sICWcvFozhQdLYICuwRM0AgarNFwoeh-0wbJGyRqUjq2NJbaYdf-VCaByiZaGPR2B1QVGXO7deKGtUnk1_tTFOnB6sJQvT6UJ8Ge5nkR38rqBeeGkYdlVIBTXShENG80An1Ve524xZupSzCHNSVTJqYg
    

    Tu dispositivo usa este código para generar una credencial que se guarda en un archivo kubeconfig. Este archivo habilita el acceso al clúster en tu dispositivo principal. Cuando accedas, se mostrará el siguiente mensaje:

     You are logged in!
     Context is stored under the name '{cluster-name}'