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 explique comment configurer et gérer l'accès des utilisateurs à ces clusters configurés pour les développeurs et les autres utilisateurs de votre organisation.

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

  • Configuration avec accès FQDN (recommandé) : avec cette approche, les utilisateurs peuvent 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 FQDN.
  • Configuration avec accès basé sur des 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 à l'aide des 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 de connexion des utilisateurs 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 les clusters sur site à l'aide d'une ancienne version de logiciel compatible ou pour d'autres types de clusters, suivez les instructions pour configurer l'accès basé sur les fichiers.

Avant de partager le FQDN avec les utilisateurs, assurez-vous que vous ou l'administrateur de votre plate-forme avez suivi la configuration appropriée, y compris la configuration DNS du FQDN et la fourniture du FQDN lors de l'enregistrement auprès de votre fournisseur d'identité, le cas échéant.

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

Au lieu d'un fichier de configuration, les administrateurs de cluster peuvent partager le FQDN du serveur d'API Kubernetes du cluster avec les utilisateurs. Les utilisateurs peuvent utiliser ce nom de domaine complet pour se connecter au cluster. Le format de l'URL de connexion est APISERVER-URL, où l'URL contient le FQDN du serveur d'API.

https://apiserver.company.com est un exemple de format de APISERVER-URL.

Configurer les options d'Identity Service

Cette option de configuration vous permet de configurer la durée de validité du jeton. Le IdentityServiceOptions dans le CR ClientConfig comporte un paramètre sessionDuration qui vous permet de configurer la durée de validité du jeton (en minutes). Le paramètre sessionDuration a une limite inférieure de 15 minutes et une limite supérieure de 1 440 minutes (24 heures).

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

spec:
    IdentityServiceOptions:
      sessionDuration: INT

INT est la durée de la session en minutes.

Configurer l'accès basé sur les fichiers

Au lieu d'un accès FQDN, 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 avec une version ou un type qui n'est pas compatible avec l'accès FQDN. Ce fichier permet aux utilisateurs d'accéder aux clusters à partir de la ligne de commande avec le fournisseur de leur choix. 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