Zum Inhalt springen

Service Account-Authentifizierung

Die STACKIT Cloud verwendet zwei Haupt-Authentifizierungsmethoden: Schlüsselbasierte Authentifizierung und Tokenbasierte Authentifizierung. Die schlüsselbasierte Variante ist die empfohlene und sicherere Methode, während die tokenbasierte Variante eine ältere und mitlerweile überholte Methode ist.

Die Schlüsselbasierte Authentifizierung ist die empfohlene und sicherere Authentifizierungsmethode. Sie verwendet einen kryptografischen Challenge-Response-Mechanismus, der auf einem Service Account-Schlüssel und einem RSA-Schlüsselpaar basiert, um Applikationen zu authentifizieren. Diese Methode verwendet kurzlebige Token, was die Sicherheitsrisiken erheblich reduziert.

Die Schlüsselbasierte Authentifizierung trennt einen langlebigen privaten Schlüssel von den kurzlebigen Zugriffs-Token, die für API-Anfragen verwendet werden. Hier ist eine schrittweise Aufschlüsselung der Funktionsweise:

  1. Ihre Applikation (der Client) verwendet ihren privaten RSA-Schlüssel, um ein JSON Web Token (JWT) zu signieren. Dieser private Schlüssel wird geheim gehalten und niemals über das Netzwerk gesendet.
  2. Um ein temporäres Zugriffs-Token anzufordern, sendet die Applikation das signierte JWT an den STACKIT Server.
  3. Der Server überprüft die Authentizität und Integrität des JWT mit dem entsprechenden öffentlichen Schlüssel.
  4. Nach erfolgreicher Verifizierung stellt der Server ein kurzlebiges Zugriffs-Token aus.
  5. Ihre Applikation verwendet dieses temporäre Zugriffs-Token als Bearer-Token für alle nachfolgenden API-Anfragen, bis es abläuft. Sobald dieser abgelaufen ist, muss ein neuer Token durch die Wiederholung des JWT-Austauschs angefordert werden.

Die kurze Lebensdauer dieser Token ist eine wesentliches Sicherheitsmerkmal. Es minimiert die Möglichkeit für einen Angreifer, ein kompromittiertes Token zu verwenden.

Einrichtung der schlüsselbasierten Authentifizierung

Abschnitt betitelt „Einrichtung der schlüsselbasierten Authentifizierung“

Es gibt verschiedene Methoden, die Sie verwenden können, um einen Service Account-Schlüssel für die Authentifizierung zu konfigurieren, abhängig von dem von Ihnen verwendeten Tool.

Informationen dazu finden Sie im entsprechenden Authentifizierungs-Abschnitt des Developer-Tools.

In der Anleitung Bearer-Token beziehen erfahren Sie mehr über die Voraussetzungen und wie Sie ein kurzlebigen Token erhalten.

Die Tokenbasierte Authentifizierung ist eine Legacy-Authentifizierungsmethode, die weniger sicher als die schlüsselbasierte Variante ist. Sie verwendet einen einzigen, langlebigen Service Account-Token direkt als Bearer-Token für alle Anfragen.

Das Hauptsicherheitsproblem bei der tokenbasierten Authentifizierung ist die Verwendung von langlebigen, statischen Token. Diese Token können nach ihrer Ausstellung nicht widerrufen werden. Wenn ein Token kompromittiert wird, kann ein böswilliger Akteur es nutzen, um für seine gesamte Lebensdauer unbefugten Zugriff zu erlangen. Dies erhöht die Auswirkungen einer einzigen Kompromittierung von Zugangsdaten stark. Aufgrund dieser Risiken hat STACKIT die Entfernung der tokenbasierten Authentifizierung geplant.