Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

Utilisation des tokens API

Deprecation of v3 API tokens

Rancher v2.13 introduced a new token resource in the ext.cattle.io API group to serve as the public API for tokens, which was only accessible through kubectl.

Starting with Rancher v2.14.1:

  • Legacy v3 API tokens (tokens.management.cattle.io) are being phased out and scheduled for removal in a future release. If you currently rely on legacy tokens for automation or API access, transition to the new tokens.ext.cattle.io tokens to ensure continued compatibility.

  • The Rancher dashboard provides basic support for tokens.ext.cattle.io (create, view or list, and delete).

Rancher v2.8.0 a introduit le API Kubernetes de Rancher qui peut être utilisé pour gérer les ressources Rancher via kubectl. Cette page couvre les informations sur les tokens API utilisés avec le Rancher CLI, fichiers kubeconfig, Terraform et le navigateur API v3.

Par défaut, certains tokens API au niveau du cluster sont générés avec un temps de vie infini (ttl=0). En d’autres termes, les tokens API avec ttl=0 n’expirent jamais à moins que vous ne les invalidiez. Les tokens ne sont pas invalidés par le changement d’un mot de passe.

Vous pouvez désactiver les tokens API en les supprimant ou en désactivant le compte utilisateur.

Suppression des tokens

Pour supprimer un token :

  1. Allez à la liste de tous les tokens dans la vue API Rancher à https://<Rancher-Server-IP>/v3/tokens.

  2. Accédez au token que vous souhaitez supprimer par son ID. Par exemple, https://<Rancher-Server-IP>/v3/tokens/kubectl-shell-user-vqkqt

  3. Cliquez sur Supprimer.

Voici une liste complète des tokens générés avec ttl=0 :

Jeton Description

kubectl-shell-*

Accès à kubectl shell dans le navigateur

agent-*

Token pour le déploiement de l’agent

compose-token-*

Token pour compose

helm-token-*

Token pour le déploiement de chart Helm

drain-node-*

Token pour le drain (Rancher utilise kubectl pour le drain car il n’y a pas d’API Kubernetes native).

Définir le TTL sur les tokens kubeconfig

Les administrateurs peuvent définir un temps de vie global (TTL) sur les tokens kubeconfig. Changer la durée de vie par défaut du kubeconfig peut se faire en naviguant vers les paramètres globaux et en définissant kubeconfig-default-token-ttl-minutes à la durée souhaitée en minutes. Depuis Rancher v2.8, la valeur par défaut de kubeconfig-default-token-ttl-minutes est 43200, ce qui signifie que les tokens expirent dans 30 jours.

Ce paramètre est utilisé par tous les tokens kubeconfig, sauf ceux créés par le CLI pour générer des tokens kubeconfig.

Désactiver les tokens dans les kubeconfigs générés

Définissez le paramètre kubeconfig-generate-token sur false. Ce paramètre indique à Rancher de ne plus générer automatiquement un token lorsque l’utilisateur clique sur télécharger un fichier kubeconfig. Lorsque ce paramètre est désactivé, un kubeconfig généré fait référence à Rancher CLI pour récupérer un token à durée de vie courte pour le cluster. Lorsque ce kubeconfig est utilisé dans un client, tel que kubectl, le Rancher CLI doit être installé pour compléter la demande de connexion.

Hachage des tokens

Vous pouvez activer le hachage des tokens, où les tokens subissent un hachage unidirectionnel utilisant l’algorithme SHA256. C’est un processus non réversible : une fois activée, cette fonctionnalité ne peut pas être désactivée. Vous devriez d’abord évaluer ce paramètre dans un environnement de test et/ou faire des sauvegardes avant d’activer.

Cette fonctionnalité affecte tous les tokens qui incluent, mais ne se limitent pas à, ce qui suit :

  • Tokens kubeconfig

  • Tokens Bearer, clés/appels d’API

  • Tokens utilisés par des opérations internes

Paramètres des tokens

Ces paramètres globaux affectent le comportement des tokens Rancher.

Paramètre Description

auth-user-session-ttl-minutes

TTL en minutes sur un token de session d’authentification utilisateur.

auth-user-session-idle-ttl-minutes

TTL en minutes sur un token de session d’authentification utilisateur, sans activité de l’utilisateur.

kubeconfig-default-token-ttl-minutes

TTL par défaut appliqué à tous les tokens kubeconfig, sauf pour les tokens générés par Rancher CLI.

auth-token-max-ttl-minutes

TTL maximum pour tous les tokens, sauf ceux contrôlés par auth-user-session-ttl-minutes.

kubeconfig-generate-token

Si vrai, générez automatiquement des tokens lorsqu’un utilisateur télécharge un kubeconfig.

auth-user-session-ttl-minutes

Durée de vie (TTL) en minutes, utilisée pour déterminer quand un token de session d’authentification utilisateur expire. Lorsqu’il est expiré, l’utilisateur doit se connecter et obtenir un nouveau token. Ce paramètre n’est pas affecté par auth-token-max-ttl-minutes. Les tokens de session sont créés lorsqu’un utilisateur se connecte à Rancher.

auth-user-session-idle-ttl-minutes

Durée de vie (TTL) sans activité utilisateur pour les tokens de session de connexion, en minutes. Par défaut, auth-user-session-idle-ttl-minutes est défini sur la même valeur que auth-user-session-ttl-minutes (pour la compatibilité ascendante). Il ne doit jamais dépasser la valeur de auth-user-session-ttl-minutes.

kubeconfig-default-token-ttl-minutes

Durée de vie (TTL) en minutes, utilisée pour déterminer quand un token kubeconfig expire. Lorsque le token est expiré, l’API rejette le token. Ce paramètre ne peut pas être supérieur à auth-token-max-ttl-minutes. Ce paramètre s’applique aux tokens générés dans un fichier kubeconfig demandé, sauf pour les tokens générés par Rancher CLI. Depuis Rancher v2.8, la durée par défaut est de 43200, ce qui signifie que les tokens expirent dans 30 jours.

auth-token-max-ttl-minutes

Durée de vie maximale (TTL) en minutes autorisée pour les tokens d’authentification. Si un utilisateur tente de créer un token avec une durée de vie (TTL) supérieure à auth-token-max-ttl-minutes, Rancher définit la durée de vie du token sur la valeur de auth-token-max-ttl-minutes. S’applique à tous les tokens kubeconfig et tokens API. Depuis Rancher v2.8, la durée par défaut est de 129600, ce qui signifie que les tokens expirent dans 90 jours.

kubeconfig-generate-token

Lorsque c’est vrai, les kubeconfig demandés via l’interface utilisateur contiennent un token valide. Lorsque c’est faux, les kubeconfig contiennent une commande qui utilise le CLI Rancher pour inviter l’utilisateur à se connecter. Le CLI récupère ensuite et met en cache un token pour l’utilisateur. cli/kubectl.adoc#_authentication_with_kubectl_and_kubeconfig_tokens_with_ttl[Le CLI récupère ensuite et met en cache un token pour l’utilisateur].