Fähigkeit

Backend SSO

Modernes SSO vorne, Legacy-Auth-Modell hinten — ohne eine einzige Zeile Backend-Code zu ändern.

Die meisten Enterprise-Anwendungen wurden vor modernen föderativen Identitätsstandards wie SAML oder OIDC entwickelt. Diese Anwendungen erkennen den Benutzer in der Regel über einen HTTP-Header, einen Basic-Auth-Wert oder ein Session-Cookie, dem sie bereits vertrauen. TR7 AAM betreibt die moderne Authentifizierungsschicht vor der Anwendung: Login, MFA, bedingter Zugriff und Gerätevertrauen werden hier ausgewertet. Die verifizierte Identität wird dann in genau die Form übersetzt, die das Backend bereits akzeptiert, und an die Anwendung weitergeleitet. Auf diese Weise erhalten Legacy-Anwendungen ein modernes SSO-Erlebnis ohne jegliche Änderung ihres Codes, ihres bestehenden Session-Modells oder ihrer Backend-Identitätslogik. Der Benutzer meldet sich einmal an; AAM leitet die richtige Identität sicher an jede Anwendung weiter. Aus Sicherheitsgründen werden gefälschte oder nicht vertrauenswürdige Identitäts-Header vom Benutzer zuerst entfernt. Nur der von AAM produzierte vertrauenswürdige Identitätswert wird an das Backend weitergeleitet. Regeln sind pro Route begrenzt; Logout und Session-Verlust werden von derselben Engine verwaltet. Das Ergebnis: Legacy-Anwendungen treten ohne Code-Änderungen dem modernen SSO bei, Benutzer arbeiten mit einer einzigen Session, und die Organisation gewinnt zentralisierte Identitäts- und Zugriffskontrolle.

5
Produktive Injektionsformen — Header, Basic, Bearer, Cookie, SAML-SP
0
Geänderte Zeilen Backend-Code für modernes SSO
Strip + Inject
Auf jeden Wert angewendete Disziplin — eingehende Fälschung schlägt fehl, bevor der vertrauenswürdige Wert geschrieben wird

Legacy-Backends wurden nie für moderne Identität ausgelegt

Viele Anwendungen in einem Unternehmen — interne Portale, Abrechnungssysteme, Betriebskonsolen, vom Hersteller bereitgestellte Admin-Panels, ältere Geschäftsanwendungen — wurden gebaut, bevor SAML oder OIDC zum Standard wurden. Sie erkennen den Benutzer typischerweise nicht über moderne Tokens, sondern über einen HTTP-Header, eine Basic-Auth-Zugangsdaten oder ein Session-Cookie, dem sie bereits vertrauen.

Diese Anwendungen auf modernes SSO zu migrieren klingt in der Theorie einfach: den Backend-Authentifizierungspfad neu schreiben, SAML/OIDC-Unterstützung hinzufügen und die Anwendung mit dem zentralen Identity Provider verbinden. In der Praxis geschieht dies fast nie. Der Quellcode kann veraltet sein, die Anwendung kann einem Hersteller gehören, die Änderung kann einen regulierten Workflow unterbrechen, oder der Aufwand ist für ein internes Tool, das funktioniert, schlicht nicht gerechtfertigt.

Organisationen stehen dann vor der Wahl zwischen zwei schlechten Optionen: Legacy-Anwendungen außerhalb des modernen Identitätsperimeters zu lassen oder für jede eine separate, fragile Integration aufzubauen. Das Endergebnis ist ein fragmentiertes Benutzererlebnis, dezentralisierte Zugriffskontrolle und Identitätslogik, die über das Legacy-Modell jedes Backends verstreut ist.

Der richtige Ansatz ist, die moderne Zugriffsschicht vor der Anwendung zu positionieren. Der Benutzer passiert zuerst zentrale Identität, MFA, bedingten Zugriff und Gerätevertrauensprüfungen; die verifizierte Identität wird dann in eine Form übersetzt, die das Backend bereits versteht. Die Anwendung erhält ein modernes SSO-Erlebnis ohne Code-Änderung.

Aber dieser Übergang muss sorgfältig durchgeführt werden. Wenn gefälschte Identitäts-Header vom Benutzer an das Backend weitergeleitet werden, ohne entfernt zu werden, kann jeder seinen eigenen X-Auth-User-Header zu seiner Anfrage hinzufügen und sich als ein anderer Benutzer ausgeben. Das Gateway muss nicht vertrauenswürdige eingehende Werte entfernen, nur die von ihm selbst produzierte vertrauenswürdige Identität injizieren und dies strikt pro Route begrenzen.

Logout, Session-Verlust und Backend-gesteuerte Identitätszustände müssen ebenfalls durch dieselbe Engine fließen. Andernfalls kann der Benutzer am Portal ausgeloggt erscheinen, während die Backend-Session aktiv bleibt, oder die Backend-Session kann wegfallen, ohne dass die Zugriffsschicht es bemerkt.

Backend SSO geht nicht darum, Legacy-Anwendungen zum Neuschreiben zu zwingen — es geht darum, moderne Identitätskontrolle vor die Anwendung zu stellen und die verifizierte Benutzeridentität sicher in die Sprache zu übersetzen, die das Backend bereits akzeptiert.

Unser Ansatz

Ein Konfigurationsobjekt pro Backend, fünf Injektionsformen, koordiniert mit dem Rest der Zugriffs-Engine.

Jeden eingehenden Wert entfernen, dann den verifizierten injizieren

Jede Injektionsregel entfernt zunächst jede eingehende Kopie des Ziel-Headers, Cookies oder Authorization-Werts und injiziert dann die aus der verifizierten Session abgeleitete Version. Ein Benutzer, der seinen eigenen "X-Auth-User" sendet, kann sich nicht als jemand anderes ausgeben — sein Header wird entfernt, bevor das Gateway den vertrauenswürdigen hinzufügt.

Fünf Injektionsformen für die Legacy-Muster, die wir sehen

Benutzerdefinierte Header (X-Auth-User, X-Forwarded-User oder was das Backend erwartet), Authorization Basic für Anwendungen, die ein Benutzername:Passwort-Paar wollen, Authorization Bearer für Token-freundliche Backends, Cookie-Wert-Zusammenführung für Anwendungen, die ein benanntes Cookie lesen, und SAML-SP für Backends, die eine signierte SAML-Assertion erwarten. Jede Injektion hat ihre eigene Konfiguration; ein Backend kann mehrere Formen gleichzeitig verwenden.

Bedingungen pro Injektion begrenzen jede Regel auf die richtigen Routen

Jede Injektionsregel trägt ihren eigenen Bedingungsausdruck — nur auf dem Admin-Pfad anwenden, nur wenn ein bestimmtes Session-Attribut vorhanden ist, nur für einen Tenant. Dasselbe Backend kann auf privilegierten Routen eine umfangreichere Identität und auf öffentlichen Routen eine minimale Teilmenge erhalten.

Backend-Session-Verlust und Backend-initiierter Logout fließen durch das Gateway zurück

Wenn das Backend meldet, dass die Session des Benutzers weg ist (eine bekannte Antwortform pro Service), oder wenn das Backend selbst den Benutzer ausloggt, erkennt AAM das Signal, bereinigt die Gateway-seitige Session und leitet gemäß der konfigurierten Policy weiter. Logout-Wins-Vorrang stellt sicher, dass die Bereinigung immer vor weiteren Injektionen ausgeführt wird.

Fähigkeiten

Fünf produktive Injektionsformen, die Input-Stripping-Disziplin, die sie sicher macht, sowie die Roadmap für Injektionen auf höheren Protokollebenen.

Header-Injektion — jeder Header-Name, dem das Backend vertraut

Die einfachste und häufigste Form. Einen Header-Namen konfigurieren (X-Auth-User, X-Forwarded-User, REMOTE_USER — was das Backend auch liest) und die Smart-Variable auswählen, die den Wert produziert (Benutzername, E-Mail, Gruppenliste, Anzeigename). Der Header wird aus eingehenden Anfragen entfernt und dann aus der verifizierten Session wieder hinzugefügt — bevor die Anfrage das Backend erreicht.

Authorization-Basic-Injektion für Anwendungen, die Benutzername:Passwort wollen

Für Legacy-Anwendungen, die sich über HTTP Basic authentifizieren, injiziert das Gateway Authorization: Basic, abgeleitet aus einer Benutzername-Smart-Variable und einer gespeicherten Zugangsdaten. Das Backend führt weiterhin seine native Basic-Auth-Verifizierung durch; der Benutzer sieht die Zugangsdaten niemals, tippt sie nie ein und kann sie nicht exfiltrieren.

Authorization-Bearer-Injektion für Token-bewusste Backends

Für Backends, die bereits Bearer-Tokens sprechen (interne APIs, Microservices, moderne Intranet-Anwendungen), injiziert AAM Authorization: Bearer. Die Token-Quelle ist pro Service konfigurierbar — ein von AAM signierter Token, ein langlebiger Backend-Token im vom Operator verwalteten Speicher oder eine andere Form, die das Backend verifizieren wird.

Cookie-Wert-Injektion mit sicherer Single-Header-Zusammenführung

Anwendungen, die Identität aus einem benannten Cookie lesen, werden mit Cookie-Wert-Injektion bedient. Das Gateway fügt das injizierte Name=Wert-Paar in den Cookie-Header der Anfrage ein, ohne andere Cookies zu überschreiben — die fehleranfälligste der vier Header-Style-Formen, verarbeitet mit expliziter Zusammenführungslogik statt naiver Überschreibung.

SAML-SP-Injektion — eine signierte SAML-Assertion pro Anfrage

Für Backends, die bei jeder Anfrage eine signierte SAML-Assertion erwarten, erstellt das Gateway eine SAML 2.0-Assertion aus der verifizierten Session, signiert sie mit AAMs SAML-Signaturschlüssel und leitet sie über den konfigurierten Header an das Backend weiter. Typisch für Identitätsföderation-Integrationen im öffentlichen Sektor und Enterprise-SaaS-Backends. Der Benutzer meldet sich mit einem modernen IdP an; das Backend erhält bei jeder Anfrage eine frische, begrenzte SAML-Assertion.

Input-Stripping-Disziplin auf jeden injizierten Wert angewendet

Jede Injektion ist mit einem eingehenden Strip desselben Ziels gekoppelt. Ein Benutzer, der X-Auth-User in seiner eigenen Anfrage setzt, der ein gefälschtes Cookie mit einem manipulierten Identitätswert sendet oder der einen Authorization-Header von woanders wiedergibt, kann den Wert nicht am Gateway vorbeibringen. Die Injektion läuft nur, nachdem der Strip den Slot geleert hat.

Bedingungen pro Injektion für Gültigkeitsbereich und Vorrang

Jede Injektionsregel kann eine Bedingung hinzufügen — dieselbe Ausdruckssprache wie die Richtlinie für bedingten Zugriff. Nur auf dem Admin-Pfad injizieren; nur injizieren, wenn der Benutzer in einer bestimmten Gruppe ist; nur die privilegierte Variante injizieren, wenn ein Attribut vorhanden ist. Bedingungen werden ACL-Vorrang-sicher kompiliert, sodass mehrere Regeln auf einem Backend korrekt kombiniert werden.

Nur-für-Authentifizierte-Guard um jede Injektion

Alle Injektionen sind hinter dem verifizierten Zustand gesichert — sie laufen nur, wenn die Anfrage eine gültige AAM-Session trägt. Ein Benutzer, der die Authentifizierung über eine falsch konfigurierte Route umgeht, kann nicht versehentlich injizierte Backend-Zugangsdaten erhalten; eine anonyme Anfrage erreicht das Backend immer ohne Injektion.

Roadmap — Kerberos- und NTLM-Injektionsformen

Injektionsformen auf höherer Protokollebene — Kerberos Constrained Delegation für Backends, die ein Service-Ticket benötigen, NTLM für ältere Windows-Umgebungen — sind auf der Roadmap. Das Konfigurationsobjekt und die bedingte Infrastruktur unterstützen sie bereits; die protokollspezifische Runtime ist die verbleibende Arbeit.

Operative Tiefe

Die Mechanismen, die Header-Grade-Injektion am Zugriffs-Edge sicher machen.

01

Compile-Time-Vorrang-sichere Bedingungsstapelung

Bedingungen pro Injektion werden mit den anderen ACL-gesteuerten Entscheidungen des Gateways (Authentifizierungsstatus, Zugriffsrichtlinie, Backend-Auswahl) kombiniert. Der Bedingungscompiler verwendet ein Extra-Entries-Muster, sodass Injektionsbedingungen immer nach Authentifizierung und Richtlinie ausgewertet werden, nie davor — eine Injektionsregel kann nicht versehentlich das Ergebnis einer höher priorisierten Richtlinienentscheidung umkehren.

02

Bedingte Frontend-Variablen-Abrufe über Dispatcher

Wenn eine Injektion einen Wert benötigt, der nicht im Session-Bag ist — ein aus einem Per-Request-Abruf abgeleiteter Wert (Gruppenerweiterung, Attribut-Lookup) — gibt der Dispatcher einen bedingten Abruf aus, der nur dann ausgeführt wird, wenn die Bedingung der Injektion übereinstimmt. Backends, die niemals eine Injektion sehen, zahlen niemals die Kosten für das Abrufen des Werts.

03

Backend-Session-Verlust-Erkennung mit konfigurierbarer Antwortsignatur

Jeder Service kann die Antwortsignatur deklarieren, die "meine Session ist weg" bedeutet — einen bestimmten Status-Code, einen bestimmten Antwort-Header, einen Body-Marker. Wenn das Gateway diese Signatur sieht, setzt es ein Session-Verlust-Flag, bereinigt die Gateway-seitige Session und leitet gemäß der konfigurierten Richtlinie weiter.

04

Backend-initiierte Logout-Bereinigung und Weiterleitungskette

Wenn das Backend selbst den Benutzer ausloggt — typischerweise durch Antworten mit einer bekannten Logout-Signatur — führt das Gateway eine dreistufige Bereinigung durch: Gateway-seitige Cookies löschen, Session-Datensatz löschen und über das konfigurierte Ziel weiterleiten. Logout-Wins-Vorrang stellt sicher, dass dieser Pfad jede im Flug befindliche Injektion schlägt.

05

Verschlüsselte Wertverarbeitung, niemals im Klartext geloggt

Von Injektionen verwendete Zugangsdaten und Tokens werden verschlüsselt im Konfigurationsspeicher abgelegt und niemals im Klartext in Zugriffs-Logs geschrieben. Audit-Einträge verzeichnen, dass eine Injektion bei einer Anfrage ausgeführt wurde, nicht welchen Wert sie trug. Operatoren sehen die Richtlinie; der Draht-Payload bleibt auf dem Draht.

06

Roadmap — stiller Re-Auth-Flow bei verlorener Backend-Session

Ein stiller Re-Auth-Flow, der eine 302-Weiterleitung zum AAM-Daemon nutzt, um eine Backend-Session neu aufzubauen, ohne den Benutzer auf eine Login-Seite zu schicken, ist auf der Roadmap. AAM-initiierte Logout-Weitergabe — das Weiterleiten eines Logout-Signals an jedes Backend, das eine injizierte Identität erhalten hat — ist ebenfalls auf der Roadmap.

Wo Teams es einsetzen

Modernes SSO über das bestehende Intranet-Portal

Ein internes Portal, das seit einem Jahrzehnt X-Remote-User vertraut, liest weiterhin X-Remote-User. Das Gateway betreibt modernes SAML/OIDC am Edge und injiziert dann denselben Header, den das Portal immer gesehen hat. Kein Backend-Deploy, kein Migrations-Cutover.

Authorization-Bearer vor Microservices

Ein Cluster interner Microservices möchte Bearer-Token-Authentifizierung, will aber keinen Identitätsflow pro Service betreiben. Das Gateway stellt pro Anfrage einen signierten Token aus und injiziert ihn; jeder Service verifiziert den Token gegen die Schlüssel des Gateways.

Eine Anmeldung, viele Backend-Auth-Formen

In einem Multi-App-Deployment will eine Anwendung Basic Auth, eine will einen benutzerdefinierten Header, und eine will ein Cookie. Ein AAM-Gateway behandelt das Login einmal; jedes Backend bekommt die erwartete Form, gleichzeitig, mit Per-Route-Bedingungen.

Audit-fähige Identitätsweiterleitung

Compliance-Regimes, die eine klare Identitätskette erfordern — "wer war authentifiziert, als diese Anfrage das Backend traf" — erhalten diese Kette aus dem Audit-Stream des Gateways. Header-Werte, Injektionsbedingungen und das verifizierte Subjekt werden zusammen aufgezeichnet.

Häufige Fragen

Wie funktioniert das ohne Änderung des Backend-Codes?
Das Backend macht weiterhin, was es bereits tut — liest X-Remote-User, akzeptiert Basic-Auth-Zugangsdaten, validiert einen Bearer-Token, erkennt ein Session-Cookie. Das Gateway betreibt den modernen Login am Edge und produziert dann genau die Form, der das Backend bereits vertraut. Aus der Perspektive des Backends hat sich nichts geändert; aus der Perspektive des Benutzers haben sie sich mit SAML, OIDC oder MFA an der Eingangstür angemeldet.
Was passiert, wenn ein Benutzer seinen eigenen X-Auth-User-Header sendet, um eine andere Identität vorzutäuschen?
Sein Header wird auf dem eingehenden Pfad entfernt, bevor das Gateway seinen eigenen hinzufügt. Jede Injektionsregel ist mit einem bedingungslosen Strip desselben Ziels gekoppelt — Header-Name, Cookie-Name oder Authorization-Wert. Ein gefälschter Wert kann das Gateway nicht passieren, weil der Slot geleert wird, bevor der vertrauenswürdige Wert hineingeschrieben wird.
Kann das Gateway eine signierte SAML-Assertion an ein Backend senden, das bei jeder Anfrage eine erwartet?
Ja. SAML-SP-Injektion produziert bei jeder Anfrage eine SAML 2.0-Assertion aus der verifizierten Session, signiert sie mit AAMs SAML-Signaturschlüssel und leitet sie über den konfigurierten Header an das Backend weiter. Typische Anwendungsfälle: Identitätsföderation-Integrationen im öffentlichen Sektor, Enterprise-SaaS-Backends, die eine signierte Assertion erwarten. Kerberos Constrained Delegation und NTLM-Injektion — für Legacy-Windows-Umgebungen, die diese Protokolle erfordern — bleiben auf der Roadmap.
Was passiert, wenn die Backend-Session abläuft, die AAM-Session aber noch gültig ist?
Jeder Service kann die Antwortsignatur deklarieren, die "Backend-Session verloren" bedeutet — einen bestimmten Status, Header oder Body-Marker. Wenn das Gateway diese Signatur sieht, markiert es die Gateway-seitige Session, bereinigt den Zustand und leitet den Benutzer gemäß der konfigurierten Richtlinie weiter. Ein stiller Re-Auth-Flow, der die Backend-Session neu aufbaut, ohne den Benutzer auf eine Login-Seite zu schicken, ist auf der Roadmap.
Kann ein AAM-Gateway gleichzeitig verschiedene Injektionsformen für verschiedene Backends betreiben?
Ja. Jedes Backend hat sein eigenes Konfigurationsobjekt, das die benötigten Injektionen auflistet. Ein Backend kann einen benutzerdefinierten Header wollen, ein anderes Basic Auth, ein drittes Bearer plus Cookie-Zusammenführung — alle sitzen hinter einem AAM-Gateway und einem Login-Erlebnis. Bedingungen pro Injektion ermöglichen es Ihnen, weiter zu verfeinern, welche Routen innerhalb eines Backends welche Injektion erhalten.

Modernes SSO vorne, Legacy-Auth hinten

Wir deployen Backend SSO gegen Ihre echten Anwendungen — mit Beibehaltung der bestehenden Vertrauensmodelle, Entfernung der Zugangsdaten aus den Händen des Benutzers und Erzeugung einer Audit-fähigen Identitätskette für jede Anfrage.