Definition
Security Assertion Markup Language (SAML) ist ein XML-basierter Standard zur sicheren Übertragung von Authentifizierungs- und Autorisierungsinformationen zwischen Identitätsanbietern und Dienstanbietern. Er ermöglicht Single Sign-On (SSO), sodass Nutzer sich einmal authentifizieren und anschließend auf verschiedene Systeme zugreifen können, ohne sich erneut anmelden zu müssen. SAML definiert dabei standardisierte Nachrichtenformate und Protokolle, die den Austausch von Sicherheitsinformationen regeln.
Der Standard wurde entwickelt, um interoperable Lösungen für die Identitätsverwaltung in verteilten IT-Umgebungen zu schaffen. Dabei werden sogenannte Assertions verwendet, die Aussagen über die Identität eines Nutzers sowie dessen Zugriffsrechte enthalten. Diese Assertions werden vom Identitätsanbieter erstellt und an den Dienstanbieter übermittelt, der darauf basierend den Zugriff steuert.
Was bedeutet das für Ihr Unternehmen?
SAML begegnet Ihnen vor allem, wenn größere Kunden verlangen, dass sich ihre Mitarbeiter mit dem Firmenkonto, etwa über Microsoft Entra ID, in Ihrer Software anmelden. Für Software-Anbieter ist diese Anbindung oft eine Voraussetzung, um überhaupt an Unternehmenskunden zu verkaufen. Für neue Anwendungen ist OpenID Connect meist mit weniger Aufwand umzusetzen, viele Identitätsanbieter unterstützen beide Verfahren.
Geschichte und Standardisierung
SAML wurde Anfang der 2000er Jahre von der OASIS (Organization for the Advancement of Structured Information Standards) entwickelt und 2002 erstmals veröffentlicht. Die Initiative entstand aus dem Bedarf, heterogene Systeme und Anwendungen über organisatorische Grenzen hinweg sicher miteinander zu verbinden. Die Version 2.0, die 2005 veröffentlicht wurde, ist heute der am weitesten verbreitete Standard und wird von zahlreichen Unternehmen und Softwarelösungen unterstützt.
Die Standardisierung durch OASIS umfasst neben dem Kernformat auch Protokolle zur Anforderung und Übermittlung von Assertions sowie Bindungen an Transportprotokolle wie HTTP. Die Spezifikation definiert verschiedene Profile, die den Einsatz in unterschiedlichen Szenarien regeln, beispielsweise Webbrowser-SSO oder Single Logout. Die Verbreitung von SAML wurde durch die Unterstützung großer IT-Anbieter und die Integration in Identity- und Access-Management-Systeme gefördert.
Funktionsweise
SAML basiert auf einem Austausch von XML-basierten Nachrichten zwischen drei Parteien: dem Nutzer, dem Identitätsanbieter (Identity Provider, IdP) und dem Dienstanbieter (Service Provider, SP). Der Nutzer versucht, auf eine geschützte Ressource beim Dienstanbieter zuzugreifen, der daraufhin eine Authentifizierungsanfrage an den Identitätsanbieter weiterleitet. Nach erfolgreicher Authentifizierung stellt der IdP eine SAML-Assertion aus, die Informationen über die Identität und Berechtigungen des Nutzers enthält.
Diese Assertion wird vom Dienstanbieter geprüft und ausgewertet, um den Zugriff zu gewähren oder zu verweigern. Die Kommunikation erfolgt meist über Browser-Redirects, wobei die SAML-Nachrichten in HTTP-POST- oder HTTP-Redirect-Bindungen eingebettet sind. Die Sicherheit wird durch digitale Signaturen und Verschlüsselung der Assertions gewährleistet, um Manipulationen und Abfangen zu verhindern.
Einsatzgebiete
SAML wird vor allem in Unternehmensumgebungen und bei Cloud-Diensten eingesetzt, die Single Sign-On über verschiedene Plattformen hinweg ermöglichen wollen. Typische Anwendungsfälle sind der Zugriff auf webbasierte Anwendungen, die Integration von Partnerunternehmen oder die Nutzung von SaaS-Diensten mit zentraler Benutzerverwaltung. Dabei erleichtert SAML die Benutzerverwaltung und erhöht die Sicherheit durch zentrale Authentifizierung.
Neben dem Webbrowser-SSO wird SAML auch in föderierten Identitätsmanagementsystemen verwendet, bei denen mehrere Organisationen ihre Identitätsinformationen austauschen. Dies unterstützt etwa die Zusammenarbeit in Verbundsystemen oder bei Bildungseinrichtungen. Die breite Unterstützung von SAML durch Hersteller und Open-Source-Projekte macht den Standard zu einer etablierten Lösung im Bereich der Zugriffskontrolle.
Abgrenzung zu verwandten Standards
SAML unterscheidet sich von anderen Authentifizierungsstandards wie OAuth oder OpenID Connect, die ebenfalls für Single Sign-On verwendet werden. Während SAML hauptsächlich für die Übertragung von Authentifizierungs- und Autorisierungsinformationen im XML-Format konzipiert ist und vor allem in Unternehmensumgebungen Anwendung findet, basieren OAuth und OpenID Connect auf JSON und sind stärker auf API-Zugriffe und moderne Webanwendungen ausgerichtet.
Ein weiterer Unterschied liegt in der Komplexität und dem Einsatzgebiet: SAML ist umfangreicher und eignet sich besonders für föderierte Identitätsmanagementsysteme, während OAuth und OpenID Connect häufig für mobile und Web-Apps genutzt werden. Zudem verwendet SAML digitale Signaturen zur Sicherstellung der Integrität, während OAuth auf Token-basierte Autorisierung setzt. Die Wahl des Standards hängt daher von den Anforderungen und der Systemarchitektur ab.