SAML (Security Assertion Markup Language) ist ein XML-basierter Standard für die föderierte Anmeldung und das wichtigste Werkzeug für Enterprise-Single Sign-On. Die aktuelle Version SAML 2.0 stammt aus dem Jahr 2005 und wird von Microsoft Entra ID, Okta, Google Workspace und unzähligen Cloud-Diensten unterstützt. SAML trennt die Authentifizierung vom eigentlichen Dienst: Ein Identity Provider (IdP) meldet den Nutzer an, ein Service Provider (SP) vertraut dem Ergebnis.
Assertions und Bindings
Das Herzstück sind SAML-Assertions: XML-Dokumente mit Aussagen über den Nutzer (Authentifizierungszeitpunkt, Attribute wie E-Mail oder Gruppen, Autorisierungsregeln). Die Assertions sind vom IdP kryptografisch signiert, damit der Service Provider ihre Echtheit prüfen kann. SAML definiert außerdem Bindings für den Transport: Der SP sendet die AuthnRequest üblicherweise per HTTP-Redirect (kleine Anfrage passt in die URL), die Antwort mit der Assertion per HTTP-POST.
Der SP-initiated Ablauf
Der klassische Ablauf sieht so aus: (1) Der Nutzer ruft eine geschützte Anwendung beim Service Provider auf, (2) der SP erzeugt eine signierte AuthnRequest und leitet den Nutzer zum Identity Provider weiter, (3) der IdP authentifiziert den Nutzer (Passwort, Passkey oder Zwei-Faktor-Verfahren) und erstellt eine Assertion, (4) der Browser sendet die Assertion per POST zurück an den SP, (5) der SP prüft Signatur, Gültigkeit und Attribute und lässt den Nutzer ein. Der Nutzer sieht nur einen einzigen Login, obwohl mehrere Systeme beteiligt sind.
SAML vs. OpenID Connect
Sowohl OpenID Connect als auch SAML ermöglichen föderiertes Anmelden. SAML ist XML-basiert, älter und im Unternehmensumfeld tief verwurzelt (besonders bei Microsoft- und Legacy-Infrastrukturen). OIDC ist JSON-basiert, leichtergewichtig und bei Web- und Mobile-Apps der moderne Standard. Beide nutzen dasselbe Grundprinzip: Der Dienst speichert keine Passwörter, sondern vertraut einer externen Identitätsinstanz über kryptografisch signierte Nachweise.
Verwandte Grundlagen: Single Sign-On, OpenID Connect, OAuth, JWT, XML, Zertifikat, HTTPS.