Configurare un metodo di autenticazione per l'accesso degli utenti

Questo documento è rivolto agli amministratori di cluster che hanno già configurato i propri cluster per GKE Identity Service. Fornisce istruzioni su come configurare e gestire l'accesso degli utenti a questi cluster configurati per gli sviluppatori e gli altri utenti della tua organizzazione.

Esistono due tipi di metodi di autenticazione che puoi utilizzare per configurare l'accesso degli utenti ai cluster:

  • Configura con accesso di nome di dominio completo (consigliato): con questo approccio, gli utenti possono autenticarsi direttamente sul server GKE Identity Service utilizzando il nome di dominio completo (FQDN) del server API Kubernetes del cluster. Per ulteriori informazioni, vedi Configurare l'accesso al nome di dominio completo.
  • Configurazione con accesso basato su file: con questo approccio, generi un file di configurazione dell'accesso e lo distribuisci agli utenti del cluster. Gli utenti possono quindi accedere ai cluster configurati con i comandi di autenticazione gcloud utilizzando questo file. Per ulteriori informazioni, vedi Configurare l'accesso basato su file.

Configura l'accesso al nome di dominio completo (consigliato)

Questa sezione descrive come configurare l'accesso utente fornendo all'utente l'URL (FQDN) di un server da utilizzare per l'autenticazione. Il flusso di autenticazione consente all'utente di accedere con il proprio IdP e fornisce all'utente un token che viene aggiunto al file kubeconfig per accedere al cluster. Questo approccio di autenticazione è supportato solo per i cluster on-premise (Google Distributed Cloud) su VMware e bare metal, a partire dalla versione 1.29. Non sono supportati altri tipi di cluster. Se devi configurare l'autenticazione per i cluster on-premise utilizzando una versione software precedente supportata o per altri tipi di cluster, segui le istruzioni per configurare l'accesso basato su file.

Prima di condividere il nome di dominio completo con gli utenti, assicurati che tu o l'amministratore di piattaforma abbiate seguito la setup appropriata, inclusa la configurazione DNS per il nome di dominio completo e, se necessario, il nome di dominio completo durante la registrazione al provider di identità.

Condividi nome di dominio completo con gli utenti

Anziché un file di configurazione, gli amministratori del cluster possono condividere con gli utenti il nome di dominio completo del server API Kubernetes del cluster. Gli utenti possono usare questo nome di dominio completo per accedere al cluster. Il formato dell'URL per l'accesso è APISERVER-URL, dove l'URL contiene il nome di dominio completo del server API.

Un formato di esempio di APISERVER-URL è http://apiserver.company.com.

Configura le opzioni del servizio di identità

Con questa opzione di configurazione, puoi configurare la durata del token. IdentityServiceOptions nella RP ClientConfig ha un parametro sessionDuration che consente di configurare la durata del token (in minuti). Il parametro sessionDuration ha un limite inferiore di 15 minuti e un limite massimo di 1440 minuti (24 ore).

Ecco un esempio di come si presenta nella RP ClientConfig:

spec:
    IdentityServiceOptions:
      sessionDuration: INT

dove INT è la durata della sessione in minuti.

Configura l'accesso basato su file

In alternativa all'accesso di nome di dominio completo, gli amministratori di cluster possono generare un file di configurazione dell'accesso e distribuirlo agli utenti del cluster. Ti consigliamo di utilizzare questa opzione se stai configurando l'autenticazione su un cluster con una versione o un tipo che non supporta l'accesso al nome di dominio completo. Questo file consente agli utenti di accedere ai cluster dalla riga di comando con il provider scelto. Questo approccio di autenticazione è supportato solo per i provider OIDC e LDAP.

Genera la configurazione di accesso

Console

(Solo configurazione a livello di parco risorse)

Copia il comando gcloud visualizzato ed eseguilo per generare il file.

gcloud

Se hai configurato il cluster utilizzando l'interfaccia a riga di comando gcloud o se devi generare di nuovo il file, esegui questo comando per generarlo:

gcloud anthos create-login-config --kubeconfig=KUBECONFIG

dove KUBECONFIG è il percorso del file kubeconfig per il cluster. Se in kubeconfig sono presenti più contesti, viene utilizzato quello corrente. Potrebbe essere necessario reimpostare il contesto attuale sul cluster corretto prima di eseguire il comando.

Puoi vedere i dettagli di riferimento completi per questo comando, inclusi i parametri facoltativi aggiuntivi, nella guida di riferimento di Google Cloud CLI.

Il nome predefinito per il file di configurazione dell'accesso è kubectl-anthos-config.yaml, ovvero il nome che Google Cloud CLI prevede quando utilizzi il file per accedere. Se vuoi cambiarlo con un nome non predefinito, consulta la sezione pertinente in Distribuzione della configurazione dell'accesso.

Per informazioni sulla risoluzione dei problemi di accesso degli utenti, vedi Risolvere i problemi di accesso degli utenti.

Distribuisci la configurazione dell'accesso

Ecco alcuni modi per distribuire il file di configurazione:

  • Ospita il file in un URL accessibile. Gli utenti possono specificare questa posizione con il flag --login-config durante l'esecuzione di gcloud anthos auth login, consentendo a Google Cloud CLI di ottenere il file.

    Prendi in considerazione l'hosting del file su un host sicuro. Consulta il flag --login-config-cert di gcloud CLI per ulteriori informazioni sull'uso dei certificati PEM per l'accesso HTTPS sicuro.

  • Fornisci manualmente il file a ciascun utente, con informazioni su dove salvarlo sulla macchina locale: Google Cloud CLI prevede di trovare il file in una posizione predefinita specifica del sistema operativo. Se il file ha un nome o una posizione non predefiniti, gli utenti devono utilizzare il flag --login-config per specificare la posizione del file di configurazione quando eseguono comandi sul cluster. Le istruzioni per gli utenti per salvare il file sono disponibili in Accedere ai cluster con GKE Identity Service.

  • Utilizza i tuoi strumenti interni per eseguire il push del file di configurazione dell'autenticazione sulla macchina di ogni utente. Google Cloud CLI prevede di trovare il file nelle seguenti posizioni, a seconda del sistema operativo dell'utente:

    Linux

    $HOME/.config/google/anthos/kubectl-anthos-config.yaml

    macOS

    $HOME/Library/Preferences/google/anthos/kubectl-anthos-config.yaml

    Windows

    %APPDATA%\google\anthos\kubectl-anthos-config.yaml