Accedi utilizzando un nome di dominio completo (FQDN)

GKE Identity Service ti consente di accedere ai cluster configurati dalla riga di comando utilizzando un nome utente e una password di un provider di identità di terze parti. Segui le istruzioni riportate in questa pagina se l'amministratore del cluster ha scelto di consentirti di autenticarti direttamente sul server GKE Identity Service con un nome di dominio completo (FQDN). Per i provider SAML, l'accesso è supportato solo tramite questo approccio di autenticazione.

Questo approccio di autenticazione è supportato solo per i cluster on-prem (Google Distributed Cloud) su VMware e bare metal, a partire dalla versione 1.29. Altri tipi di cluster non sono supportati.

La versione di gcloud CLI richiesta per accedere con il nome di dominio completo fornito è almeno la versione 477.0.0.

Flusso di lavoro di accesso

Di seguito sono riportati i passaggi del flusso di lavoro quando un utente esegue l'accesso utilizzando l'approccio di accesso FQDN:

  1. Avvia accesso: l'utente esegue il comando gcloud anthos auth login --server APISERVER-URL per avviare la procedura di accesso.
  2. Selezione del provider di identità: all'utente viene fornito un elenco di provider di identità configurati. L'utente seleziona il fornitore in cui sono archiviate le sue credenziali.
  3. Autenticazione con il provider di identità:la procedura di autenticazione varia in base al protocollo del provider di identità scelto:

    • OIDC: l'utente viene reindirizzato alla pagina di accesso del provider OIDC. Dopo un accesso riuscito, il provider invia un codice al servizio di identità GKE, che lo scambia con un token di accesso tramite una comunicazione back-channel.
    • SAML: l'utente viene reindirizzato alla pagina di accesso del provider SAML. Dopo un accesso riuscito, il provider invia direttamente un token (asserzione) al servizio di identità GKE, evitando così un callback aggiuntivo.
    • LDAP: anziché reindirizzare a un provider esterno, GKE Identity Service mostra una pagina di accesso in cui l'utente inserisce le proprie credenziali LDAP, che vengono verificate direttamente con il server LDAP.
  4. Verifica del token e generazione del file kubeconfig: GKE Identity Service verifica il token ricevuto (o l'asserzione), crea un nuovo token per l'utente e restituisce un file kubeconfig contenente questo token.

  5. Accesso al cluster: l'utente può accedere al cluster utilizzando i comandi kubectl. Il client kubectl invia automaticamente il token dal file kubeconfig con ogni richiesta.

  6. Convalida del token e autorizzazione RBAC: il server API Kubernetes riceve il token, GKE Identity Service lo verifica e recupera le rivendicazioni dell'utente (nome utente e gruppi). Dopo la convalida, il server API esegue controlli del controllo degli accessi basato sui ruoli (RBAC) per determinare le risorse a cui l'utente è autorizzato ad accedere.

Accedere utilizzando certificati SNI attendibili

I certificati SNI semplificano l'accesso al cluster sfruttando i certificati attendibili già presenti sui dispositivi aziendali. Gli amministratori possono specificare questo certificato al momento della creazione del cluster. Se il tuo cluster utilizza un certificato SNI attendibile a livello di cluster, utilizza il comando in questa sezione con il nome di dominio completo fornito dall'amministratore per accedere al cluster e ricevere un token di accesso. Puoi anche utilizzare un file kubeconfig sicuro in cui il token viene archiviato dopo l'autenticazione riuscita.

Esegui questo comando per autenticarti al server:

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

Sostituisci quanto segue:

  • APISERVER-URL: FQDN del server API Kubernetes del cluster.
  • OUTPUT_FILE: utilizza questo flag se il file kubeconfig si trova in una posizione diversa da quella predefinita. Se questo flag viene omesso, i token di autenticazione vengono aggiunti al file kubeconfig nella posizione predefinita. Ad esempio: --kubeconfig /path/to/custom.kubeconfig.

Accedere utilizzando i certificati emessi dalla CA del cluster

Se non utilizzi un certificato SNI attendibile a livello di cluster, il certificato utilizzato dal servizio di identità viene emesso dall'autorità di certificazione (CA) del cluster. Gli amministratori distribuiscono questo certificato CA agli utenti. Esegui il comando seguente utilizzando il certificato CA del cluster per accedere al cluster:

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

Autenticazione cross-device

L'autenticazione cross-device ti consente di accedere ai cluster Google Distributed Cloud (GDC) da dispositivi su cui non è installato un browser. Puoi avviare la procedura di autenticazione sul tuo dispositivo principale (su cui non è installato un browser) e completarla su un dispositivo secondario su cui è installato un browser.

Segui questi passaggi per configurare l'autenticazione cross-device.

  1. Accedere al dispositivo principale

    Esegui questo comando per autenticarti al server sul tuo dispositivo principale. Specifica l'argomento --no-browser per indicare che sul dispositivo da cui devi accedere al cluster non è installato un browser.

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

    GKE Identity Service restituisce un comando che devi utilizzare quando accedi dal secondo dispositivo. Ecco un esempio di come appare il 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 il comando gcloud.

  2. Accedere ai cluster sul secondo dispositivo

    Prima di accedere dal secondo dispositivo, verifica di aver installato il browser e di avere la connettività di rete al server dell'API Kubernetes. Esegui il comando copiato dal passaggio precedente sul secondo dispositivo.

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

    Quando tenti di accedere da questo dispositivo, viene visualizzato un messaggio di avviso. Segui la procedura di autenticazione standard visualizzata nel browser. Dopo l'autenticazione riuscita, ti verrà fornito un codice una tantum. Copia questo codice.

    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. Completare l'accesso sul dispositivo principale

    Incolla il codice copiato nel passaggio precedente nel prompt del tuo dispositivo principale.

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

    Il dispositivo utilizza questo codice per generare una credenziale che viene salvata in un file kubeconfig. Questo file consente l'accesso al cluster sul tuo dispositivo principale. Una volta eseguito l'accesso, viene visualizzato il seguente messaggio:

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