Vous consultez la documentation d'une version précédente de GKE On-Prem. Consulter la documentation la plus récente

Authentification

GKE On-Prem est compatible avec OpenID Connect (OIDC) pour l'authentification auprès des clusters d'utilisateurs via la ligne de commande. Consultez les articles suivants :

Pour vous connecter via Google Cloud Console, GKE On-Prem est compatible avec le jeton de support d'un compte de service Kubernetes. Consultez la section Connexion .

Dans cette rubrique, nous partons du principe que vous connaissez OAuth 2.0 et OpenID Connect. Vous devez également connaître les champs d'application et les revendications dans le contexte de l'authentification OpenID.

Aperçu

OIDC vous permet de gérer l'accès à un cluster Kubernetes en utilisant les procédures standard de votre organisation pour créer, activer et désactiver des comptes d'employés. Vous pouvez également utiliser les groupes de sécurité de votre organisation pour configurer l'accès à un cluster Kubernetes ou à des services spécifiques du cluster.

  • Un utilisateur se connecte à un fournisseur OpenID en présentant un nom d'utilisateur et un mot de passe.

  • Le fournisseur OpenID émet un jeton d'identification pour l'utilisateur. Le jeton est signé par le fournisseur.

  • Une application, agissant pour le compte de l'utilisateur, envoie une requête HTTPS au serveur d'API Kubernetes. L'application inclut le jeton d'ID de l'utilisateur dans l'en-tête de la requête.

  • Le serveur d'API Kubernetes vérifie le jeton à l'aide du certificat du fournisseur.

Si votre entreprise exécute un serveur de services de fédération Active Directory (ADFS), le serveur ADFS peut servir de fournisseur OpenID. Une autre option consiste à utiliser un tiers comme fournisseur OpenID. Par exemple, Google, Microsoft, Facebook et Twitter sont tous des fournisseurs OpenID.

Utiliser le plug-in Kubectl pour OIDC pour appeler le serveur d'API Kubernetes

Généralement, un utilisateur saisit une commande kubectl et, par conséquent, kubectl appelle le serveur d'API Kubernetes.

Pour que cela fonctionne, le jeton de l'utilisateur doit se trouver dans le fichier kubeconfig. GKE On-Prem fournit le plug-in Kubectl pour OIDC pour inclure le jeton et d'autres valeurs OIDC dans kubeconfig.

Le serveur d'API Kubernetes et le jeton d'ID

Lorsque kubectl appelle le serveur d'API Kubernetes au nom de l'utilisateur, le serveur d'API vérifie le jeton à l'aide du certificat public du fournisseur OpenID. Le serveur d'API analyse ensuite le jeton pour connaître l'identité et les groupes de sécurité de l'utilisateur.

Le serveur API détermine si l'utilisateur est autorisé à effectuer cet appel en comparant les groupes de sécurité de l'utilisateur à la règle Contrôle d'accès basé sur les rôles du cluster.