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 de tu 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 en 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 enfoque de acceso 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: El usuario recibe una lista de usuarios proveedores de identidad. El usuario selecciona el proveedor en el que se almacenan sus credenciales.
  3. Autenticación con proveedor de identidad: El proceso de autenticación difiere 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 correcto, 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 correcto, el proveedor envía directamente un token (aserción) a GKE Identity Service para evitar 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 del archivo kubeconfig: el servicio de identidad de GKE verifica el token recibido (o aserción), crea un token nuevo para el usuario devuelve un archivo kubeconfig que contiene este token.

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

  6. Validación de token y autorización de RBAC: El servidor de la API de Kubernetes recibe el token, GKE Identity Service verifica este token y recupera las reclamaciones del usuario (nombre de usuario y grupos). Después de una validación exitosa, el servidor de la API ejecuta el 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 de SNI de confianza en el clúster use el comando de esta sección con el FQDN que proporcione su acceda al clúster y reciba un token de acceso. También puedes usar un archivo kubeconfig seguro en el que se almacene el token después de la autenticación exitosa

Ejecuta el siguiente comando para autenticarte en el servidor:

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

Reemplaza lo siguiente:

  • APISERVER-URL: 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}'