Authentification

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

Pour se connecter via la console Google Cloud, GKE On-Prem suporte à l'aide d'un jeton de support de 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.

Présentation

OIDC vous permet de gérer l'accès à un cluster Kubernetes en utilisant les procédures standards 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. Ce 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), celui-ci 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 cette opération 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 afin d'inclure le jeton et d'autres valeurs OIDC dans kubeconfig.

Serveur d'API Kubernetes et jeton d'ID

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 en comparant les groupes de sécurité de l'utilisateur à la règle de contrôle des accès basé sur les rôles (RBAC, role-based access control) du cluster.