IAM-05 · Identität & Zugriff

OAuth 2.1 und OIDC für KI-Agenten: Client-Credentials-Flow, Token-Rotation und enge Scopes

Wie KI-Agenten sich sicher authentifizieren: Client-Credentials-Flow, Token-Rotation und enges Scope-Design mit OAuth 2.1 und OIDC – praxisnah erklärt.

Agent identity flow: an agent authenticates to an issuer, receives a short-lived scoped token, and presents it to a resource that verifies scope before actingagentnon-human idtoken issuerOAuth / mTLSresourceverifies scopeauthenticatescoped tokenleast privilege: the token grants only this task, expires fast, and is bound to the agent's identity

Autonome KI-Agenten rufen heute APIs auf, lesen Datenbanken aus und lösen Aktionen in Fremdsystemen aus – ganz ohne Mensch am Bildschirm. Genau hier wird die Frage nach der maschinellen Identität zur Sicherheitsfrage ersten Ranges. Wer einem Agenten ein statisches API-Token mit Vollzugriff in die Hand drückt, hat im Grunde einen Generalschlüssel verteilt, den niemand mehr kontrolliert.

Dieser Beitrag zeigt, wie Sie KI-Agenten mit OAuth 2.1 und OIDC sauber autorisieren: vom Client-Credentials-Flow über die Token-Rotation bis zum Scope-Design, das den Schaden im Ernstfall klein hält.

Wie authentifizieren sich KI-Agenten mit OAuth 2.1 und OIDC?

KI-Agenten authentifizieren sich gegenüber APIs in den allermeisten Fällen über den Client-Credentials-Flow von OAuth 2.1. Der Agent ist dabei selbst der Client mit eigener Identität – er handelt nicht im Namen eines eingeloggten Nutzers, sondern als eigenständige Maschine. Er tauscht seine Anmeldedaten (Client-ID plus Geheimnis oder ein signiertes Schlüsselpaar) beim Token-Endpunkt gegen ein kurzlebiges Access-Token. Dieses Token trägt eng gefasste Scopes und läuft nach Minuten bis wenigen Stunden ab.

OIDC (OpenID Connect) kommt dort ins Spiel, wo der Agent im Auftrag eines Menschen handelt. OIDC setzt als Identitätsschicht auf OAuth 2.1 auf und liefert ein ID-Token, das beschreibt, wer die Aktion ursprünglich autorisiert hat. So bleibt nachvollziehbar, ob ein Agent autonom als Maschine arbeitet oder eine delegierte Nutzerabsicht ausführt.

Der entscheidende Punkt: Ein Agent erhält nie pauschalen Vollzugriff, sondern für jede Aufgabe nur ein eng zugeschnittenes, ablaufendes Token. Authentifizierung (wer bin ich?) und Autorisierung (was darf ich?) werden konsequent getrennt – und beide werden bei jedem Token-Bezug neu durchgesetzt.

Warum reicht ein statischer API-Schlüssel für Agenten nicht aus?

Ein statischer API-Schlüssel ist das genaue Gegenteil dessen, was die Architektur autonomer Agenten verlangt. Er läuft nicht ab, lässt sich nicht auf einzelne Aufgaben beschränken und taucht – einmal kompromittiert – oft monatelang unbemerkt in Logs, Repositories oder Prompt-Verläufen auf.

Agenten verschärfen das Problem aus drei Gründen:

  • Sie handeln schnell und im großen Maßstab. Ein geleaktes Token wird von einem Agenten nicht einmal, sondern in Sekunden hundertfach missbraucht.
  • Sie sind anfällig für Prompt Injection. Eine manipulierte Eingabe kann einen Agenten dazu bringen, sein Token an einen fremden Endpunkt zu senden. Ein kurzlebiges, eng begrenztes Token begrenzt den Schaden auf wenige Minuten und einen schmalen Berechtigungsausschnitt.
  • Sie sind schwer zu auditieren. Ohne Token-Lebenszyklus fehlt jede Grundlage, um zu sehen, welcher Agent wann welche Berechtigung tatsächlich genutzt hat.

OAuth 2.1 ist hier kein Selbstzweck, sondern die Antwort auf eine konkrete Bedrohungslage: kurze Gültigkeit, enge Scopes und ein Widerrufsmechanismus statt eines unsterblichen Generalschlüssels.

Was ist neu an OAuth 2.1 gegenüber 2.0?

OAuth 2.1 ist keine Neuerfindung, sondern eine Konsolidierung: Der Entwurf bündelt OAuth 2.0 plus die seither etablierten Security Best Current Practices in einem Dokument und streicht, was sich als unsicher erwiesen hat. Stand 2026 liegt OAuth 2.1 als IETF-Entwurf vor (noch kein finaler RFC), wird aber von etablierten Servern wie dem Spring Authorization Server bereits umgesetzt.

Für den Agentenbetrieb sind vier Änderungen relevant:

Aspekt OAuth 2.0 OAuth 2.1
Implicit Flow erlaubt entfernt
Resource Owner Password Credentials (ROPC) erlaubt entfernt
PKCE optional, primär für mobile Apps für alle Authorization-Code-Flows verpflichtend
Refresh-Token frei nutzbar müssen sender-gebunden oder Einmal-Token (Rotation) sein

Für KI-Agenten heißt das konkret: Die beiden riskanten Flows (Implicit, ROPC) fallen weg, und der Umgang mit langlebigen Token wird verschärft. Der Client-Credentials-Flow bleibt als zentraler Maschine-zu-Maschine-Mechanismus erhalten – er ist der Standardweg für autonome Agenten.

Wie funktioniert der Client-Credentials-Flow für einen Agenten?

Der Client-Credentials-Flow ist der direkteste OAuth-Ablauf, weil kein Nutzer und keine Weiterleitung über einen Browser beteiligt sind. Der Agent spricht direkt mit dem Autorisierungsserver.

Der Ablauf in vier Schritten:

  1. Registrierung. Der Agent wird beim Autorisierungsserver als eigener Client registriert und erhält eine Client-ID. Als Geheimnis dient idealerweise kein simples Passwort, sondern eine kryptografische Anmeldung (etwa private_key_jwt oder mTLS).
  2. Token-Anfrage. Der Agent sendet grant_type=client_credentials an den Token-Endpunkt und fordert dabei nur die Scopes an, die er für die aktuelle Aufgabe braucht.
  3. Token-Ausgabe. Der Server prüft die Identität, gleicht die angefragten Scopes mit den erlaubten ab und gibt ein kurzlebiges Access-Token zurück.
  4. API-Zugriff. Der Agent legt das Token als Bearer-Token bei jedem API-Aufruf bei. Läuft es ab, fordert er einfach ein neues an.

Ein wichtiges, oft missverstandenes Detail: Der Client-Credentials-Flow gibt kein Refresh-Token aus. Das ist kein Versäumnis, sondern Absicht. Ein Refresh-Token soll einem Menschen das erneute Anmelden ersparen – doch hier gibt es keinen Menschen. Läuft das Access-Token ab, holt sich der Agent mit seinen ohnehin vorhandenen Anmeldedaten schlicht ein frisches Token. Ein Refresh-Token wäre nur eine zusätzliche Angriffsfläche ohne Mehrwert.

Wann braucht ein Agent OIDC und Token-Rotation?

Sobald ein Agent im Namen eines Menschen handelt, reicht der Client-Credentials-Flow nicht mehr. Beispiel: Ein Assistent soll im Postfach einer bestimmten Mitarbeiterin Termine verwalten. Dann muss diese Person den Zugriff zunächst per Authorization-Code-Flow (mit PKCE) autorisieren, und der Agent erhält ein Access-Token samt Refresh-Token, das die delegierte Berechtigung trägt. OIDC liefert dabei zusätzlich das ID-Token, das die ursprüngliche Nutzeridentität belegt.

Genau in diesem Szenario greift die Token-Rotation. Refresh-Token sind langlebig und damit ein lohnendes Ziel. OAuth 2.1 verlangt für sie deshalb entweder Sender-Bindung oder Einmal-Verwendung. Bei der Rotation gilt:

  • Jeder Einsatz eines Refresh-Tokens gibt nicht nur ein neues Access-Token zurück, sondern auch ein neues Refresh-Token.
  • Das alte Refresh-Token wird sofort ungültig.
  • Taucht ein bereits verbrauchtes Refresh-Token erneut auf, wertet der Server das als Diebstahl und widerruft die gesamte Token-Familie.

Dieser letzte Punkt ist der eigentliche Gewinn: Die Rotation macht Token-Diebstahl erkennbar. Verwenden Angreifer und legitimer Agent dasselbe Refresh-Token parallel, schlägt der Server Alarm und sperrt beide – der Schaden endet, bevor er groß wird.

Für rein autonome Agenten ohne Nutzerbezug gilt dagegen die einfachere Regel: kein Refresh-Token, kurze Access-Token-Laufzeit, bei Bedarf neu anfordern.

Wie gestaltet man enge Scopes für Agenten?

Scope-Design entscheidet darüber, wie groß der Schaden ausfällt, wenn ein Agent kompromittiert wird oder fehlerhaft handelt. Das Leitprinzip ist die geringste notwendige Berechtigung (Least Privilege): Ein Agent bekommt genau die Rechte, die seine aktuelle Aufgabe verlangt – und kein einziges mehr.

Konkrete Regeln, die sich in der Praxis bewähren:

  • Aktion und Ressource trennen. Statt eines pauschalen mail-Scopes lieber mail:read getrennt von mail:send. Ein Agent, der nur zusammenfasst, braucht kein Senderecht.
  • Pro Aufgabe ein eigenes Token. Wenn ein Agent mehrere Teilaufgaben erledigt, kann er pro Schritt ein Token mit nur den dafür nötigen Scopes ziehen. So wandert nicht die Summe aller Rechte durch jeden Aufruf.
  • Lese- vor Schreibrechten. Schreibende und löschende Scopes sind das gefährlichste Gut. Vergeben Sie sie sparsam und nie „auf Vorrat“.
  • Scopes auf Ressourcengrenzen zuschneiden. Ergänzen Sie Scopes wo möglich um den resource- bzw. Audience-Parameter, damit ein Token nur bei genau einer API gilt und nicht überall einlösbar ist.
  • Kurze Laufzeit als zweite Verteidigungslinie. Selbst ein zu weit gefasster Scope wird harmloser, wenn das Token nach zehn Minuten verfällt.

Ein praktischer Prüfstein: Notieren Sie für jeden Agenten, welche Scopes er anfragt und welche er tatsächlich nutzt. Die Lücke zwischen beidem ist Ihr Risiko – und Ihre To-do-Liste fürs nächste Aufräumen.

Welche Fehler treten beim Agenten-Auth am häufigsten auf?

Die typischen Schwachstellen liegen selten in der Spezifikation, sondern in der Umsetzung. Drei Muster tauchen besonders oft auf:

Überdehnte Scopes aus Bequemlichkeit. Wer einem Agenten in der Entwicklung Vollzugriff gibt, um schneller voranzukommen, vergisst das Zurückdrehen fast immer. Beginnen Sie minimal und erweitern Sie nur bei echtem Bedarf.

Geheimnisse im Klartext. Client-Secrets, die in Umgebungsvariablen ohne Schutz, in Prompts oder in versionierten Dateien landen, sind die häufigste Leckquelle. Setzen Sie auf einen Secrets-Manager und bevorzugen Sie schlüsselbasierte Verfahren (private_key_jwt, mTLS) gegenüber statischen Passwörtern.

Fehlende Token-Validierung auf der API-Seite. Ein Token sicher auszustellen nützt wenig, wenn die API Signatur, Ablaufzeit, Aussteller (iss), Zielgruppe (aud) und Scopes nicht bei jedem Aufruf prüft. Die Durchsetzung gehört zwingend auf die Ressourcenseite.

Wer diese drei Punkte beherrscht, hat den Großteil der realen Angriffsfläche für KI-Agenten bereits geschlossen.

Fazit

OAuth 2.1 und OIDC liefern das passende Fundament für maschinelle Identitäten: Der Client-Credentials-Flow regelt autonome Agenten ohne Refresh-Token, OIDC und Token-Rotation sichern delegierte Nutzerszenarien, und enges Scope-Design hält den Schaden im Ernstfall klein. Die Architektur belohnt Disziplin – kurze Token, minimale Rechte, strikte Validierung. Genau diese Disziplin trennt einen sicher betriebenen Agenten von einem wandelnden Generalschlüssel.

Häufige Fragen

Braucht der Client-Credentials-Flow ein Refresh-Token?

Nein. Der Client-Credentials-Flow gibt bewusst kein Refresh-Token aus, da kein Mensch beteiligt ist, dem erneutes Anmelden erspart werden müsste. Läuft das Access-Token ab, fordert der Agent mit seinen vorhandenen Anmeldedaten einfach ein neues an. Ein Refresh-Token wäre nur eine zusätzliche Angriffsfläche ohne Nutzen.

Wann sollte ein Agent OIDC statt nur OAuth 2.1 nutzen?

OIDC ist nötig, sobald der Agent im Namen eines konkreten Menschen handelt und dessen Identität nachvollziehbar sein muss. OIDC liefert als Identitätsschicht auf OAuth 2.1 ein ID-Token, das belegt, wer die Aktion ursprünglich autorisiert hat. Für rein autonome Maschine-zu-Maschine-Aufgaben reicht der Client-Credentials-Flow ohne OIDC.

Was ändert sich für Agenten konkret durch OAuth 2.1 gegenüber 2.0?

OAuth 2.1 entfernt den Implicit Flow und den ROPC-Flow, macht PKCE für alle Authorization-Code-Flows verpflichtend und verlangt, dass Refresh-Token sender-gebunden oder Einmal-Token (Rotation) sind. Der Client-Credentials-Flow als Standardweg für autonome Agenten bleibt erhalten.

Wie verhindert Token-Rotation den Missbrauch gestohlener Token?

Bei der Rotation gibt jeder Einsatz eines Refresh-Tokens ein neues Token zurück, das alte wird sofort ungültig. Taucht ein bereits verbrauchtes Refresh-Token erneut auf, wertet der Server das als Diebstahl und widerruft die gesamte Token-Familie. So wird Token-Diebstahl erkennbar und der Schaden endet schnell.

Wie schneidet man Scopes für einen KI-Agenten möglichst eng zu?

Nach dem Prinzip der geringsten Berechtigung: Aktion und Ressource trennen (etwa mail:read getrennt von mail:send), pro Aufgabe ein eigenes Token mit nur den nötigen Scopes ziehen, Schreibrechte sparsam vergeben und Scopes über den Audience-Parameter auf eine einzelne API begrenzen. Kurze Token-Laufzeiten dienen als zweite Verteidigungslinie.

Welche Anmeldemethode ist für Agenten sicherer als ein Client-Secret?

Schlüsselbasierte Verfahren wie private_key_jwt oder gegenseitiges TLS (mTLS) sind sicherer als ein statisches Client-Secret. Sie übertragen kein wiederverwendbares Geheimnis über die Leitung und lassen sich schwerer aus Logs oder Repositories abgreifen. Das eigentliche Geheimnis gehört zudem in einen Secrets-Manager, niemals in Prompts oder versionierte Dateien.

Ist OAuth 2.1 schon ein offizieller Standard?

Stand 2026 liegt OAuth 2.1 als IETF-Entwurf vor und ist noch kein finaler RFC. Der Entwurf ist jedoch stabil genug, dass etablierte Implementierungen wie der Spring Authorization Server ihn bereits umsetzen. Die zugrunde liegenden Security Best Current Practices gelten unabhängig vom finalen Status als Branchenstandard.