- Einführung in IAM
- Was ist SAML?
Was ist SAML?
Wie die Authentifizierung mit SAML funktioniert und warum SAML für Unternehmenskunden aktuell bleibt
SAML 2.0 (Security Assertion Markup Language) ist ein offener Standard, der speziell für Domain-übergreifendes Single Sign-on (SSO) entwickelt wurde. Anders ausgedrückt: SAML ermöglicht es einem Nutzer, sich in einem System zu authentifizieren und durch Nachweis dieser Authentifizierung auch auf andere Systeme zuzugreifen.
Übersicht über SAML
SAML wird bereits seit 2005 genutzt und ist bei B2B- und B2E-Anwendungen für föderierte Identitätslösungen nach wie vor beliebt. Diese umfassende Nutzung ist der Motor für den anhaltenden Erfolg. Generell gilt: Will man nahtloses SSO zwischen Geschäften und Unternehmen bereitstellen, muss man mit SAML umgehen können. Tatsächlich wird das Protokoll SAML 2.0 hauptsächlich für Unternehmens- und Regierungsanwendungen genutzt.
SAML nutzt XML zur Darstellung der Nutzeridentitätsdaten und Simple HTTP für die Datenübertragung.
In diesem Artikel gehen wir darauf ein, was SAML eigentlich ist und welche Unterschiede zu anderen Identitätsstandards bestehen. Außerdem sehen wir uns an, wie ein Partner für das Identitätsmanagement wie Auth0 dafür sorgt, dass das Ganze funktioniert.
Wie funktioniert SAML?
SAML ist ein XML-basiertes Authentifizierungsprotokoll, über das Identitätsanbieter (IdP) – Gesellschaften, die Anmeldedaten von Nutzern verwalten und speichern – digital signierte XML-Dokumente (SAML-Assertions) austauschen, mit denen ein Endnutzer auf einen Serviceprovider (SP) zugreifen kann, beispielsweise auf die zahlreichen Apps, die jeder täglich bei der Arbeit nutzt, oder auf Websites.
Der Dienst, der die Daten vom IdP anfragt und empfängt, wird als Relying Party (RP) bezeichnet, und die in der SAML-Assertion enthaltenen Nutzeridentitätsdaten haben die Form von Attributen, z. B. E-Mail-Adresse, Name, Telefonnummer usw.
Das Gefüge lässt sich gut mit einem Beispiel aus dem realen Leben vergleichen, nämlich mit dem Reisen. Stellen Sie sich vor, jemand möchte aus seinem Heimatland in die USA reisen. An der Grenze wird die Person aufgefordert, einen Reisepass vorzulegen, um sich zu authentifizieren und möglicherweise den Zugang zu autorisieren. Hat der Reisende keinen Pass, wird er an die Regierung seines Heimatlandes zurückverwiesen, um sich einen solchen zu besorgen.
Sobald der Reisende seinen Pass hat, kann er den Beamten an der Grenze seine Identität nachweisen. Diese überprüfen die Gültigkeit des Passes und die darin enthaltenen Identitätsdaten und entscheiden, ob der Reisende ins Land kommen darf oder nicht.
In diesem Szenario gilt Folgendes:
- Das Heimatland des Reisenden ist der Identitätsanbieter
- Die Beamten an der Grenze, die die US-Regierung vertreten, sind die Relying Party
- Die USA als Land sind der Serviceprovider
- Der Pass ist die SAML-Assertion
Gehen Sie davon aus, dass die USA nur Reisepässe von Ländern akzeptieren, mit denen sie vorab Vereinbarungen getroffen haben.
Dieses Beispiel aus dem realen Leben lässt sich auf ein Computersystem übertragen.
Stellen Sie sich vor, Sie arbeiten in einem Unternehmen, das viele Anwendungen hat, aber nur einen zentralen Punkt für die Authentifizierung der Nutzer. Nehmen Sie an, dass ein Partnerunternehmen eine ähnliche Organisation hat und einige seiner Mitarbeiter für ein bestimmtes Projekt auf eine oder mehrere Anwendungen Ihres Unternehmens zugreifen müssen. Mit SAML können Sie nach einer vorherigen Konfiguration, die das Vertrauen zwischen den beiden Systemen etabliert, das Reiseszenario nachbilden.
Ein Mitarbeiter des Partnerunternehmens versucht auf eine Anwendung Ihres Unternehmens zuzugreifen. Da er nicht zu Ihrem Unternehmen gehört, verweist Ihr Unternehmenssystem den Nutzer an das Partnersystem, um einen Identitätsnachweis zu beschaffen. Das Partnersystem authentifiziert den Nutzer und stellt ihm eine SAML-Assertion aus. Ihr Unternehmenssystem prüft die Assertion und gewährt dem Nutzer dann Zugriff.
SAML und Single Sign-On (SSO)
Mit SAML kann die Authentifizierung entweder vom Serviceprovider oder vom Identitätsanbieter initiiert werden. Der IdP initiiert die Authentifizierung beispielsweise, wenn ein Mitarbeiter beim betrieblichen Dashboard angemeldet ist und ein vom Unternehmen gekauftes Tool auf einer externen Website nutzen will. In diesem Fall sendet der IdP eine SAML-Assertion über den Webbrowser, um den Nutzer automatisch anzumelden.
Ein Beispiel für eine vom SP initiierte Authentifizierung wäre, wenn ein Mitarbeiter versucht, sich bei der externen Website anzumelden – beim SP – und die Website leitet ihn zu ihrer SSO-Anmeldeseite weiter, auf der er seine Anmeldedaten eingeben und sich authentifizieren muss. Nach der Authentifizierung wird der Mitarbeiter auf die externe Website zurückgeleitet und erhält dafür eine SAML-Assertion als Nachweis seiner Identität.
Vorteile von SAML 2.0 und Anwendungsfälle
Entwickler fragen sich gelegentlich, warum sie das SAML-Protokoll überhaupt verwenden sollten. Warum lohnt es sich, SAML zu verwenden? Wie in diesem etwas technischeren Tutorial beschrieben, hat SAML diverse Vorteile, darunter diese:
Standardisierung: Als offener Standard ermöglicht SAML die Interoperabilität zwischen verschiedenen Systemen.
Nutzererlebnis: Mit einer einzigen Anmeldung erhalten Nutzer Zugriff auf verschiedene Serviceprovider. Eine weitere Authentifizierung ist nicht nötig, was das Nutzererlebnis bei den einzelnen Serviceprovidern beschleunigt und verbessert. Damit werden auch alle Passwortbelange zentral geregelt, beispielsweise das Reset und die Wiederherstellung.
Verknüpfung zwischen Verzeichnissen: SAML macht die Pflege und Synchronisation der Daten zwischen verschiedenen Verzeichnissen überflüssig.
Mehr Sicherheit: SAML bietet einen zentralen Authentifizierungspunkt bei einem sicheren IdP. Durch die Vermeidung einer Wiederholung von Anmeldedaten (Schattenkonten) und durch Synchronisation verringert SAML die Angriffspunkte für Identitätsdiebstähle.
Geringere Kosten für Serviceprovider: Mit SAML müssen Sie keine Kontendaten auf mehreren Servern pflegen. Diese Arbeit übernimmt der Identitätsanbieter.
Höhere Compliance: Im Zeitalter des Datenschutzes verringert die Fähigkeit, Attribute im Vorübergehen zu erhalten und zu vergessen, wenn sie nicht mehr benötigt werden, die Haftbarkeit Ihres Unternehmens. Sie müssen nicht länger Schattenkonten erstellen, um Arbeiten zu erledigen.
Wie passen Ihre Identitätsplattform (IdP), SAML 2.0 und Single Sign-on zusammen?
Entwickler können bestätigen, dass die betriebseigene Implementierung von SAML 2.0 nicht ohne Aufwand ist. Sie birgt außerdem die Gefahr, bei der XML-Signatur und der Verschlüsselung versehentlich Lücken zu lassen, welche die App anfällig für Angriffe machen. Hier kann ein Identitätspartner wie Auth0 dafür sorgen, dass die SAML-Authentifizierung sowohl einfach als auch sicher verläuft.
Mit Auth0 Universal Login können Sie SAML schnell konfigurieren und Ihren Unternehmenskunden anbieten. Mit Auth0 haben Sie alle Vorteile von SAML, ohne die Belastungen und Risiken als alleiniger Identitätsanbieter tragen zu müssen.
Auth0 ist für jede Sprache und jede API geeignet. Auth0 kann als Identitätsanbieter , Serviceprovider oder beides fungieren.
Wenn Sie einen SAML-SP implementieren und Auth0 als Identitätsanbieter nutzen, werden Ihre Nutzer zur Anmeldung an Auth0 umgeleitet und von Auth0 authentifiziert. Auth0 funktioniert mit allen Authentifizierungsverbindungen und kann soziale Netzwerke, Datenbanken, LDAP-Verzeichnisse (wie Active Directory) oder andere SAML-IdPs nutzen.
Wenn Ihre Anwendung über Auth0 mit einem SAML-SP kommuniziert, übersetzt Auth0 die Anfrage in eine SAML-Authentifizierungsanfrage und sendet sie an einen SAML-IdP. Unabhängig davon, welches Protokoll Sie für die Kommunikation mit Auth0 verwenden.
Wenn Sie Auth0 als IdaaS-Anbieter nutzen, ermöglichen Sie Ihren Nutzern mehrere Identitätsanbieter. So können sich Nutzer aus einer Organisation mit ihren G-Suite-Anmeldedaten anmelden, andere wiederum können dazu eine Datenbankverbindung nutzen.
Für ein SaaS-Unternehmen, das für Unternehmen interessanter sein möchte, indem es SAML 2.0 zusätzlich zu anderen Protokollen wie OAuth und OpenID Connect anbietet, ist dies eine einfache Möglichkeit, zu zeigen, dass es flexibel genug ist, sich auf die Anforderungen von Kunden einzustellen, die SAML schon jahrelang nutzen.
Würden Sie gerne mehr erfahren?
Lesen Sie unsere Einführung in IAM, um sich über weitere Themen rund um das Identitäts- und Zugriffsmanagement zu informieren.
Table of contents
Quick assessment
Welcher der folgenden Punkte ist ein Vorteil von SAML?
Quick assessment
Warum bietet Single Sign-on (SSO) einen Vorteil für Nutzer?
Quick assessment
Welche Rolle spielt ein Identitätsanbieter (IdP) bei SAML 2?