Was ist SAML und wie funktioniert es?

Security Assertion Markup Language (SAML) ist ein offener Standard, der es Identitätsanbietern (IdP) ermöglicht, Berechtigungsnachweise an Dienstanbieter (SP) weiterzugeben. Im Fachjargon bedeutet dies, dass Sie sich mit einem Satz von Anmeldedaten bei vielen verschiedenen Websites anmelden können. Es ist viel einfacher, eine Anmeldung pro Benutzer zu verwalten als separate Anmeldungen für E-Mail, CRM-Software (Customer Relationship Management), Active Directory usw.

SAML-Transaktionen verwenden Extensible Markup Language (XML) für die standardisierte Kommunikation zwischen dem Identitätsanbieter und den Dienstanbietern. SAML ist das Bindeglied zwischen der Authentifizierung der Identität eines Benutzers und der Autorisierung zur Nutzung eines Dienstes.

Get the Free Pen Testing Active Directory Environments EBook

„Das hat mir die Augen für die AD-Sicherheit auf eine Weise geöffnet, wie es die Verteidigungsarbeit nie getan hat.“

Das OASIS-Konsortium verabschiedete SAML 2.0 im Jahr 2005. Der Standard hat sich im Vergleich zu 1.1 so stark verändert, dass die Versionen nicht kompatibel sind. Die Einführung von SAML ermöglicht es IT-Abteilungen, Software-as-a-Service-Lösungen (SaaS) zu nutzen und gleichzeitig ein sicheres föderiertes Identitätsmanagementsystem beizubehalten.

SAML ermöglicht Single-Sign On (SSO), ein Begriff, der bedeutet, dass sich Benutzer einmal anmelden können und dieselben Anmeldedaten für die Anmeldung bei anderen Dienstanbietern wiederverwendet werden können.

Wofür wird SAML verwendet?

SAML vereinfacht föderierte Authentifizierungs- und Autorisierungsprozesse für Benutzer, Identitätsanbieter und Dienstanbieter. SAML bietet eine Lösung, die es dem Identitätsanbieter und den Dienstanbietern ermöglicht, getrennt voneinander zu existieren, was die Benutzerverwaltung zentralisiert und den Zugang zu SaaS-Lösungen ermöglicht.

SAML implementiert eine sichere Methode zur Weitergabe von Benutzerauthentifizierungen und -autorisierungen zwischen dem Identitätsanbieter und den Dienstanbietern. Wenn sich ein Benutzer bei einer SAML-fähigen Anwendung anmeldet, fordert der Dienstanbieter eine Autorisierung vom entsprechenden Identitätsanbieter an. Der Identitätsanbieter authentifiziert die Anmeldedaten des Benutzers und sendet dann die Autorisierung für den Benutzer an den Dienstanbieter zurück, und der Benutzer kann nun die Anwendung nutzen.

SAML-Authentifizierung ist der Prozess der Überprüfung der Identität und der Anmeldedaten des Benutzers (Passwort, Zwei-Faktor-Authentifizierung usw.). Die SAML-Autorisierung teilt dem Dienstanbieter mit, welchen Zugriff er dem authentifizierten Benutzer gewähren soll.

Was ist ein SAML-Provider?

Zwei Arten von SAML-Providern
Ein SAML-Provider ist ein System, das einem Benutzer den Zugriff auf einen von ihm benötigten Dienst ermöglicht. Es gibt zwei Haupttypen von SAML-Providern: Service-Provider und Identitäts-Provider.

Ein Service-Provider benötigt die Authentifizierung vom Identitäts-Provider, um dem Benutzer eine Autorisierung zu erteilen.

Ein Identitäts-Provider führt die Authentifizierung durch, 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 Service-Provider.

Microsoft Active Directory oder Azure sind gängige Identitäts-Provider. Salesforce und andere CRM-Lösungen sind in der Regel Service-Provider, da sie für die Benutzerauthentifizierung auf einen Identitätsprovider angewiesen sind.

Was ist eine SAML-Assertion?

Eine SAML-Assertion ist das XML-Dokument, das der Identitätsprovider an den Service-Provider sendet und das die Benutzerautorisierung enthält. Es gibt drei verschiedene Arten von SAML-Assertions – Authentifizierungs-, Attribut- und Autorisierungsentscheidungen.

  • Authentifizierungs-Assertions beweisen die Identifizierung des Benutzers und liefern die Zeit, zu der sich der Benutzer angemeldet hat und welche Authentifizierungsmethode er verwendet hat (z.B., Kerberos, 2-Faktor, etc.)
  • Die Attributionsbehauptung übergibt die SAML-Attribute an den Dienstanbieter – SAML-Attribute sind spezifische Daten, die Informationen über den Benutzer liefern.
  • Eine Autorisierungsentscheidung besagt, ob der Benutzer berechtigt ist, den Dienst zu nutzen, oder ob der Identitätsanbieter seine Anfrage aufgrund eines Passwortfehlers oder fehlender Rechte für den Dienst abgelehnt hat.

Wie funktioniert SAML?

SAML funktioniert, indem es Informationen über Benutzer, Anmeldungen und Attribute zwischen dem Identitätsanbieter und den Dienstanbietern weitergibt. Jeder Benutzer meldet sich einmal bei Single Sign On beim Identitätsanbieter an, und dann kann der Identitätsanbieter SAML-Attribute an den Dienstanbieter weitergeben, wenn der Benutzer versucht, auf diese Dienste zuzugreifen. Der Dienstanbieter fordert die Autorisierung und Authentifizierung vom Identifizierungsanbieter an. Da beide Systeme die gleiche Sprache – SAML – sprechen, muss sich der Benutzer nur einmal anmelden.

Jeder Identitätsanbieter und jeder Dienstanbieter muss sich auf die Konfiguration für SAML einigen. Beide Seiten müssen über die exakte Konfiguration verfügen, damit die SAML-Authentifizierung funktioniert.

SAML-Beispielschritte

SAML-Beispiel

  1. Frodo (Benutzer) meldet sich gleich morgens bei SSO an.
  2. Frodo versucht dann, die Webseite zu seinem CRM zu öffnen.
  3. Das CRM – der Dienstanbieter – prüft Frodos Anmeldeinformationen mit dem Identitätsanbieter.
  4. Der Identitätsanbieter sendet Autorisierungs- und Authentifizierungsnachrichten zurück an den Dienstanbieter, wodurch Frodo sich beim CRM anmelden kann.
  5. Frodo kann das CRM nutzen und seine Arbeit erledigen.
    „Benötige 8 Freiwillige für ein schwieriges Projekt…“

SAML vs. OAuth

OAuth ist ein etwas neuerer Standard, der von Google und Twitter gemeinsam entwickelt wurde, um die Anmeldung im Internet zu vereinfachen. OAuth verwendet eine ähnliche Methodik wie SAML, um Anmeldeinformationen auszutauschen. SAML bietet Unternehmen mehr Kontrolle, um ihre SSO-Anmeldungen sicherer zu machen, während OAuth besser für mobile Geräte geeignet ist und JSON verwendet.

Facebook und Google sind zwei OAuth-Anbieter, die Sie möglicherweise für die Anmeldung bei anderen Internetseiten verwenden.

SAML Tutorials

Ein paar Ressourcen, um genau zu recherchieren, wie man SAML implementiert:

  • SAML für Salesforce konfigurieren
  • OKTA als SAML IDP konfigurieren
  • OneLogin hat Beispiele in 5 verschiedenen Programmiersprachen

SAML und SSO sind wichtig für jede Unternehmens-Cybersicherheitsstrategie. Best Practices für das Identitätsmanagement verlangen, dass die Benutzerkonten auf die Ressourcen beschränkt sind, die der Benutzer für seine Arbeit benötigt, und dass sie zentral geprüft und verwaltet werden. Mit einer SSO-Lösung können Sie Konten von einem System aus deaktivieren und den Zugriff auf alle verfügbaren Ressourcen auf einmal aufheben, was Ihre Daten vor Diebstahl schützt.