SAML
SAML (Security Assertion Markup Language) ist ein offener Authentifizierungs-Standard, der das Single Sign-on (SSO) für Webanwendungen ermöglicht. SSO ermöglicht Nutzer die Anmeldung bei mehreren webbasierten Anwendungen und Diensten mit einer einzigen Kombination von Anmeldedaten. SAML wurde entwickelt, um den Nutzern die Anmeldung zu vereinfachen. Es wird vor allem in Unternehmen eingesetzt und ermöglicht den Zugriff auf zahlungspflichtige Anwendungen und Dienste.
Vor allen Dingen sind Anmeldungen mit SAML sicher, da die Anmeldeinformationen der Nutzer zu keinem Zeitpunkt übertragen werden. Das Handling erfolgt stattdessen über Identitätsprovider (IdP) und Serviceprovider (SP):
Der IdP speichert alle für die Autorisierung erforderlichen Anmeldedaten und Informationen und stellt sie dem SP auf Anfrage zur Verfügung. Es liegt bei ihm zu erklären: „Ich kenne diese Person, und sie sollte auf diese Ressourcen zugreifen können.“
Der SP hostet die Anwendungen und Dienste, auf die der Nutzer zugreifen möchte. Bei diesen Anwendungen oder Diensten kann es sich um E-Mail-Plattformen handeln, wie beispielsweise Google oder Microsoft Office, oder aber auch um Kommunikations-Apps wie Slack oder Skype. Es ist der SP, der erklärt: „Sie können auf diese Anwendungen oder Dienste für einen bestimmten Zeitraum zugreifen, ohne sich erneut anmelden zu müssen.“
Wenn Nutzer versuchen, auf diese Anwendungen oder Dienste zuzugreifen, bittet der SP den IdP um die Überprüfung ihrer Identitäten. Der IdP stellt SAML-Assertions oder Token aus, die notwendige Informationen zur Bestätigung der Benutzeridentität enthalten. Dazu gehören unter anderem der Zeitpunkt der Ausstellung und die Bedingungen für die Gültigkeit der Assertions. Nachdem der SP die Assertions empfangen hat, gewährt er dem Nutzer Zugang zu den angeforderten Ressourcen.
Sie können die SAML-Anmeldung mit dem Ausleihen eines Buches in einer Bibliothek vergleichen:
Sie suchen sich ein Buch aus, das Sie lesen möchten, und nehmen es mit an den Schalter.
Die Bibliothekarin fragt Sie, ob Sie einen Bibliotheksausweis haben. Sie antworten: „Nein, ich bin gerade erst in die Stadt gezogen.“ Die Bibliothekarin sagt: „Nun, solange Sie keinen Bibliotheksausweis haben, kann ich Ihnen das Buch nicht ausleihen. Gehen Sie hinüber zum Bibliotheksassistenten, und lassen Sie sich einen Ausweis ausstellen, damit wir Unterlagen über Ihre Person haben.“
Sie gehen zum Schalter und geben dem Bibliotheksassistenten Ihren Führerschein. Dieser gibt Ihren Namen und Ihre Adresse in das Bibliothekssystem ein, erstellt den Ausweis, den Sie dann erhalten. Mit dem Ausweis kehren Sie zur Bibliothekarin zurück, sie scannt ihn ein und leiht Ihnen das Buch aus. Sie können das Buch nun für einen bestimmten Zeitraum mit nach Hause nehmen.
In diesem Szenario authentifizieren Sie sich beim Bibliotheksassistenten (IdP), indem Sie ihm Ihren Führerschein vorlegen. Anschließend erstellt er den Ausweis anhand Ihrer Angaben. Wenn Sie den Bibliotheksausweis der Bibliothekarin (SP) vorlegen, benutzt sie ihn, um Ihnen das Buch auszuleihen.
Dieses kurze Video demonstriert anhand weiterer Beispiele, wie SAML eingesetzt wird, um Mitarbeiter, Partner und Kunden schnell und sicher mit den digitalen Ressourcen eines Unternehmens zu verbinden.
Whether you're an enterprise with employees accessing critical applications, Or a business offering Web and Mobile software and services to the marketplace, The cloud is changing the way IT infrastructure is accessed and utilized.
Today, as employees, partners, and customers increasingly rely on cloud applications to Conduct business, they inevitably accumulate numerous and often weak passwords to access There are dozens of cloud applications.
The proliferation of these non-standardized cloud identities, Many of which are forgotten, lost, and easy to steal, adds significant corporate risk and management expense, while also frustrating users.
To help secure Cloud identities, many of today's cloud-based applications increasingly Use a standard known as Security Assertion Markup Language, or SAML.
SAML is a secure XML-based communication Mechanism that shares identities between multiple organizations and applications.
But SAML's power in the cloud is its ability to eliminate most passwords and enable single sign-on Single sign-on.
Single sign-on with SAML gives faster, Easier, and trusted access to cloud applications without storing passwords or Requiring users to log into each application Individually.
Instead of passwords, applications that use SAML accept secure tokens.
Which only reveal what is needed for access to the application.
Since no passwords exist, there is nothing for customers, partners, or employees to forget, lose, or have stolen.
For SAML to work, there are three entities involved.
First is the Identity-Provider-IDP.
An Identity-Provider-IDP maintains a directory of users and an authentication Second is the Service-Provider-SP.
Service Providers run the target website, application, or service.
Identity and Service Providers may be separate organizations, such as when an employee accesses an external cloud application like Salesforce.com, or when consumers access Comcast for online content from programmers like HBO or ESPN.
The third entity is the user who has a known account with the Identity Provider.
SAML simplifies the relationship between these entities and strengthens the security of their Interactions.
A user signs into their company network with Corporate credentials.
When they click a link to access applications or secured content at the Service-Provider-SP's application, the Identity-Provider-IDP generates a SAML token to be sent to the Service-Provider.
The token grants access to APPs and content, but it does not pass any info that could be used by anyone else to access them.
The user is free to navigate securely across the applications they need.
A properly architected and deployed SAML 2.0 solution increases security by eliminating Multiple weak passwords for each cloud application while streamlining the secure Access process.
It delivers substantial business value by Reducing costs and boosting employee productivity.
And it enhances customer satisfaction, all by providing one-click access to Cloud Applications.
Although SAML is one of the fundamental cloud Identity security standards, there are other standards needed to fully construct a secure Cloud identity solution.
To learn more about SAML 2.0 and other security standards, visit the Resource Center at PingOne identity.com.
Wie funktioniert SAML?
SAML ist ein XML-basiertes Framework, d. h. es ist äußerst flexibel, kann auf jeder Plattform eingesetzt und über eine Vielzahl von Protokollen (z. B. HTTP und SMTP) übertragen werden. Partner in einem Verbund können selbst wählen, welche Informationen sie in einer SAML-Assertion weitergeben, so lange diese in XML dargestellt werden können.
Eine typische SAML-Authentifizierung läuft folgendermaßen ab:
- Der Nutzer meldet sich an und beantragt Zugriff auf gewünschte Anwendungen oder Dienste des SP.
- Der SP fordert vom IdP Informationen, um den Nutzer zu authentifizieren.
- Der IdP erstellt eine SAML-formatierte, digital signierte Antwort, die den Nutzer authentifiziert. Diese Antwort kann in Form einer SAML-Assertion oder eines SAML-Tokens erfolgen. Die Antwort kann auch Informationen über die Berechtigungen des Nutzers enthalten.
- Der IdP signiert die Assertion und übermittelt sie an den SP.
- Der SP ruft die Assertion ab, überprüft die Gültigkeit, und authentifiziert den Nutzer.
- Der Nutzer greift auf die Anwendung oder den Dienst des Serviceproviders zu.
Anmeldungen mit SAML bieten Sicherheit, da die Anmeldeinformationen der Nutzer zu keinem Zeitpunkt übertragen werden. Stattdessen werden SAML-Assertions oder Token verwendet.
Was sind SAML-Assertions?
SAML-Assertions sind XML-Dokumente, die von einem IdP an einen SP gesendet werden, um Nutzer zu identifizieren. Sie enthalten relevante Informationen über Nutzer und ihre Berechtigungen für die angefragte Anwendung oder den Dienst. Diese Meldungen versichern auch die Gültigkeit der Informationen und geben an, wie lange die Benutzer auf die jeweiligen Ressourcen zugreifen können, ohne sich erneut anmelden zu müssen.
SAML-Assertions werden in erster Linie für die Authentifizierung verwendet, können aber auch Informationen für die Autorisierung enthalten:
- Authentifizierungs-Assertions: Identifizieren Benutzer und liefern Anmeldeinformationen, wie unter anderem den Zeitpunkt der Anmeldung und die bei der Authentifizierung verwendete Methode.
- Attribut-Assertions: Enthalten Informationen über Nutzerattribute, die sowohl im IdP- als auch im SP-Verzeichnis vorhanden sind und im Zuge der Authentifizierung abgeglichen werden.
- Autorisierungs-Assertions: Zeigen an, ob der Benutzer zum Zugriff auf die Anwendung oder den Dienst berechtigt ist.
SAML findet häufige Anwendung in Unternehmen für den Austausch von Identitätsinformationen zwischen IAM-Systemen und Webanwendungen. Die Methoden der Implementierung hängen davon ab, ob die Anmeldeprozesse vom IdP oder vom SP initiiert werden.
IdP-initiiertes SSO
IdP-initiiertes SSO findet man häufig bei Lösungen für Mitarbeiter. Die hierbei verwendeten Schritte werden im folgenden Diagramm dargestellt.
- Ein Nutzer meldet sich mit seinem Benutzernamen und Passwort bei seinem System an und bekommt einen Anwendungskatalog mit Symbolen für die webbasierten Anwendungen und Dienste angezeigt, auf die er zugreifen kann.
- Er klickt auf ein Symbol, um auf eine dieser Anwendungen oder Dienste zuzugreifen.
- Der IdP erstellt und signiert eine SAML-Assertion, die Informationen über die Identität des Benutzers und alle weiteren Attribute enthält, die der IdP und der SP zur Authentifizierung von Nutzern vereinbart haben.
- Entweder sendet der IdP dann die Assertion über den Browser des Benutzers an den SP, oder er sendet einen Verweis auf die Assertion, den der SP für das sichere Abrufen der Assertion verwenden kann.
- Der SP validiert die Signatur, um sicherzustellen, dass die SAML-Assertion wirklich von seinem vertrauenswürdigen IdP stammt und dass keiner der Werte in der Assertion geändert wurde. Er extrahiert auch die Identitäts-, Attribut- und Autorisierungsinformationen, die er benötigt, um festzustellen, ob der Zugriff gewährt werden soll und welche Berechtigungen dem Nutzer zustehen.
- Die Nutzer greifen auf die Anwendung oder den Dienst zu.
SP-initiiertes SSO
Das SP-initiierte SSO beginnt mit dem direkten Zugriff eines Nutzers auf eine Anwendung oder einen Dienst, ohne vorherige Authentifizierung über den IdP. Die hierbei verwendeten Schritte werden im folgenden Diagramm dargestellt.
- Der Nutzer versucht auf die Anwendung oder den Dienst zuzugreifen.
- Der SP leitet den Nutzer zwecks Authentifizierung zurück zum IdP und gibt ihm eine Ressourcen-URL für den Zugriff auf die Anwendung oder den Dienst, sobald er authentifiziert wurde.
- Der SP ermittelt den passenden IdP für die Authentifizierung des Nutzers. Dazu verwendet er unter anderem die folgenden gängigen Methoden:
Der SP erfragt vom Nutzer zum Beispiel die E-Mail-Adresse und nutzt dann die Domäne der E-Mail, z. B. bill@pingidentity.com, um den entsprechenden IdP zu identifizieren.
Der SP zeigt eine Liste der von ihm unterstützten IdPs an und fordert den Nutzer auf, den passenden IdP auszuwählen.
Möglicherweise verweist die Ressourcen-URL bereits auf einen bestimmten IdP.
Der SP hat u. U. ein Cookie mit IdP-Informationen im Browser des Nutzers platziert, als dieser sich beim ersten Mal erfolgreich über den IdP angemeldet hat, und verwendet diese Informationen nun bei nachfolgenden Zugriffen.
- Der SP leitet den Nutzer dann an den entsprechenden IdP weiter.
- Der IdP authentifiziert die Anmeldeinformationen des Nutzers.
- Der IdP erstellt und signiert eine XML-basierte SAML-Assertion, die Informationen über die Identität des Benutzers und alle weiteren Attribute enthält, die der IdP und der SP zur Authentifizierung von Nutzern vereinbart haben.
- Entweder sendet der IdP dann die Assertion über den Browser des Benutzers an den SP, oder er sendet einen Verweis auf die Assertion, den der SP für das sichere Abrufen der Assertion verwenden kann.
- Sobald der SP die SAML-Assertion erhalten hat, validiert er die Signatur mithilfe des öffentlichen Schlüssels, um sicherzustellen, dass die SAML-Assertion tatsächlich von seinem vertrauenswürdigen IdP stammt und dass keiner der Werte in der Assertion geändert wurde. Er extrahiert auch die Identitäts-, Attribut- und Autorisierungsinformationen, die er benötigt, um festzustellen, ob der Zugriff gewährt werden soll und welche Berechtigungen dem Nutzer zustehen.
- Die Nutzer greifen auf die Anwendung oder den Dienst zu.
SAML wird nur für Webanwendungen verwendet
Da es sich um ein XML-Framework handelt, ist SAML äußerst vielseitig. Es bietet die Option, viele verschiedene SSO-Verbindungen mit unterschiedlichen Partnern im Identitätsverbund mit einer einzigen Implementierung zu unterstützen, und wird daher häufig in geschäftlichen und unternehmerischen Bereich eingesetzt.
SAML unterstützt jedoch nur SSO für browserbasierte Anwendungen und Dienste. Das SSO für mobile Anwendungen oder Anwendungen, die über APIs auf Ressourcen zugreifen, wird nicht unterstützt.
Verwandte Ressourcen:
Starten Sie jetzt
Kontaktieren Sie uns
Erfahren Sie, wie Ping Ihnen helfen kann, sichere Erlebnisse für Mitarbeiter, Partner und Kunden in einer sich schnell wandelnden digitalen Welt zu bieten.