Autenticazione

GKE On-Prem supporta OpenID Connect (OIDC) per l'autenticazione contro i cluster utente tramite la riga di comando. Vedi i seguenti argomenti:

Per accedere tramite Google Cloud Console, GKE On-Prem supporta utilizzando un token di servizio dell'account di servizio Kubernetes. Vedi Accesso.

Questo argomento presuppone che tu conosca OAuth 2.0 e OpenID Connect. Dovresti già conoscere ambiti e rivendicazioni nel contesto dell'autenticazione OpenID.

Panoramica

Con OIDC puoi gestire l'accesso a un cluster Kubernetes utilizzando le procedure standard nella tua organizzazione per creare, abilitare e disabilitare gli account dei dipendenti. Puoi anche utilizzare i gruppi di sicurezza della tua organizzazione per configurare l'accesso a un cluster Kubernetes o a servizi specifici nel cluster.

  • Un utente accede a un provider OpenID presentando un nome utente e una password.

  • Il provider OpenID fornisce un token ID per l'utente. Il token è firmato dal provider.

  • Un'applicazione, che agisce per conto dell'utente, invia una richiesta HTTPS al server API Kubernetes. L'applicazione include il token ID dell'utente nell'intestazione della richiesta.

  • Il server API di Kubernetes verifica il token utilizzando il certificato del provider.

Se la tua azienda esegue un server Active Directory Federation Services (ADFS), il server ADFS potrebbe fungere da provider OpenID. Un'altra opzione consiste nell'utilizzare una terza parte come provider OpenID, ad esempio Google, Microsoft, Facebook e Twitter sono tutti provider OpenID.

Utilizzo del plug-in Kubectl per OIDC per chiamare il server API Kubernetes

In genere, un utente inserisce un comando kubectl e, di conseguenza, kubectl chiama il server API Kubernetes.

Per farlo, il token ID dell'utente deve essere incluso nel file kubeconfig. GKE On-Prem fornisce il plug-in Kubtl per OIDC per includere il token e altri valori OIDC in kubeconfig.

Il server API e il token ID di Kubernetes

Quando kubectl chiama il server API Kubernetes per conto dell'utente, il server API verifica il token utilizzando il certificato pubblico del provider OpenID. Successivamente, il server API analizza il token per apprendere l'identità dell'utente e i gruppi di sicurezza dell'utente.

Il server API determina se l'utente è autorizzato a effettuare questa particolare chiamata confrontando i gruppi di sicurezza dell'utente con i criteri di controllo dell'accesso basati sul ruolo RBAC del cluster.