Authentification

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

Pour se connecter via la console Google Cloud, GKE On-Prem accepte l'utilisation d'un jeton de support de compte de service Kubernetes. Consultez la page Connexion à un cluster depuis Google Cloud Console.

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 l'interface de ligne de commande gcloud pour appeler le serveur d'API Kubernetes

Vous exécutez la commande gcloud anthos auth login pour vous authentifier auprès de vos clusters. Par conséquent, votre requête est transmise au serveur d'API Kubernetes.

Pour que cela fonctionne, vos jetons d'ID OIDC doivent être stockés dans le fichier kubeconfig. GKE On-Prem utilise gcloud CLI de Google Cloud CLI pour demander et obtenir le jeton d'ID et d'autres valeurs OIDC dans le fichier kubeconfig.

Serveur d'API Kubernetes et jeton d'ID

Une fois authentifié avec le cluster, vous pouvez interagir à l'aide de la CLI kubectl de gcloud CLI. 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.