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 de votre organisation et les autres utilisateurs.
Vous pouvez utiliser deux types de méthodes d'authentification 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 la section Configurer l'accès au nom de domaine complet.
- Configuration avec un 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 de 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 des utilisateurs à la connexion en leur fournissant 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 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 FQDN avec les utilisateurs, assurez-vous que vous ou votre administrateur de 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, 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 configurer la durée de validité du jeton. identityServiceOptions
dans le CRD ClientConfig comporte un paramètre sessionDuration
qui vous permet de configurer la durée de vie du jeton (en minutes).
Le paramètre sessionDuration
a une limite inférieure de 15 minutes et une limite maximale de 1 440 minutes (24 heures).
Voici un exemple de ce à quoi cela ressemble dans la CR ClientConfig:
spec:
identityServiceOptions:
sessionDuration: INT
où INT est la durée de la session en minutes.
Configurer un accès basé sur des fichiers
Au lieu de l'accès au 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
où 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 degcloud 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