Was ist SAML? | So funktioniert SAML-Authentifizierung

SAML ist der technische Standard, mit dem SSO-Provider kommunizieren, dass ein Benutzer authentifiziert ist.

Share facebook icon linkedin icon twitter icon email icon

SAML

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Die Security Assertion Markup Language (SAML) definieren
  • Erfahren, wie SAML in einen SSO-Workflow (Single-Sign-On) passt
  • Erläutern, was eine SAML Assertion ist

Was ist SAML?

Die Security Assertion Markup Language (SAML) ist eine standardisierte Methode, externen Anwendungen und Diensten mitzuteilen, dass ein Benutzer derjenige ist, der er zu sein behauptet. Durch SAML wird Single-Sign-On-Technologie (SSO) möglich, denn man kann damit einen Benutzer einmal authentifizieren und diese Authentifizierung dann an mehrere Anwendungen übermitteln. Die neueste Version von SAML ist SAML 2.0.

Stellen Sie sich die SAML-Authentifizierung wie einen Ausweis vor: eine kurze, standardisierte Methode nachzuweisen, wer jemand ist. Anstatt beispielsweise erst eine Reihe von DNA-Tests durchzuführen, um die Identität einer Person zu klären, reicht es, nur auf ihren Personalausweis zu schauen.

Eine der größten Herausforderungen bei Datenverarbeitung und Vernetzung liegt darin, die Systeme und Geräte, die von verschiedenen Anbietern für verschiedene Zwecke entwickelt wurden, zur Zusammenarbeit zu bewegen. Dies wird als „Interoperabilität“ bezeichnet: die Fähigkeit verschiedener Maschinen, trotz unterschiedlicher technischer Spezifikationen zusammenzuwirken. SAML ist ein interoperabler Standard – eine allgemein akzeptierte Methode, die Identität eines Benutzers an Anbieter von Clouddiensten zu übermitteln.

Was ist Single-Sign-On (SSO)?

Mit Single-Sign-On (SSO) können Benutzer für mehrere Anwendungen und Dienste gleichzeitig authentifiziert werden. Bei SSO meldet sich ein Benutzer auf einem einzigen Anmeldebildschirm an und kann dann mehrere Apps nutzen. Man muss nicht mehr für jeden einzelnen Dienst, den man verwenden möchte, seine Identität nachweisen.

Damit das funktioniert, muss das SSO-System mit jeder externen App kommunizieren und diesen Apps mitteilen, dass der Benutzer angemeldet ist. Hier kommt SAML ins Spiel.

Wie funktioniert SAML?

An einem typischen SSO-Authentifizierungsvorgang sind drei Parteien beteiligt:

  • Prinzipal (auch als „Subjekt“ bezeichnet)
  • Identitätsanbieter
  • Dienstprovider

Prinzipal/Subjekt: Dies ist fast immer ein menschlicher Benutzer, der versucht, auf eine in der Cloud gehostete Anwendung zuzugreifen.

Identitätsanbieter: Ein Identitätsanbieter (identity provider, IdP) ist ein Cloud-Softwaredienst, der die Benutzeridentität speichert und bestätigt, normalerweise über einen Anmeldevorgang. Im Wesentlichen hat der IdP die Aufgabe, folgende Aussage zu treffen: „Ich kenne diese Person, und sie darf Folgendes tun". Ein SSO-System kann tatsächlich vom IdP getrennt sein, aber in diesen Fällen fungiert das SSO im Wesentlichen als Vertreter für den IdP, sodass sie in einem SAML-Workflow in jeder Hinsicht gleichwertig sind.

Dienst-Provider: Dies ist die in der Cloud gehostete Anwendung oder der Dienst, den der Benutzer verwenden möchte. Gängige Beispiele dafür sind Cloud-E-Mail-Plattformen wie Google Mail und Microsoft Office 365, Cloudspeicherdienste wie Google Drive und AWS S3 sowie Kommunikations-Apps wie Slack und Skype. Normalerweise meldet sich ein Benutzer einfach direkt bei diesen Diensten an. Wenn jedoch SSO verwendet wird, meldet sich der Benutzer stattdessen beim SSO an, und über SAML wird ihm Zugriff gewährt.

So könnte ein typischer Ablauf aussehen: Der Prinzipal stellt eine Anfrage an den Dienstprovider. Der Dienstprovider fordert dann eine Authentifizierung vom Identitätsanbieter an. Der Identitätsanbieter sendet eine SAML Assertion an den Dienstprovider, und der Dienstprovider kann dann eine Antwort an den Prinzipal senden.

Wenn der Prinzipal (der Benutzer) noch nicht angemeldet war, fordert der Identitätsanbieter ihn möglicherweise auf, sich anzumelden, bevor eine SAML Assertion gesendet wird.

Was ist eine SAML Assertion?

Eine SAML Assertion ist eine Nachricht, mit der einem Dienst-Provider mitgeteilt wird, dass ein Benutzer angemeldet ist. SAML Assertions enthalten alle Informationen, die ein Dienst-Provider zur Bestätigung der Benutzeridentität benötigt. Dazu gehören die Quelle der Assertion, ihre Ausstellungszeit und die Bedingungen, unter denen die Assertion gilt.

Stellen Sie sich eine SAML Assertion wie eine Referenz für einen Bewerber vor: In den Referenzunterlagen berichtet jemand, wann und wie lange er mit dem Bewerber zusammengearbeitet hat, welche Rolle er dabei hatte und welche Meinung er zum Bewerber hat. Auf der Grundlage dieser Referenz kann ein Unternehmen eine Entscheidung über die Einstellung des Kandidaten treffen, und nach dem gleichen Muster kann eine SaaS-Anwendung oder ein Clouddienst den Benutzerzugriff auf der Grundlage einer SAML Assertion zulassen oder verweigern.

Was ist SAML 2.0?

SAML 2.0 ist die moderne Version von SAML und wird seit 2005 eingesetzt. SAML 2.0 ist eine Kombination mehrerer zuvor verwendeter SAML-Versionen. Viele Systeme unterstützen aus Kompatibilitätsgründen frühere Versionen wie SAML 1.1, aber SAML 2.0 ist der aktuelle Standard.

Ist SAML-Authentifizierung gleichbedeutend mit Benutzerautorisierung?

SAML ist eine Technologie zur Authentifizierung von Benutzern, nicht zur Autorisierung. Das ist ein wichtiger Unterschied. Die Benutzerautorisierung ist ein separater Bereich in der Identitäts- und Zugriffsverwaltung.

Bei der Authentifizierung geht es um die Identität eines Benutzers: wer er ist und ob seine Identität durch einen Anmeldevorgang nachgewiesen wurde.

Autorisierung bezieht sich auf die Privilegien oder Berechtigungen eines Benutzers, insbesondere darauf, welche Aktionen er in den Systemen eines Unternehmens ausführen darf.

Der Unterschied zwischen Authentifizierung und Autorisierung lässt sich so veranschaulichen: Nehmen wir an, Alice geht zu einem Musikfestival. Am Eingang des Festivals zeigt sie ihre Eintrittskarte und einen weiteren Identitätsnachweis, aus dem hervorgeht, dass sie die rechtmäßige Inhaberin der Karte ist. Damit bekommt sie Einlass zum Festival. Sie wurde authentifiziert.

Aber nur weil Alice sich innerhalb des Festivalgeländes aufhält, heißt das nicht, dass sie überall hingehen und alles tun kann, was sie möchte. Sie kann die Festival-Acts sehen, aber sie kann weder auf die Bühne gehen und auftreten, noch kann sie hinter die Bühne gehen und sich mit den Künstlern unterhalten, denn dazu ist sie nicht berechtigt. Wenn sie Backstage-Pässe gekauft hätte oder wenn sie nicht nur Besucherin, sondern auch auftretende Künstlerin wäre, hätte sie mehr Berechtigungen.

Technologien zur Zugriffsverwaltung übernehmen die Benutzerautorisierung. Zugriffsverwaltungsplattformen verwenden verschiedene Autorisierungsstandards (einer davon ist OAuth), jedoch nicht SAML.

Cloudflare Access ist ein Beispiel für eine Zugriffsverwaltungslösung. Mit Cloudflare Access können Unternehmen den Benutzerzugriff auf interne Ressourcen und Daten verwalten, ohne ein virtuelles privates Netzwerk (VPN) einzusetzen. Cloudflare Access lässt sich problemlos in SSO-Provider integrieren und bietet damit sowohl Autorisierung als auch Authentifizierung von Benutzern.

Weitere Informationen über SSO finden Sie hier.