Suchen

Definition SAML (Security Assertion Markup Language) Was ist SAML?

| Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Peter Schmitz

Die Security Assertion Markup Language (SAML) ist ein quelloffenes, von der OASIS standardisiertes und auf XML basierendes Framework zum Austauschen und Vermitteln von Authentifizierungs- und Autorisierungsinformationen zwischen den Beteiligten Instanzen. Mit SAML lassen sich unter anderem Single-Sign-on-Services realisieren. Innerhalb des Frameworks sind verschiedene Komponenten wie Assertions, Bindings und Profile sowie Rollen wie User, Identitätsprovider und Diensteanbieter definiert.

Die Security Assertion Markup Language (SAML) ist ein XML-Framework zum Austausch von Authentifizierungs- und Autorisierungsinformationen.
Die Security Assertion Markup Language (SAML) ist ein XML-Framework zum Austausch von Authentifizierungs- und Autorisierungsinformationen.
(Bild: gemeinfrei / Pixabay )

Die Abkürzung SAML steht für Security Assertion Markup Language. Es handelt sich um ein auf XML basierendes Framework, mit dem sich Authentifizierungs- und Autorisierungsinformationen standardisiert austauschen lassen. Das Framework ist quelloffen und wurde von der OASIS (Organisation for the Advancement of Structured Information Standards) entwickelt. Die Version SAML 1 erschien im Jahr 2002. Im Jahr 2005 veröffentlichte die OASIS die überarbeitete Version SAML 2.0, die mit den Vorgängerversionen 1 und 1.1 nicht abwärtskompatibel ist.

Innerhalb der Security Assertion Markup Language sind verschiedene Komponenten wie Assertions, Bindings und Profile sowie Rollen wie User, Identitätsprovider und Diensteanbieter definiert. Das Framework hat sich weltweit etabliert und kommt in vielen Bereichen zum Einsatz. Eine der wichtigsten Anwendungen ist die Realisierung von Single-Sign-on-Services (SSO-Services). Neben XML (Extensible Markup Language) nutzt die Security Assertion Markup Language weitere bereits existierende Standards wie HTTP (Hypertext Transfer Protocol) oder SOAP (Simple Object Access Protocol).

Anwendungsmöglichkeiten von SAML

SAML bietet verschiedene Anwendungsmöglichkeiten und ist vor allem für Webservices konzipiert. So lassen sich mit dem Framework verteilte Transaktionen absichern, Autorisierungsdienste als Zwischenstationen nutzen oder Single-Sign-on-Services realisieren. Beim Single Sign-on muss sich ein User nur einmalig gegenüber einem Identitätsprovider authentifizieren und erhält anschließend Zugriff auf verschiedene Services eines Diensteanbieters.

Die verschiedenen Komponenten und Rollen der Security Assertion Markup Language

Das Grundkonzept der Security Assertion Markup Language kennt die folgenden an der Authentifizierung und Autorisierung beteiligten Rollen:

  • Benutzer (User)
  • Identitätsprovider (Identity Provider)
  • Diensteanbieter (Service Provider)

Der Benutzer ist ein Anwender, der auf einen Service zugreifen möchte. Der Anbieter des Services ist der Service Provider, der aber selbst keine Authentifizierung durchführt. Anfragen leitet er an den Identitätsprovider weiter. Der Identitätsprovider stellt eine Anmeldemaske für den Benutzer bereit und führt die Authentifizierung durch.

Das Framework definiert die folgenden drei Komponenten:

  • Assertions
  • Bindings
  • Profile

Assertions enthalten Angaben über die Identität und die Berechtigungen eines Benutzers. Sie können vom Identitätsprovider erstellt werden und verwenden XML als Auszeichnungssprache. Unter dem Begriff Bindings versteht man die Umwandlung der SAML-Nachrichten in die verschiedenen Nachrichten- und Kommunikationsprotokolle wie SOAP oder HTTP. Im SAML-2.0-Standard sind zahlreiche Bindings vordefiniert. Profile schließlich bündeln Assertions und Bindings für die verschiedenen spezifischen Anwendungsfälle. So existieren beispielsweise Profile, die den grundsätzlichen Funktionsrahmen einer SSO-Authentifizierung spezifizieren. Das Framework liefert eine Vielzahl an vordefinierten Profilen.

Funktionsweise der Security Assertion Markup Language

Hauptaufgabe der Security Assertion Markup Language ist es, die Informationen über Benutzer und ihre Anmelde-Attribute zwischen dem Service Provider und Identitätsprovider zu vermitteln. Der Service Provider fordert die Autorisierung und Authentifizierung eines Benutzers beim Identitätsprovider an. Ist ein Benutzer bereits authentifiziert kann der Identitätsprovider beim Zugriff auf weitere Service dem Service Provider beim Vorliegen entsprechender Berechtigungen SAML-Attribute übergeben, anhand derer der Benutzer ohne eine weitere Anmeldung die angefragten Services nutzen darf. Im Hintergrund wird unter anderem mit sogenannten Session-Cookies gearbeitet. Benutzer erhalten diese Cookies. Sie sind mit einem Ablaufdatum versehen und erlauben den zeitlich begrenzten Zugriff auf bestimmte Dienste des Service Providers.

Vorteile von SAML

Die Security Assertion Markup Language bietet unter anderem diese Vorteile:

  • standardisierter, sicherer Austausch von Authentifizierungs- und Autorisierungsinformationen
  • Vereinfachung der Anmeldung für Benutzer durch Single Sign-on und die Möglichkeit der zentralen Authentifizierung
  • Interoperabilität zwischen verschiedenen Anwendungen und Services
  • Nutzung einer offenen Architektur - keine proprietäre, herstellerspezifische Lösung
  • Bereitstellung detaillierter Benutzerinformationen und Zugriffsberechtigungen

(ID:46557438)

Über den Autor