SAML ist ein offenes Standard-Authentifizierungsprotokoll, das den Authentifizierungsprozess vereinfachen soll, indem es als Vermittler zwischen Diensteanbietern und Identitätsanbietern dient.
Im Jahr 2001 versuchte der Technologiesektor, ein XML-Framework (Extensible Markup Language) zu entwickeln, das für die Übertragung von Authentifizierungs- und Autorisierungsinformationen verwendet werden konnte. Das Ergebnis dieser Bemühungen war die Security Assertion Markup Language (SAML), ein offenes Standard-Authentifizierungsprotokoll, das die Übertragung von Authentifizierungsdaten zwischen Identitätsanbietern (Identity Providers, IdP) und Diensteanbietern (Service Providers, SP) vereinfacht.
SAML hat einen Standard definiert, der es externen Anwendungen und Diensten ermöglicht, die Identität der Benutzer zu bestätigen. So können Benutzer mit einem einzigen Satz von Anmeldeinformationen, oder besser gesagt mit Hilfe der Single Sign-on (SSO) Technologie, auf mehrere Webanwendungen zugreifen. SAML vereinfacht diesen Anmeldevorgang, weil es die Möglichkeit bietet, einen Benutzer einmal zu authentifizieren und diese Authentifizierung dann mit mehreren Anwendungen zu teilen.
Vor SAML funktionierte SSO nur mit Cookies in derselben Domäne. SAML ermöglichte die Abschaffung des zwischengeschalteten Cookies durch die Zentralisierung der Benutzerauthentifizierungsdaten bei einem Identitätsanbieter. Wenn eine Anwendung SAML aktiviert hat, kann eine Kommunikationsverbindung zwischen dem SP und dem IdP hergestellt werden, wenn ein Benutzer einen Anmeldeversuch unternimmt, wodurch ein nahtloser Authentifizierungs- und Autorisierungsprozess möglich wird. Das bedeutet, dass sich die Benutzer bei diesem Verfahren weder mehrere Benutzernamen noch Passwörter merken müssen.
Die aktuellste Version von SAML ist SAML 2.0 (seit 2005), in der mehrere Vorgängerversionen von SAML zusammengeführt wurden. Obwohl viele Systeme frühere Versionen unterstützen, gilt SAML 2.0 weiterhin als der modernste Standard.
SAML hat sich als Unternehmenslösung weitgehend durchgesetzt. Das liegt vor allem an ihren zahlreichen Vorteilen. Dazu gehören:
SAML fungiert als Zwischenglied zwischen einem Identitätsanbieter (IdP) und einem Diensteanbieter oder einer Webanwendung. Hierzu werden definierte föderierte Authentifizierungsabläufe verwendet, um Benutzerinformationen, einschliesslich Kennungen oder andere Attribute, zu übertragen. Wenn ein Benutzer versucht, auf eine Webanwendung oder einen Dienst zuzugreifen, wird dieser Prozess ausgelöst. Hier ein Beispiel:
Wie unterscheidet sich SAML von anderen Authentifizierungsprotokollen?
Im Gegensatz zu anderen Authentifizierungsprotokollen wie OAuth und OpenID Connect, die hauptsächlich für die Autorisierung von APIs und Webanwendungen verwendet werden, ist SAML speziell für die Authentifizierung von Benutzern in Unternehmens- und Organisationsszenarien konzipiert.
Was sind die Hauptkomponenten von SAML?
Identitätsanbieter (IdP): Eine Webanwendung oder ein System, das für die Authentifizierung von Benutzern und die Erstellung von SAML-Assertions zuständig ist.
Dienstanbieter (SP): Eine Webanwendung oder ein System, auf das Benutzer zugreifen und das SAML-Assertions empfängt und verifiziert.
SAML-Behauptung: Eine digitale Signatur mit Identitäts- und Attributinformationen über den Benutzer, die zwischen dem IdP und dem SP ausgetauscht wird.
Was ist die Rolle von IdP und SP bei der SAML?
SAML funktioniert durch den Austausch von digital signierten SAML-Assertions zwischen einem Identitätsanbieter (IdP) und einem Dienstanbieter (SP). Der IdP authentifiziert den Benutzer und erstellt eine SAML-Assertion, die die Identität und Attribute des Benutzers enthält. Der SP empfängt diese SAML-Assertion, prüft ihre Gültigkeit und autorisiert den Benutzer entsprechend.
Welche Argumente sprechen für SAML?
Einmalige Anmeldung (SSO): Benutzer können sich bei einer Anwendung anmelden und dann nahtlos auf andere Anwendungen zugreifen, ohne sich erneut anmelden zu müssen.
Sicherheit: SAML verwendet Verschlüsselung und digitale Signaturen, um die Sicherheit von Authentifizierungs- und Autorisierungsdaten zu gewährleisten.
Interoperabilität: SAML ist ein Standardprotokoll, das von einer Vielzahl von Anbietern unterstützt wird, was die Interoperabilität zwischen verschiedenen Anwendungen und Systemen erleichtert.