Service Account-Authentifizierung
Zuletzt aktualisiert am
STACKIT Cloud bietet zwei Hauptmethoden zur Authentifizierung: den Key-Flow und den Workload Identity Federation Flow.
Workload Identity Federation Flow (empfohlen)
Abschnitt betitelt „Workload Identity Federation Flow (empfohlen)“Der Workload Identity Federation Flow ist die empfohlene Methode. Er ermöglicht es einem Service Account, sich mithilfe von kurzlebigen Tokens zu authentifizieren, die von einem externen OIDC-Aussteller bezogen werden. So erhalten Sie kurzlebige Tokens, ohne statische Schlüssel zu benötigen.
Funktionsweise
Abschnitt betitelt „Funktionsweise“Verknüpfen Sie Ihren Service Account mit einem externen OIDC-Aussteller, indem Sie einen föderierten Identitätsanbieter konfigurieren. Tokens des externen Ausstellers werden nur akzeptiert, wenn die Issuer-URL übereinstimmt und alle Assertion-Bedingungen erfüllt sind.
- Die Workload (z. B. ein CI-Runner) fordert bei dem externen IDP (z. B. GitHub) ein Token an.
- Der externe IDP stellt der Workload ein Token aus.
- Die Workload fordert beim STACKIT IDP ein Token an und legt dabei dieses externe Token als Berechtigungsnachweis vor.
- Der STACKIT IDP validiert das Token anhand der konfigurierten Issuer-URL und der Assertions (z. B. ob
subjectEQUALSeinem bestimmten Wert entspricht). - Nach erfolgreicher Prüfung stellt der STACKIT IDP der Workload ein kurzlebiges Access Token aus.
- Die Workload verwendet das kurzlebige Access Token, um auf die Ressource zuzugreifen.
Workload Identity Federation Flow einrichten
Abschnitt betitelt „Workload Identity Federation Flow einrichten“Verwalten Sie föderierte Identitätsanbieter im STACKIT Portal unter IAM and Management > Service accounts. Legen Sie dabei den Namen des Anbieters, die exakte Issuer-URL sowie die erforderlichen Assertions fest.
Key-Flow
Abschnitt betitelt „Key-Flow“Der Key-Flow verwendet einen kryptografischen Challenge-Response-Mechanismus auf Basis eines Service Account-Schlüssels und eines RSA-Schlüsselpaars, um Anwendungen zu authentifizieren. Diese Methode verwendet kurzlebige Tokens, wodurch Sicherheitsrisiken deutlich reduziert werden.
Funktionsweise
Abschnitt betitelt „Funktionsweise“Der Key-Flow trennt einen langlebigen privaten Schlüssel von den kurzlebigen Access Tokens, die für API-Anfragen verwendet werden.
- Ihre Anwendung (der Client) verwendet ihren privaten RSA-Schlüssel, um ein JSON Web Token (JWT) zu signieren. Der private Schlüssel bleibt geheim und wird nie über das Netzwerk übertragen.
- Die Anwendung sendet das signierte JWT an den STACKIT-Server, um ein temporäres Access Token anzufordern.
- Der STACKIT-Server verwendet den zugehörigen öffentlichen Schlüssel, um die Authentizität und Integrität des JWT zu überprüfen.
- Nach erfolgreicher Prüfung stellt der STACKIT-Server ein kurzlebiges Access Token aus.
- Ihre Anwendung verwendet das temporäre Access Token als Bearer-Token für API-Anfragen, bis es abläuft. Nach Ablauf fordern Sie durch Wiederholung des JWT-Austauschs ein neues Token an.
Kurze Token-Lebensdauern verringern die Möglichkeit, dass ein Angreifer ein kompromittiertes Token missbrauchen kann.
Key-Flow einrichten
Abschnitt betitelt „Key-Flow einrichten“Wählen Sie eine Methode zur Konfiguration eines Service Account-Schlüssels, je nach verwendetem Tool.
Weitere Informationen finden Sie im Abschnitt Authentifizierung des jeweiligen Developer Tools, das Sie verwenden möchten.
In der Anleitung Bearer-Token abrufen erfahren Sie mehr über die Voraussetzungen und wie Sie ein kurzlebiges Token erhalten.