Was ist SAML?
SAML – Security Assertion Markup Language, ein XML-Standard, der sicheren Webdomänen den Austausch von Benutzerauthentifizierungs- und Autorisierungsdaten ermöglicht. Mit SAML 2.0 kann ein Online-Dienstanbieter (SP) einen separaten Online-Identitätsanbieter (IDP) kontaktieren, um Benutzer zu authentifizieren, die auf sichere Inhalte zugreifen möchten.
Das Authentifizierungsprotokoll SAML 2.0 ist für browserbasierte Unternehmensanwendungen beliebt. SAML 2.0 verwendet das XML-Datenformat für die Nachrichtenübertragung zwischen Anwendungen. Dieses XML-Dokument wird vom Identitätsanbieter digital signiert und während der Benutzerauthentifizierung an den Dienstanbieter (SP) weitergegeben.
Grundlagen von SAML
1. SAML-Dienstanbieter (SP): Ein SAML-Dienstanbieter (SP) ist eine Systemeinheit, die Authentifizierungszusicherungen in Verbindung mit einem Single Sign-On (SSO)-Profil der Security Assertion Markup Language (SAML) empfängt und akzeptiert.
2. SAML-Identitätsanbieter (IDP): Ein SAML-Identitätsanbieter (IDP) ist eine Systemeinheit, die Authentifizierungsbestätigungen in Verbindung mit einem Single Sign-On (SSO)-Profil der Security Assertion Markup Language (SAML) ausgibt. Ein Identitätsanbieter führt die Authentifizierung durch, um sicherzustellen, dass der Endbenutzer die Person ist, für die er sich ausgibt, und sendet diese Daten zusammen mit den Zugriffsrechten des Benutzers für den Dienst an den Dienstanbieter.
3. SAML-Anforderung: Eine SAML-Anfrage, auch Authentifizierungsanforderung genannt, wird vom Dienstanbieter (SP) generiert, um eine Authentifizierung „anzufordern“.
4. SAML-Antwort: Eine SAML-Antwort wird vom Identitätsanbieter (IDP) generiert. Sie enthält die eigentliche Behauptung des authentifizierten Benutzers. Darüber hinaus kann eine SAML-Antwort zusätzliche Informationen über den Benutzer enthalten, z. B. Benutzerprofilinformationen, Gruppen-/Rolleninformationen usw.
SAML Single Sign-On (SSO)
SAML Single Sign-On (SSO) ist ein Authentifizierungsprozess, bei dem ein Benutzer mit nur einem einzigen Satz Anmeldeinformationen (z. B. Benutzername und Passwort) Zugriff auf mehrere Anwendungen und/oder Websites erhält. Dadurch muss sich der Benutzer nicht mehr separat bei den verschiedenen Anwendungen anmelden.
Die Benutzeranmeldeinformationen und andere Identitätsinformationen werden von einem zentralen System namens Identity Provider (IDP) gespeichert und verwaltet. Der Identity Provider (IDP) ist ein vertrauenswürdiges System, das Zugriff auf andere Websites und Anwendungen bietet.
So funktioniert SAML 2.0
SAML SSO funktioniert, indem die Identität des Benutzers vom Identitätsanbieter (IDP) zum Dienstanbieter (SP) übertragen wird. Dies geschieht durch den Austausch digital signierter XML-Dokumente. Betrachten Sie den folgenden Anwendungsfall: Ein Benutzer ist bei einem System angemeldet, das als Identitätsanbieter (IDP) fungiert. Der Benutzer möchte sich bei einer Remote-Anwendung anmelden, d. h. beim Dienstanbieter (SP). Der folgende Ablauf findet statt:
1. Der Benutzer fordert eine Ressource an von der gewünschten Anwendung/Website (Dienstanbieter).
2. Der Identitätsanbieter (IDP) verifiziert den Benutzer.
3. Die Dienstanbieter identifiziert den IDP (Identity Provider) und leitet den Benutzer mit einer Authentifizierungsanforderung zurück zum IDP weiter.
4. Die Identitätsanbieter sendet eine Antwort mit dem XHTML-Formular.
5. Der Identity Provider (IDP) sendet das XML-Dokument (SAML-Assertion) an den Service Provider (SP), das die Benutzerautorisierung enthält.
SAML 2.0 Single Sign-On (SSO)-Ablauf:

Vorteile der SAML 2.0-Authentifizierung
- SAML 2.0 Einmalanmeldung (SSO): SAML bietet durch Assertion den schnellsten und effizientesten Zugriff auf mehrere Anwendungen, wodurch SAML-Support-Serviceprovider (SP) mit Identity Provider (IDP) verbunden werden kann. SAML 2.0 bietet durch Assertion, die zwischen dem Serviceprovider (SP) und dem Identity Server (IDP) kommuniziert, eine bessere Benutzererfahrung.
- Erhöhte Sicherheit: Die SAML-Authentifizierung macht Passwörter überflüssig und ermöglicht die Authentifizierung durch digitale Signatur. SAML 2.0 nutzt zudem die Public Key Infrastructure (PKI), um Identitäten vor Angriffen zu schützen. SAML SSO bietet einen zentralen Authentifizierungspunkt, der bei einem sicheren Identitätsanbieter (IDP) erfolgt. Anschließend überträgt SAML die Identitätsinformationen an den Dienstanbieter (SP). Diese Form der Authentifizierung stellt sicher, dass Anmeldeinformationen nur direkt an den IDP (Identitätsanbieter) gesendet werden.
- Reduzieren Sie die Zeit zur Kennwortwiederherstellung: SAML SSO behebt Kennwortprobleme wie Zurücksetzen und Wiederherstellen und reduziert so die Zeit zum Wiederherstellen alter Kennwörter.
- Reduzierte Kosten für den Service Provider (SP): Mit SAML SSO müssen Sie kein Konto für mehrere Dienste verwalten. Der Identity Provider (IDP) übernimmt diese Aufgabe.
- Verbessertes Benutzererlebnis: Ohne Authentifizierung kann ein Benutzer mit nur einer Anmeldung auf mehrere Dienstanbieter zugreifen, was ein schnelleres und besseres Erlebnis bei jedem Dienstanbieter (SP) ermöglicht.
- Standardisierung: SAML 2.0 ist aufgrund seines standardisierten Formats mit jedem System unabhängig von der Implementierung kompatibel.
- Lose Kopplung von Verzeichnissen: SAML erfordert keine Pflege und Synchronisierung von Benutzerinformationen zwischen Verzeichnissen.
SAML-Behauptung
Eine SAML 2.0-Assertion ist ein XML-Dokument, das vom Identitätsanbieter (IdP) an den Dienstanbieter (SP) übermittelt wird und die Benutzerautorisierung enthält. SAML 2.0-Assertions enthalten alle Informationen, die ein Dienstanbieter (SP) zur Bestätigung der Benutzeridentität benötigt, einschließlich der Quelle der Assertion, des Ausstellungszeitpunkts und der Bedingungen, unter denen die Assertion gültig ist. Es gibt drei Arten von SAML-Assertions.
- Authentifizierungsbehauptung: Das angegebene Subjekt wurde zu einem bestimmten Zeitpunkt auf eine bestimmte Weise authentifiziert. Diese Art von Anweisung wird normalerweise von einer SAML-Behörde namens Identity Provider generiert, die für die Authentifizierung von Benutzern und die Verfolgung anderer Informationen über sie zuständig ist.
- Attributzusicherung: Dem angegebenen Betreff werden die angegebenen Attribute zugeordnet.
- Attributentscheidungsbehauptung: Eine Anforderung, dem angegebenen Subjekt Zugriff auf die angegebene Ressource zu gewähren, wurde genehmigt oder abgelehnt.
Eine Assertion besteht aus einer oder mehreren Anweisungen. Bei Single Sign-On enthält eine typische SAML-Assertion eine einzelne Authentifizierungsanweisung und möglicherweise eine einzelne Attributanweisung. Beachten Sie, dass eine SAML-Antwort mehrere Assertions enthalten kann, obwohl es üblicher ist, eine einzelne Assertion innerhalb einer Antwort zu haben.
Die SAML-Spezifikation definiert drei Rollen:
- Der Auftraggeber (normalerweise ein Benutzer)
- Der Identitätsanbieter (IDP)
- Der Service Provider (SP)
Im Anwendungsfall, der von SAML angesprochen wird, fordert der Auftraggeber einen Dienst vom Dienstanbieter (SP) an. Der Dienstanbieter fordert eine Identitätsbestätigung vom Identitätsanbieter (IDP) an und erhält diese. Basierend auf dieser Bestätigung kann der Dienstanbieter (SP) eine Zugriffskontrollentscheidung treffen – mit anderen Worten, er kann entscheiden, ob er einen Dienst für den verbundenen Auftraggeber ausführen soll.
SAML 2.0 Beispiel
So konfigurieren Sie die miniOrange Self-Service-Konsole als Dienstanbieter, indem Sie eine vom miniOrange IDP generierte SAML-Assertion akzeptieren.
- Registrieren Sie einen Dienstanbieter auf dem Identitätsserver:
- Fügen Sie als Herausgeber miniOrange hinzu.
- Behauptung Verbraucher-URL als https://login.xecurify.com/moas/samlresponse
- Stellen Sie sicher, dass die Option „Attributprofil aktivieren“ aktiviert ist.
- Fügen Sie in den Attributansprüchen eine E-Mail-Adresse hinzu.
- Stellen Sie sicher, dass „Attribute immer in die Antwort einschließen“ aktiviert ist.
- Der Benutzer wählt SAML SSO im Endbenutzer-Anmeldefenster aus, um sich mit miniOrange Identity Server anzumelden.
- Der miniOrange-Authentifizierungsdienst sendet eine SAML-Authentifizierungsanforderung zusammen mit einer Attributabfrage an den miniOrange-Identitätsserver, zusammen mit dem Consumer Index, der nach der Registrierung von miniOrange als Dienstanbieter auf dem Identitätsserver generiert wurde.
- miniOrange IDP analysiert die SAML-Anforderung und leitet zur Anmeldeseite des Identity Servers weiter.
- Der Benutzer gibt Benutzernamen und Passwort ein. Wenn gültige Anmeldeinformationen eingegeben werden, sendet IdP eine verschlüsselte SAML-Antwort mit der E-Mail-Adresse des Benutzers an den miniOrange-Authentifizierungsdienst.
- Der miniOrange-Authentifizierungsdienst empfängt die SAML-Antwort, dekodiert sie und analysiert die E-Mail-ID des Benutzers. Wenn eine gültige E-Mail-Adresse gefunden wird, meldet er den Benutzer bei der Self-Service-Konsole an.
Außerdem können Sie die miniOrange Self-Service-Konsole als Dienstanbieter (SP) mit anderen Identitätsanbietern (IDPs) wie Okta, OneLogin, Azure AD, Auth0 usw. konfigurieren.
SAML vs. OAuth
OAuth ist ein etwas neuerer Standard, der von Google und Twitter gemeinsam entwickelt wurde, um optimierte Internet-Anmeldungen zu ermöglichen. OAuth verwendet eine ähnliche Methodik wie SAML, um Anmeldeinformationen zu teilen. SAML 2.0 bietet Unternehmen mehr Kontrolle, um ihre SSO-Anmeldungen sicherer zu machen, während OAuth auf Mobilgeräten besser ist und JSON verwendet. Facebook und Google sind zwei OAuth-Anbieter, die Sie möglicherweise zum Anmelden bei anderen Internetseiten verwenden.
| Merkmal | SAML-2.0 | OAuth |
|---|---|---|
| Protokoll | SAML ist ein Authentifizierungsprotokoll. | OAuth ist ein Autorisierungsprotokoll. |
| Nutzungsszenario | SAML 2.0 wird von denjenigen verwendet, die nach Föderation und Identitätsmanagement suchen. Sie werden diese Identität verwenden, um die Benutzer bei verschiedenen Anwendungen anzumelden. | OAuth wird von denjenigen verwendet, denen es nicht um die Aufrechterhaltung von Identitäten geht, sondern die eher die Implementierung sicherer Protokolle durch Anwendungen wie Google, Microsoft oder PayPal nutzen möchten, die die Authentizität der Identitäten gewährleisten. |
| Geeignete Anwendung | SAML 2.0 ist für browserbasierte Anwendungen beliebt. | OAuth ist sowohl für Browser- als auch für mobile Anwendungen geeignet. |
| Häufig verwendet von | SAM 2.0 wird häufig für Unternehmensanwendungen verwendet. | OAuth wird häufig für Kundenanwendungen und API-Zugriff verwendet. |
| Data Format | SAML 2.0 verwendet XML zum Übertragen von Nachrichten zwischen Anwendungen. | OAuth verwendet JSON, um Nachrichten zwischen Anwendungen zu übertragen. |




Hinterlasse einen Kommentar