Configurer une méthode d'authentification pour l'accès des utilisateurs

Ce document est destiné aux administrateurs de cluster qui ont déjà configuré leurs clusters pour GKE Identity Service. Il fournit des instructions sur la façon de configurer et de gérer l'accès des développeurs et autres utilisateurs de votre organisation à ces clusters configurés.

Il existe deux types de méthodes d'authentification que vous pouvez utiliser pour configurer l'accès des utilisateurs à vos clusters :

  • Configurer avec un accès FQDN (recommandé) : cette approche permet aux utilisateurs de s'authentifier directement auprès du serveur GKE Identity Service à l'aide du nom de domaine complet (FQDN) du serveur d'API Kubernetes du cluster. Pour en savoir plus, consultez Configurer l'accès au nom de domaine complet.
  • Configurer l'accès basé sur les fichiers : avec cette approche, vous générez un fichier de configuration de connexion et le distribuez aux utilisateurs du cluster. Les utilisateurs peuvent ensuite se connecter aux clusters configurés avec les commandes d'authentification gcloud à l'aide de ce fichier. Pour en savoir plus, consultez Configurer l'accès basé sur les fichiers.

Configurer l'accès FQDN (recommandé)

Cette section explique comment configurer l'accès à la connexion utilisateur en fournissant à l'utilisateur l'URL (nom de domaine complet) d'un serveur à utiliser pour l'authentification. Le flux d'authentification permet à l'utilisateur de se connecter avec son IdP et lui fournit un jeton qui est ajouté à son fichier kubeconfig pour accéder au cluster. Cette approche d'authentification n'est compatible qu'avec les clusters sur site (Google Distributed Cloud) sur VMware et bare metal, à partir de la version 1.29. Les autres types de clusters ne sont pas acceptés. Si vous devez configurer l'authentification pour des clusters sur site à l'aide d'une ancienne version logicielle compatible ou pour d'autres types de clusters, suivez les instructions pour configurer l'accès basé sur des fichiers.

Avant de partager le nom de domaine complet avec les utilisateurs, assurez-vous que vous ou votre administrateur de plate-forme avez suivi la configuration appropriée, y compris la configuration DNS pour le nom de domaine complet et la fourniture du nom de domaine complet lors de l'enregistrement auprès de votre fournisseur d'identité, si nécessaire.

Partager un nom de domaine complet (FQDN) avec les utilisateurs

Au lieu d'un fichier de configuration, les administrateurs de cluster peuvent partager le nom de domaine complet (FQDN) du serveur d'API Kubernetes du cluster, tel que https://apiserver.example.com, avec les utilisateurs. Les utilisateurs peuvent utiliser ce nom de domaine complet pour se connecter au cluster.

Configurer les options d'Identity Service

Cette option de configuration vous permet de définir la durée de vie du jeton. Le identityServiceOptions de la CR ClientConfig comporte un paramètre sessionDuration qui vous permet de configurer la durée de vie du jeton (en minutes). La limite inférieure du paramètre sessionDuration est de 15 minutes et la limite supérieure est de 1 440 minutes (24 heures).

Voici un exemple de ce à quoi cela ressemble dans le CR ClientConfig :

spec:
    identityServiceOptions:
      sessionDuration: INT

INT correspond à la durée de la session en minutes.

Configurer un accès basé sur des fichiers

Au lieu d'accéder au cluster via le nom de domaine complet, les administrateurs de cluster peuvent générer un fichier de configuration de connexion et le distribuer aux utilisateurs du cluster. Vous pouvez utiliser cette option si vous configurez l'authentification sur un cluster dont la version ou le type ne sont pas compatibles avec l'accès au nom de domaine complet. Ce fichier permet aux utilisateurs d'accéder aux clusters à partir de la ligne de commande avec le fournisseur choisi. Cette approche d'authentification n'est compatible qu'avec les fournisseurs OIDC et LDAP.

Générer la configuration de connexion

Console

(Configuration au niveau du parc uniquement)

Copiez la commande gcloud affichée et exécutez-la pour générer le fichier.

gcloud

Si vous avez configuré le cluster à l'aide de la CLI gcloud ou si vous devez générer à nouveau le fichier, exécutez la commande suivante pour générer le fichier :

gcloud anthos create-login-config --kubeconfig=KUBECONFIG

KUBECONFIG représente le chemin du fichier kubeconfig pour le cluster. S'il existe plusieurs contextes dans le fichier kubeconfig, le contexte actuel est utilisé. Vous devrez peut-être réinitialiser le contexte actuel sur le cluster approprié avant d'exécuter la commande.

Vous trouverez toutes les informations de référence sur cette commande, y compris des paramètres facultatifs supplémentaires, dans le guide de référence de Google Cloud CLI.

Le nom par défaut du fichier de configuration de connexion est kubectl-anthos-config.yaml, qui correspond au nom attendu par Google Cloud CLI lors de la connexion au fichier. Si vous souhaitez attribuer un nom différent de celui par défaut, consultez la section correspondante de la section Distribuer la configuration de connexion.

Pour en savoir plus sur l'accès des utilisateurs, consultez la section Résoudre les problèmes d'accès des utilisateurs.

Distribuer la configuration de connexion

Voici quelques méthodes pour distribuer le fichier de configuration :

  • Hébergez le fichier en l'associant à une URL accessible. Les utilisateurs peuvent spécifier cet emplacement avec l'option --login-config lors de l'exécution de gcloud anthos auth login, ce qui permet à la CLI Google Cloud d'obtenir le fichier.

    Envisagez d'héberger le fichier sur un hôte sécurisé. Pour en savoir plus sur l'utilisation de certificats PEM pour l'accès HTTPS sécurisé, consultez l'option --login-config-cert de gcloud CLI.

  • Fournissez manuellement le fichier à chaque utilisateur, avec des informations sur son emplacement de sauvegarde sur leur ordinateur local : Google Cloud CLI s'attend à trouver le fichier dans un emplacement par défaut spécifique au système d'exploitation. Si le fichier a un nom ou un emplacement autre que celui par défaut, vos utilisateurs doivent utiliser l'indicateur --login-config pour spécifier l'emplacement du fichier de configuration lors de l'exécution de commandes sur le cluster. Les instructions permettant aux utilisateurs d'enregistrer le fichier sont disponibles dans la section Accéder aux clusters à l'aide de GKE Identity Service.

  • Utilisez vos outils internes pour transférer le fichier de configuration d'authentification sur l'ordinateur de chaque utilisateur. Google Cloud CLI s'attend à trouver le fichier aux emplacements suivants, en fonction du système d'exploitation utilisateur:

    Linux

    $HOME/.config/google/anthos/kubectl-anthos-config.yaml

    macOS

    $HOME/Library/Preferences/google/anthos/kubectl-anthos-config.yaml

    Windows

    %APPDATA%\google\anthos\kubectl-anthos-config.yaml