Token

Sobald ein Benutzer authentifiziert ist, wird ein Token für die Autorisierung und den Zugriff auf eine OpenStack-Umgebung generiert. Ein Token kann eine variable Lebensdauer haben. Der Vorgabewert für das Auslaufen beträgt jedoch eine Stunde. Der empfohlene Verfallwert sollte auf einen niedrigeren Wert gesetzt werden, der genügend Zeit für interne Dienste zur Ausführung von Aufgaben bietet. In dem Fall, dass das Token abläuft, bevor Aufgaben abgeschlossen sind, kann die Cloud nicht mehr reagieren oder die Bereitstellung von Diensten beenden. Ein Beispiel für die verbrauchte Zeit während des Gebrauchs wäre die Zeit, die der Compute-Dienst benötigt, um ein Disk-Image auf den Hypervisor für die lokale Zwischenspeicherung zu übertragen. Es ist erlaubt ein abgelaufenes Token abzurufen während ein valides Service Token benutzt wird.

Das Token wird oft innerhalb der Struktur eines größeren Kontextes einer Identitätsdienstantwort verabschiedet. Diese Antworten liefern auch einen Katalog der verschiedenen OpenStack-Dienste. Jeder Dienst ist mit seinem Namen, Zugangsendpunkte für interne, admin und öffentlichen Zugriff aufgeführt.

Tokens can be revoked using the identity API.

In the Stein release, there are two supported token types: fernet and JWT.

Neither fernet or JWT tokens require persistence. The keystone token database no longer suffers bloat as a side effect of authentication. Pruning of expired tokens happens automatically. Replication across multiple nodes is also no longer needed. As long as each keystone node shares the same repository, tokens can be created and validated instantly across all nodes.

Fernet-Token

Fernet tokens are the supported token provider for Stein (default). Fernet is a secure messaging format explicitly designed for use in API tokens. They are lightweight (fall in range of 180 to 240 bytes) and reduce the operational overhead required to run a cloud. Authentication and authorization metadata is neatly bundled into a message packed payload, which is then encrypted and signed in as a fernet token.

JWT tokens

JSON Web Signature (JWS) tokens were introduced in the Stein release. Compared to fernet, JWS offer a potential benefit to operators by limiting the number of hosts that need to share a symmetric encryption key. This helps prevent malicious actors who might already have a foothold in your deployment from spreading into additional nodes.

Further details on the differences between these token providers can be found here https://docs.openstack.org/keystone/stein/admin/tokens-overview.html#token-providers