|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
Tokens
|
Deprecation of v3 API tokens
Rancher v2.13 introduced a new token resource in the Starting with Rancher v2.14.1:
|
Token-Ressource
Rancher hat eine imperative API-Ressource tokens.ext.cattle.io, die es Ihnen ermöglicht, Tokens zur Authentifizierung bei Rancher zu generieren.
kubectl api-resources --api-group=ext.cattle.io
Um eine Beschreibung der Felder und der Struktur der Token-Ressource zu erhalten, führen Sie Folgendes aus:
kubectl explain tokens.ext.cattle.io
Erstellen eines Tokens
|
Der Token-Wert wird nur einmal im Feld |
Nur ein gültiger und aktiver Rancher-Benutzer kann ein Token erstellen. Andernfalls wird beim Versuch, ein Token zu erstellen, ein Fehler angezeigt (Error from server (Forbidden)…).
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
Ein Token wird immer für den Benutzer erstellt, der die Anfrage stellt. Es ist verboten, ein Token für einen anderen Benutzer zu erstellen, indem ein anderes spec.userID angegeben wird, und dies wird fehlschlagen.
-
Das Feld
spec.descriptionkann auf eine beliebige menschenlesbare Beschreibung des Zwecks des Tokens gesetzt werden. Der Standardwert ist leer. -
Das Feld
spec.kindkann auf die Art des Tokens gesetzt werden. Der Wertsessionzeigt ein Login-Token an. Alle anderen Werte, einschließlich des standardmäßigen leeren Strings, zeigen eine Art abgeleitetes Token an. -
Die Felder
metadata.nameundmetadata.generateNamewerden ignoriert, und der Name des neuen Tokens wird automatisch mit dem Präfixtoken-generiert.kubectl create -o jsonpath='{.status.value}' -f -<<EOF apiVersion: ext.cattle.io/v1 kind: Token spec: description: My Token EOF -
Wenn
spec.ttlnicht angegeben ist, wird das Token mit der Ablaufzeit erstellt, die in derauth-token-max-ttl-minutesEinstellung definiert ist. Die standardmäßige Ablaufzeit beträgt 90 Tage. Wennspec.ttlangegeben ist, sollte es größer als 0 und kleiner oder gleich dem Wert derauth-token-max-ttl-minutesEinstellung, ausgedrückt in Millisekunden, sein.kubectl create -o jsonpath='{.status.value}' -f -<<EOF apiVersion: ext.cattle.io/v1 kind: Token spec: ttl: 7200000 # 2 hours EOF
Token auflisten
Die Auflistung zuvor generierter Token kann helfen, Token zu bereinigen, die nicht mehr benötigt werden (z. B. weil sie vorübergehend ausgegeben wurden). Administratoren können alle Token auflisten, während reguläre Benutzer nur ihre eigenen sehen können.
kubectl get tokens.ext.cattle.io
NAME KIND TTL AGE
token-chjc9 90d 18s
token-6fzgj 90d 16s
token-8nbrm 90d 14s
Verwenden Sie -o wide, um weitere Details zu erhalten:
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
Ein Token anzeigen
Administratoren können jedes Token abrufen, während reguläre Benutzer nur ihr eigenes abrufen können.
kubectl get tokens.ext.cattle.io token-chjc9
NAME KIND TTL AGE
token-chjc9 90d 18s
Verwenden Sie -o wide, um weitere Details zu erhalten:
kubectl get tokens.ext.cattle.io token-chjc9 -o wide
NAME USER KIND TTL AGE DESCRIPTION
token-chjc9 user-jtghh 90d 24s example
Ein Token löschen
Administratoren können jedes Token löschen, während reguläre Benutzer nur ihr eigenes löschen können.
kubectl delete tokens.ext.cattle.io token-chjc9
token.ext.cattle.io "token-chjc9" deleted
Ein Token aktualisieren
Nur die Metadatenfelder spec.description, spec.ttl und spec.enabled können aktualisiert werden. Alle anderen spec-Felder sind unveränderlich. Administratoren können das Feld spec.ttl erweitern, während reguläre Benutzer nur den Wert reduzieren können.
Ein Beispiel kubectl Befehl zum Bearbeiten eines Tokens:
kubectl edit tokens.ext.cattle.io token-zp786