Accéder aux clusters à l'aide de GKE Identity Service
GKE Identity Service est un service d'authentification qui vous permet d'utiliser les fournisseurs d'identité existants de votre organisation pour l'authentification auprès de clusters dans plusieurs environnements GKE. Vous pouvez ainsi utiliser le même ID pour vous connecter aux clusters déployés sur Google Cloud, sur site et sur d'autres clouds publics. Ce document est destiné aux développeurs et aux autres utilisateurs de clusters GKE qui doivent accéder aux clusters à l'aide de ce service. Si vous devez vous connecter à des clusters à l'aide de votre ID Google Cloud via la passerelle Connect, consultez la page Utiliser la passerelle Connect.
Si vous êtes un administrateur de cluster ou de plate-forme et avez besoin de configurer GKE Identity Service pour votre organisation ou votre équipe, consultez la page Présentation concernant GKE Identity Service pour obtenir des informations sur les environnements de cluster compatibles, les autres prérequis et les guides de configuration correspondants.
Se connecter aux clusters depuis la ligne de commande
Pour vous authentifier auprès des clusters depuis la ligne de commande, vous devez exécuter des commandes d'authentification gcloud
à l'aide d'un fichier de configuration de connexion spécial fourni par votre administrateur de cluster.
Avant de commencer
Assurez-vous que les outils de ligne de commande suivants sont installés :
- La dernière version de Google Cloud CLI, qui inclut
gcloud
, l'outil de ligne de commande qui permet d'interagir avec Google Cloud. Si vous devez installer Google Cloud CLI, consultez le guide d'installation. kubectl
pour exécuter des commandes sur les clusters Kubernetes. Si vous devez installerkubectl
, reportez-vous au guide d'installation.
- La dernière version de Google Cloud CLI, qui inclut
Exécutez les commandes suivantes pour installer ou mettre à jour le composant
anthos-auth
:gcloud components update gcloud components install anthos-auth
Vérifiez que l'outil a bien été installé en exécutant la commande suivante :
gcloud anthos auth version
Si un numéro de version vous est renvoyée, cela indique que l'installation a réussi.
Obtenir le fichier de configuration
gcloud CLI se base sur un nom de fichier et un emplacement par défaut sur votre ordinateur local pour votre fichier de configuration d'authentification. Il est possible que votre administrateur copie automatiquement le fichier sur votre ordinateur pour votre compte. Si vous recevez manuellement le fichier et que vous devez l'enregistrer sur votre ordinateur, utilisez les valeurs par défaut pour simplifier vos commandes d'authentification gcloud
.
Utilisez les commandes suivantes pour copier le fichier de configuration d'authentification à l'emplacement par défaut :
Linux
mkdir -p $HOME/.config/google/anthos/ cp [AUTH_CONFIG_FILE] $HOME/.config/google/anthos/kubectl-anthos-config.yaml
où [AUTH_CONFIG_FILE] est le nom de votre fichier de configuration d'authentification. Par exemple, kubectl-anthos-config.yaml
.
macOS
mkdir -p $HOME/Library/Preferences/google/anthos/ cp [AUTH_CONFIG_FILE] $HOME/Library/Preferences/google/anthos/kubectl-anthos-config.yaml
où [AUTH_CONFIG_FILE] est le nom de votre fichier de configuration d'authentification. Par exemple, kubectl-anthos-config.yaml
.
Windows
md "%APPDATA%\google\anthos" copy [AUTH_CONFIG_FILE] "%APPDATA%\google\anthos\kubectl-anthos-config.yaml"
où [AUTH_CONFIG_FILE] est le nom de votre fichier de configuration d'authentification. Par exemple, kubectl-anthos-config.yaml
.
Si vous (ou votre administrateur) choisissez d'utiliser un nom de fichier ou un emplacement différent (par exemple, si votre administrateur fournit le fichier via une URL sécurisée), vous pouvez le spécifier à l'aide de l'option --login-config
dans chacune de vos requêtes d'authentification. Pour en savoir plus, consultez la section suivante.
S'authentifier auprès du cluster
Exécutez des commandes gcloud
pour vous authentifier auprès de vos clusters :
Exécutez la commande
gcloud anthos auth login
pour lancer le processus d'authentification :gcloud anthos auth login \ --cluster [CLUSTER_NAME] \ --user [USER_NAME] \ --login-config [AUTH_CONFIG_FILE_PATH] \ --login-config-cert [CA_CERT_PEM_FILE] \ --kubeconfig [CLUSTER_KUBECONFIG]
où :
[CLUSTER_NAME] (facultatif) spécifie le nom de votre cluster. Si cette option est omise, vous êtes invité à choisir parmi les clusters spécifiés dans votre fichier de configuration d'authentification.
[USER_NAME] (facultatif) spécifie le nom d'utilisateur des identifiants enregistrés dans le fichier
kubeconfig
. La valeur par défaut est[CLUSTER_NAME]-anthos-default-user
.[AUTH_CONFIG_FILE_PATH] (facultatif) spécifie le chemin d'accès personnalisé ou l'URL de l'emplacement auquel votre fichier de configuration d'authentification est enregistré ou hébergé. Vous pouvez omettre ce paramètre si le fichier se trouve à l'emplacement par défaut. Exemple :
--login-config /path/to/custom/authentication-config.yaml
[CA_CERT_PEM_FILE] (facultatif) spécifie le chemin d'accès à un fichier de certificat PEM de votre autorité de certification. Si votre fichier de configuration d'authentification est hébergé de manière sécurisée, vous pouvez utiliser une connexion HTTPS pour y accéder. Exemple :
--login-config-cert my-cert.pem
[CLUSTER_KUBECONFIG] (facultatif) spécifie le chemin d'accès personnalisé au fichier
kubeconfig
de votre cluster. Les jetons d'ID OIDC renvoyés par votre fournisseur OpenID sont enregistrés dans le fichierkubeconfig
.Utilisez cette option si votre fichier
kubeconfig
se trouve ailleurs que dans l'emplacement par défaut. Si cette option est omise, les jetons d'authentification sont ajoutés au fichierkubeconfig
à l'emplacement par défaut. Exemple :--kubeconfig /path/to/custom.kubeconfig
Exemples :
S'authentifier auprès d'un cluster spécifique :
gcloud anthos auth login --cluster my-production-cluster
Utiliser une invite pour sélectionner le cluster auprès duquel l'authentification doit s'effectuer :
gcloud anthos auth login
Résultat :
Please use the --cluster flag to specify a cluster from the list below: Source: $HOME/.config/google/anthos/kubectl-anthos-config.yaml 1. Cluster: projects/1000000000000/locations/global/memberships/gke-gcp-cluster ServerIP: https://104.198.180.50:440 2. Cluster: projects/1000000000000/locations/global/memberships/gke-baremetal-cluster ServerIP: https://104.198.180.51:440 3. Cluster: projects/1000000000000/locations/global/memberships/gke-onprem-cluster ServerIP: https://104.198.180.52:440 4. Cluster: projects/1000000000000/locations/global/memberships/gke-aws-cluster ServerIP: https://104.198.180.53:440
Utiliser un fichier de configuration d'authentification hébergé :
gcloud anthos auth login \ --cluster my-production-cluster \ --login-config HTTPS://my-secure-server/kubectl-anthos-config.yaml \ --login-config-cert my-cert.pem
Utilisez une invite pour sélectionner une option d'authentification. Pour en savoir plus à ce sujet et obtenir un exemple, consultez la section Choisir une méthode d'authentification ci-dessous.
Saisissez vos identifiants dans l'écran d'autorisation basé sur navigateur qui s'affiche. En cas de réussite de l'authentification, votre fichier
kubeconfig
contient maintenant un jeton d'ID. Vos commandeskubectl
pourront l'utiliser pour s'authentifier auprès du serveur d'API Kubernetes sur votre cluster.Vérifiez que l'authentification a réussi en exécutant l'une des commandes
kubectl
pour accéder à une ressource de votre cluster. Par exemple, si vous avez accès à la ressource "nœuds" du cluster (cet accès est configuré par votre administrateur de cluster), vous devriez pouvoir exécuter la commande suivante et afficher les nœuds du cluster :kubectl get nodes --kubeconfig [CLUSTER_KUBECONFIG]
Pour en savoir plus sur l'accès des utilisateurs, consultez la section Résoudre les problèmes d'accès des utilisateurs.
Choisir une méthode d'authentification
Si votre administrateur de cluster a configuré plusieurs fournisseurs d'identité pour votre cluster (par exemple, un fournisseur OIDC et un serveur LDAP) et n'a pas configuré de fournisseur par défaut, vous êtes invité à sélectionner une option d'authentification sur la page de connexion, comme dans l'exemple suivant :
gcloud anthos auth login
Please select your preferred authentication option for cluster [gke-onprem-ldap]
[1] LDAP Server
[2] OIDC
[3] cancel
Please enter your numeric choice:
1
Setting Preferred Authentication option to [LDAP Server]
Indiquez le chiffre correspondant à votre choix, puis poursuivez la procédure de connexion, comme décrit dans la section S'authentifier auprès du cluster ci-dessus.
L'option d'authentification choisie est conservée et réutilisée jusqu'à ce que l'administrateur du cluster change le fournisseur par défaut ou que vous le modifiiez vous-même. Pour modifier votre option d'authentification préférée, utilisez l'option --set-preferred-authentication
.
gcloud anthos auth login --set-preferred-authentication
Un résultat semblable à l'exemple suivant, vous permettant de choisir une nouvelle option d'authentification préférée, devrait s'afficher :
Your current authentication method is [1] AD Server. Please select your preferred authentication option for cluster [gke-onprem-ldap]
[1] LDAP Server
[2] OIDC
[3] cancel
Please enter your numeric choice:
2
Setting Preferred Authentication option to [OIDC]
S'authentifier via SSH depuis une machine distante
Supposons que vous souhaitiez vous connecter en SSH à un ordinateur distant et vous authentifier auprès d'un cluster depuis cette machine distante. Pour ce faire, votre fichier de configuration d'authentification doit se trouver sur la machine distante et vous devez être en mesure d'accéder à votre fournisseur OpenID depuis votre machine locale.
Sur votre machine locale, exécutez la commande suivante :
ssh [USER_NAME]@[REMOTE_MACHINE] -L [LOCAL_PORT]:localhost:[REMOTE_PORT]
où :
[USER_NAME] et [REMOTE_MACHINE] sont les valeurs standards permettant de se connecter en SSH.
[LOCAL_PORT] est un port ouvert de votre choix sur votre machine locale que vous utiliserez pour accéder à la machine distante.
[REMOTE_PORT] est le port que vous avez configuré pour votre URL de redirection OIDC. Vous le trouverez dans le champ
kubectlRedirectURI
de votre fichier de configuration d'authentification.
Dans votre shell SSH, exécutez la commande suivante pour lancer l'authentification :
gcloud anthos auth login --login-config [AUTH_CONFIG_FILE]
où [AUTH_CONFIG_FILE] est le chemin d'accès à votre fichier de configuration d'authentification sur la machine distante.
Sur votre ordinateur local, dans un navigateur, accédez à http://localhost:[LOCAL_PORT]/login et suivez la procédure de connexion OIDC.
Le fichier kubeconfig sur la machine distante contient maintenant le jeton dont vous avez besoin pour accéder au cluster.
Dans votre shell SSH, vérifiez que vous avez accès au cluster :
kubectl --kubeconfig [CLUSTER_KUBECONFIG] get nodes
Se connecter aux clusters depuis la console Google Cloud
Pour en savoir plus sur la connexion aux clusters depuis la console Google Cloud, consultez la page Utiliser des clusters depuis la console Google Cloud.