|
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. |
Jetons
|
Deprecation of v3 API tokens
Rancher v2.13 introduced a new token resource in the Starting with Rancher v2.14.1:
|
Ressource de token
Rancher dispose d’une ressource API impérative tokens.ext.cattle.io qui vous permet de générer des tokens pour vous authentifier auprès de Rancher.
kubectl api-resources --api-group=ext.cattle.io
Pour obtenir une description des champs et de la structure de la ressource de token, exécutez :
kubectl explain tokens.ext.cattle.io
Création d’un token
|
La valeur du token n’est renvoyée qu’une seule fois dans le champ |
Seul un utilisateur Rancher valide et actif peut créer un token. Sinon, vous obtiendrez une erreur affichée (Error from server (Forbidden)…) lors de la tentative de création d’un token.
kubectl create -o jsonpath='{.status.value}' -f -<<EOF
apiVersion: ext.cattle.io/v1
kind: Token
EOF
Error from server (Forbidden): error when creating "STDIN": tokens.ext.cattle.io is forbidden: user system:admin is not a Rancher user
Un token est toujours créé pour l’utilisateur effectuant la demande. Tenter de créer un token pour un autre utilisateur, en spécifiant un spec.userID différent, est interdit et échouera.
-
Le champ
spec.descriptionpeut être défini sur une description lisible par l’homme de l’objectif du token. La valeur par défaut est vide. -
Le champ
spec.kindpeut être défini sur le type de token. La valeursessionindique un token de connexion. Toutes les autres valeurs, y compris la chaîne vide par défaut, indiquent un type de token dérivé. -
Les champs
metadata.nameetmetadata.generateNamesont ignorés, et le nom du nouveau token est automatiquement généré en utilisant le préfixetoken-.kubectl create -o jsonpath='{.status.value}' -f -<<EOF apiVersion: ext.cattle.io/v1 kind: Token spec: description: My Token EOF -
Si le
spec.ttln’est pas spécifié, le token est créé avec le temps d’expiration défini dans le paramètreauth-token-max-ttl-minutes. Le temps d’expiration par défaut est de 90 jours. Sispec.ttlest spécifié, il doit être supérieur à 0 et inférieur ou égal à la valeur du paramètreauth-token-max-ttl-minutesexprimée en millisecondes.kubectl create -o jsonpath='{.status.value}' -f -<<EOF apiVersion: ext.cattle.io/v1 kind: Token spec: ttl: 7200000 # 2 hours EOF
Liste des tokens
Lister les tokens précédemment générés peut aider à nettoyer les tokens qui ne sont plus nécessaires (par exemple, ils ont été émis temporairement). Les administrateurs peuvent lister tous les tokens, tandis que les utilisateurs réguliers ne peuvent voir que les leurs.
kubectl get tokens.ext.cattle.io
NAME KIND TTL AGE
token-chjc9 90d 18s
token-6fzgj 90d 16s
token-8nbrm 90d 14s
Utilisez -o wide pour obtenir plus de détails :
kubectl get tokens.ext.cattle.io -o wide
NAME USER KIND TTL AGE DESCRIPTION
token-chjc9 user-jtghh 90d 24s example
token-6fzgj user-jtghh 90d 22s box
token-8nbrm user-jtghh 90d 20s jinx
Affichage d’un token
Les administrateurs peuvent obtenir n’importe quel token, tandis que les utilisateurs réguliers ne peuvent obtenir que le leur.
kubectl get tokens.ext.cattle.io token-chjc9
NAME KIND TTL AGE
token-chjc9 90d 18s
Utilisez -o wide pour obtenir plus de détails :
kubectl get tokens.ext.cattle.io token-chjc9 -o wide
NAME USER KIND TTL AGE DESCRIPTION
token-chjc9 user-jtghh 90d 24s example
Suppression d’un token
Les administrateurs peuvent supprimer n’importe quel token, tandis que les utilisateurs réguliers ne peuvent supprimer que le leur.
kubectl delete tokens.ext.cattle.io token-chjc9
token.ext.cattle.io "token-chjc9" deleted
Mise à jour d’un token
Seuls les champs de métadonnées spec.description, spec.ttl et spec.enabled peuvent être mis à jour. Tous les autres champs spec sont immuables. Les administrateurs peuvent étendre le champ spec.ttl, tandis que les utilisateurs réguliers ne peuvent que réduire la valeur.
Un exemple de commande kubectl pour éditer un token :
kubectl edit tokens.ext.cattle.io token-zp786