Deutsch
  • SAML
  • SSO
  • Identity Provider

Vereinfachen Sie die SAML-App-Integration für Entwickler

Erfahren Sie, was SAML ist, wie man SSO implementiert und erhalten Sie schnelle Schritte zur Integration von SAML-Apps als Identity Provider (IdP) oder Service Provider (SP).

Ran
Ran
Product & Design

Verschwenden Sie keine Wochen mit Benutzerauthentifizierung
Bringen Sie sichere Apps schneller mit Logto auf den Markt. Integrieren Sie Benutzerauthentifizierung in Minuten und konzentrieren Sie sich auf Ihr Kernprodukt.
Jetzt starten
Product screenshot

Single Sign-On (SSO) ist entscheidend für moderne Apps, und SAML ermöglicht sichere, benutzerfreundliche Authentifizierung über Unternehmensidentitätssysteme hinweg. Dieser Leitfaden vereinfacht SAML für Entwickler und Designer mit klaren Schritten und praktischen Beispielen, um Ihnen bei der effizienten Implementierung zu helfen.

Was sind SAML SSO und SAML Apps?

Security Assertion Markup Language (SAML) ist ein XML-basierter Standard, der zum Austausch von Authentifizierungs- und Autorisierungsdaten zwischen zwei Hauptakteuren verwendet wird: dem Identity Provider (IdP) und dem Service Provider (SP). Es ist eine häufige Lösung für Single Sign-On (SSO) in Organisationen und erleichtert Unternehmensbenutzern das Leben, indem es ihnen ermöglicht, sich einmal anzumelden und auf mehrere Anwendungen zuzugreifen.

Identity Provider (IdP) ist verantwortlich für die Verwaltung und Überprüfung von Benutzeranmeldeinformationen, wie Benutzernamen und Passwörter. Wenn ein Benutzer versucht, auf einen geschützten Dienst zuzugreifen, bestätigt der IdP seine Identität und sendet diese Bestätigung an den Dienst.

  • Beispiel: Stellen Sie sich vor, Sie arbeiten für ein großes Unternehmen, das Microsoft Azure AD zur Verwaltung von Mitarbeiterkonten verwendet. Wenn Sie sich bei Salesforce anmelden möchten, fungiert Azure AD als IdP. Es überprüft Ihre Anmeldedaten und informiert Salesforce, dass Sie berechtigt sind, es zu nutzen.

Service Provider (SP) ist die Anwendung oder der Dienst, auf den Benutzer tatsächlich zugreifen möchten. Er verlässt sich auf den IdP, um die Authentifizierung zu übernehmen.

  • Beispiel: In unserem obigen Szenario ist Salesforce der SP. Es verlässt sich auf Microsoft Azure AD (den IdP), um Ihre Identität zu bestätigen. Sobald Azure AD für Sie bürgt, lässt Salesforce Sie eintreten.

Wenn von einer „SAML-App“ die Rede ist, meint man in der Regel den SP.

Mit dem SAML-Protokoll können Sie Ihren Dienst als IdP einrichten, um Anwendungsintegrationen (wie Azure AD / Google Workspace) zu unterstützen; oder als SP (wie Salesforce / Slack), um SSO für Benutzer zu unterstützen.

Eine SAML Assertion ist das Herzstück des SAML-Protokolls. Es ist ein digitales „Notiz“, das vom IdP erstellt und an einen SP gesendet wird, das besagt: „Ich habe die Identität dieses Benutzers bestätigt.“ Im Folgenden behandeln wir, wie der Prozess sowohl für IdP als auch SP funktioniert.

Wenn Sie als SAML-Identity-Provider fungieren

Wenn Ihr Dienst als IdP fungiert, ermöglichen Sie SAML-Authentifizierung über mehrere Anwendungen hinweg. Dies ermöglicht es Benutzern, auf verschiedene Dienste über eine einzige Unternehmensidentität zuzugreifen.

as_saml_identity_provider_idp.png

Hier ist ein typischer SAML SSO-Workflow für einen IdP:

  1. Der Benutzer versucht, auf eine Anwendung (SP) zuzugreifen, wie Salesforce.
  2. Die Anwendung leitet den Benutzer zu Ihrem IdP zur Authentifizierung weiter.
  3. Der Benutzer gibt seine Anmeldedaten auf der Anmeldeseite Ihres IdPs ein.
  4. IdP überprüft die Anmeldedaten.
  5. Wenn die Anmeldedaten verifiziert werden, sendet der IdP eine SAML Assertion zurück an den SP.
  6. Der SP verarbeitet die Assertion, bestätigt ihre Gültigkeit und gewährt dem Benutzer Zugriff.

Wenn Sie als SAML-Service-Provider fungieren

Wenn Ihr Dienst der SP ist, integrieren Sie sich mit verschiedenen Identity Providern, um Ihren Benutzern SSO-Fähigkeit zu bieten. Dies ermöglicht Unternehmensbenutzern aus verschiedenen Organisationen oder Mandanten einen sicheren und effizienten Zugriff auf Ihre Anwendung.

as_saml_service_provider_sp.png

Hier ist ein Workflow für SP-initiiertes SSO:

  1. Der Benutzer versucht, sich bei Ihrer Anwendung anzumelden.
  2. Ihre Anwendung generiert eine SAML-Anfrage und leitet den Benutzer zur Anmeldeseite des IdP weiter.
  3. Der Benutzer meldet sich beim IdP an (oder überspringt diesen Schritt, wenn er bereits angemeldet ist).
  4. Der IdP überprüft die Identität des Benutzers und packt, sobald bestätigt, die Benutzerdetails in eine SAML Assertion.
  5. Der IdP sendet die Assertion zurück an Ihre Anwendung.
  6. Ihr Dienst überprüft die Assertion. Wenn sie gültig ist, erhält der Benutzer Zugriff auf Ihre Anwendung.

Schlüsselparameter bei SAML SSO

Für eine erfolgreiche SAML SSO-Integration müssen sowohl IdPs als auch SPs spezifische Parameter teilen. Hier ist ein Blick auf die Essentials:

Parameter vom IdP

  1. IdP-Entity-ID: Eine eindeutige Kennung für den IdP in SAML-Kommunikationen, ähnlich wie ein digitaler Namensschild.
  2. SSO-URL: Der Login-Endpunkt (URL), wohin der SP Benutzer zur Authentifizierung weiterleitet.
  3. X.509-Zertifikat: Ein öffentlicher Schlüssel, der verwendet wird, um die SAML-Assertion zu signieren und ihre Sicherheit zu gewährleisten. Dies ist das „Siegel“, das die Authentizität bestätigt.

Tipp: Wenn Ihr IdP eine SAML-Metadaten-URL bietet, wird es einfacher. Diese URL enthält alle notwendigen Informationen (wie Zertifikate, SSO-URLs und IdP-Entity-ID) an einem Ort. Dies minimiert das Risiko von Fehlern durch manuelles Kopieren und Einfügen und beseitigt den Aufwand des manuellen Aktualisierens von Zertifikatsdateien.

Parameter vom SP

  1. SP-Entity-ID: Die einzigartige Kennung des SP, ähnlich der IdP-Entity-ID.
  2. Assertion Consumer Service (ACS) URL: Dies ist der SP-Endpunkt, an dem der SP erwartet, die SAML Assertion vom IdP zu erhalten.
  3. RelayState (Optional): Wird verwendet, um Daten während des SAML-Prozesses zu übergeben, wie die URL, die der Benutzer ursprünglich besuchen wollte.

SAML-Attributzuordnung und -Verschlüsselung

  1. NameID-Format: Definiert das Benutzerkennungsformat (z.B. E-Mail-Adresse oder Benutzername).
  2. SAML-Attribute: Dies sind zusätzliche Benutzerdetails, wie Rollen, E-Mail oder Abteilung, die der IdP an den SP sendet.
    • Beispiel: Wenn die vom IdP signierte SAML Assertion email ([email protected]), role (admin) und department (engineering) enthält. Der SP kann role verwenden, um Administratorrechte zu vergeben, oder department, um den Benutzer innerhalb des richtigen Teams zu gruppieren. Um diese wesentlichen Benutzerdaten zu erhalten, müssen sowohl IdP als auch SP entscheiden, wie Attribute zugeordnet werden. Zum Beispiel könnte der IdP „department“ als team definieren, während der SP es als gruppe erwartet. Eine korrekte Zuordnung gewährleistet eine reibungslose Kommunikation.
  3. Verschlüsselte Assertions (Optional): Um sensible Authentifizierungsdaten zu schützen, können SAML Assertions verschlüsselt werden.
    • Rolle des IdP: Verschlüsselt die Assertion mit dem öffentlichen Schlüssel des SP.
    • Rolle des SP: Entschlüsselt die Assertion mit seinem privaten Schlüssel, um Benutzerinformationen zu lesen.

Nun sollten Sie die notwendigen Informationen haben, um eine SAML-Verbindung einzurichten. Um Salesforce (Service Provider) mit Azure AD (Identity Provider) zu integrieren, folgen Sie diesen Schritten:

  • Holen Sie sich die IdP-Entity-ID, SSO-URL und das Zertifikat von Azure AD und konfigurieren Sie sie in Salesforce.
  • Stellen Sie die SP-Entity-ID und die ACS-URL von Salesforce Azure AD zur Verfügung.

Logto macht SAML-Integration einfach

Logto kann entweder als IdP oder als SP fungieren, um SAML SSO für Ihre Anwendungen zu unterstützen.

Verwendung von Logto als SAML IdP

Logto ermöglicht es anderen Anwendungen, sich für föderierte Identitätsauthentifizierung darauf zu verlassen und unterstützt Multi-Faktor-Authentifizierung (MFA) für erweiterte Sicherheit.

  1. Erstellen Sie eine Logto-App Gehen Sie zu Logto Console > Anwendungen und erstellen Sie eine neue SAML-App.
  2. Konfigurieren Sie SAML-Parameter Richten Sie die App mit der Assertion Consumer Service URL des Service Providers (SP) und der SP-Entity-ID ein.
  3. Stellen Sie Metadaten-URL zur Verfügung Logto bietet eine IdP-Metadaten-URL, die SPs verwenden können, um automatisch wesentliche Details abzurufen, wie SSO-URLs und Zertifikate.
  4. Erweiterte Konfiguration (Optional)
    • Sie können mehrere neue Zertifikate mit Fingerabdrücken erstellen und Ablaufdaten festlegen, aber nur ein Zertifikat kann gleichzeitig aktiv sein.
    • Ändern Sie das Name ID-Format, um es an Ihre Geschäftsanforderungen anzupassen.
    • Aktivieren Sie SAML-Assertion-Verschlüsselung, indem Sie das x509-Zertifikat von Ihrem Service Provider kopieren und einfügen, um die Assertions zu verschlüsseln.
  5. Attribute zuordnen (Optional) Passen Sie einfach an, wie Benutzerattribute mit Service Providern (SPs) geteilt werden.

logto_saml_apps_saml_providers.png

Für detaillierte Anleitungen besuchen Sie die offizielle Dokumentation hier: SAML-App

Verwendung von Logto als SAML SP

Logto integriert sich auch mit jedem Unternehmens-IdP über SAML- oder OIDC-Protokolle. Ob Sie SP-initiiertes SSO für Ihre einheitlichen Anmeldeseiten aktivieren oder IdP-initiiertes SSO konfigurieren, der Prozess ist einfach.

  1. Erstellen Sie einen Unternehmens-Connector Gehen Sie zu der Logto Console > Unternehmens-SSO und erstellen Sie einen neuen Unternehmens-Connector. Wählen Sie SAML als Protokollstandard.
  2. Konfigurieren Sie SAML-Parameter Stellen Sie entweder die Metadaten-URL oder Metadaten-XML-Datei von Ihrem IdP bereit. Wenn Metadaten nicht verfügbar sind, wechseln Sie zur manuellen Konfiguration, indem Sie die IdP-Entity-ID, SSO-URL eingeben und das Signaturzertifikat hochladen.
  3. Teilen Sie die ACS-URL und die SP-Entity-ID Stellen Sie Ihrem IdP die ACS-URL und SP-Entity-ID von Logto zur Verfügung, um die Integration abzuschließen.
  4. Attribute zuordnen (Optional) Konfigurieren Sie Benutzer-Datenzuordnungen, wie E-Mail-Adressen oder Namen, um sicherzustellen, dass Informationen korrekt zwischen dem IdP und Logto übermittelt werden.
  5. Fügen Sie Unternehmens-E-Mail-Domains hinzu Fügen Sie im „SSO-Erfahrung“-Tab für den Unternehmens-Connector eine oder mehrere E-Mail-Domains hinzu. Dies stellt sicher, dass nur Benutzer mit den angegebenen Domains sich über SSO authentifizieren können.
  6. Aktivieren Sie IdP-initiiertes SSO (Optional) Aktivieren Sie IdP-initiiertes SSO nur, wenn es von Ihren Unternehmenskunden benötigt wird. Diese Funktion ermöglicht es Benutzern, sich direkt vom IdP-Dashboard bei Ihren Anwendungen anzumelden.

logto-enterprise-saml-sso.png

Für detaillierte Anleitungen besuchen Sie die offizielle Dokumentation hier: Enterprise SSO documentation.

Abschließende Gedanken

SAML bietet eine standardisierte, sichere Methode für SSO, die Authentifizierung reibungsloser macht. Logto vereinfacht den Prozess, egal ob Sie es als IdP oder SP einrichten. Mit seiner benutzerfreundlichen Oberfläche und Unterstützung für sowohl Cloud- als auch Open-Source-Versionen nimmt Logto die Komplexitäten aus der SAML-Integration heraus. Durch das Konfigurieren einiger weniger Parameter können Sie Ihre Dienste mit jedem SAML IdP oder SP verbinden und sich auf die Bereitstellung großartiger Benutzererfahrungen konzentrieren.