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

Authentication

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 la connexion via Google Cloud Console, GKE On-Prem permet d'utiliser le jeton de support d'un compte de service Kubernetes. Consultez la section Se connecter.

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 aux clusters 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'ID 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 ADFS (Active Directory Federation Services), ce serveur ADFS peut servir de fournisseur OpenID. Vous pouvez également 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 d'ID 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.

Serveur d'API Kubernetes et jeton d'identification

Lorsque kubectl appelle le serveur d'API Kubernetes pour le compte 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 d'API détermine si l'utilisateur est autorisé à effectuer cet appel spécifique en comparant les groupes de sécurité de l'utilisateur à la stratégie de contrôle d'accès basé sur les rôles (RBAC) du cluster.