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 kontaktieren, um Benutzer zu authentifizieren, die versuchen, auf sichere Inhalte zuzugreifen.
Das Authentifizierungsprotokoll SAML 2.0 ist bei browserbasierten Unternehmensanwendungen beliebt. SAML 2.0 verwendet das XML-Datenformat zum Übertragen von Nachrichten zwischen Anwendungen. Dieses XML-Dokument wird vom Identitätsanbieter digital signiert und während des Benutzerauthentifizierungsprozesses mit dem Dienstanbieter (SP) geteilt.
Grundlagen von SAML
- SAML-Dienstleister (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.
- SAML-Identitätsanbieter (Identitätsanbieter): Ein SAML-Identitätsanbieter (IdP) ist eine Systemeinheit, die Authentifizierungsbehauptungen in Verbindung mit einem Single Sign-On-Profil (SSO) der Security Assertion Markup Language (SAML) ausgibt. Ein Identitätsanbieter führt die Authentifizierung durch, um sicherzustellen, dass der Endbenutzer derjenige ist, für den er sich ausgibt, und sendet diese Daten zusammen mit den Zugriffsrechten des Benutzers für den Dienst an den Dienstanbieter.
- SAML-Anfrage: Eine SAML-Anfrage, auch Authentifizierungsanforderung genannt, wird vom Dienstanbieter (SP) generiert, um eine Authentifizierung „anzufordern“.
- 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.
Kostenlose Installationshilfe
miniOrange bietet kostenlose Hilfe durch ein Beratungsgespräch mit unseren Systemingenieuren zur Installation oder Einrichtung der Temenos SSO-Lösung in Ihrer Umgebung mit 30-Tage kostenlose Testversion.
Senden Sie uns hierzu einfach eine E-Mail an idpsupport@xecurify.com um einen Termin zu buchen und wir helfen Ihnen umgehend.
Einmaliges Anmelden (SSO) über SAML
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.
Funktionsweise von SAML 2.0 und Authentifizierungsablauf
SAML SSO funktioniert durch die Übertragung der Benutzeridentität vom Identitätsanbieter (IdP) zum Dienstanbieter (SP). 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, d. h. dem Dienstanbieter (SP), anmelden. Der folgende Ablauf ist dargestellt:
- Der Benutzer fordert eine Ressource an von der gewünschten Anwendung/Website (Dienstanbieter)
- Der Identitätsanbieter (IdP) verifiziert den Benutzer.
- Der Dienstanbieter identifiziert den IDP (Identity Provider) und leitet den Benutzer mit einer Authentifizierungsanforderung zurück zum IDP.
- Der Identitätsanbieter sendet eine Antwort mit dem XHTML-Formular.
- 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 Einmaliges Anmelden (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: SAML-Authentifizierung macht Passwörter überflüssig und bietet Authentifizierung durch digitale Signatur. SAML 2.0 verwendet außerdem die Public Key Infrastructure (PKI), um Identitäten vor Angriffen zu schützen. SAML SSO bietet einen einzigen Authentifizierungspunkt, der bei einem sicheren Identitätsanbieter (IdP) stattfindet. 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 (Identity Provider) gesendet werden.
- Reduzieren Sie die Zeit für die 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 nicht für mehrere Dienste ein Konto pflegen. Dies übernimmt der Identitätsanbieter (IdP).
- Verbesserte Benutzererfahrung: 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: SAML2.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 Identity Provider (IdP) an den Service Provider (SP) übermittelt wird und die Benutzerautorisierung enthält. SAML 2.0-Assertions enthalten alle Informationen, die ein Service Provider (SP) benötigt, um die Benutzeridentität zu bestätigen, einschließlich der Quelle der Assertion, des Zeitpunkts ihrer Ausgabe und der Bedingungen, unter denen die Assertion gültig ist. Es gibt drei Typen von SAML-Assertions.
Drei verschiedene 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 Identitätsanbieter generiert, die für die Authentifizierung von Benutzern und die Verfolgung anderer Informationen über sie zuständig ist.
- Attributzusicherung: Dem angegebenen Betreff werden die bereitgestellten 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, den SAML behandelt, 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 Console als Dienstanbieter, indem Sie eine SAML-Assertion akzeptieren, die von der miniOrange IDP.
- 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. |
Zur weiteren Bezugnahme