Beheben von SAML-bezogenen Problemen in AEM

In diesem Artikel wird erläutert, wie Sie Probleme mit SAML (Security Assertion Markup Language) mit AEM beheben können. Sie behandelt u. a. das Problem der Endlosschleife, ein Problem mit ungültigen Assertionen und Maßnahmen zu ihrer Behebung.

Beschreibung description

Umgebung

Experience Manager

Problem/Symptome

Wie können mit Adobe Experience Manager (AEM) zusammenhängende Probleme in Zusammenhang mit der Sicherheits-Assertion-Markup-Sprache (SAML) behoben werden?

Auflösung resolution

Problem mit unendlicher Schleife:

  • Überprüfen, ob ds:signature Teil der SAML-Assertion ist > Andernfalls erfolgt dies am IDP-Ende und aktivieren Sie das Kontrollkästchen für signierte Zusicherung.
  • Überprüfen Sie, ob das nameId-Format in der SAML-Antwort vorliegt. Das Format sollte genau mit dem nameId-Richtlinienformat übereinstimmen, das in der SAML-Konfiguration konfiguriert wurde.
  • Überprüfen Sie in der SAML-Antwort auf SAML-AudienceRestriction, ob der Wert dieses Tags genau mit der Entitäts-ID in der SAML-Konfiguration übereinstimmen sollte.
  • Suchen Sie nach saml2: -Bedingungen (NotBefore & NotOnOrAfter), Server ist nicht mit dem ntp-Server synchronisiert. Verwenden Sie ntpd und erzwingen Sie die Synchronisierung der Sys-Zeit (ntpdate -s pool.ntp.org). Ändern Sie für den Test die Uhrentoleranz auf -1. Dadurch wird die Taktdifferenz ignoriert.
  • Überprüfen Sie, ob für das idp keine Assertion signiert ist. Fragen Sie das idp-Team, ob die Antwort signiert ist und die Assertion gemäß SAML-Spezifikation signiert werden muss.
  • Überprüfen Sie, ob die SAML-Tracker-Ausgabe, ob die Assertion vom IDP verschlüsselt ist. Wenn ja, sollte die Konfiguration des SAML-Authentifizierungs-Handlers das Verschlüsselungs-Kontrollkästchen verwenden

Überprüfen Sie, ob das SAML-Zertifikat das richtige Format aufweist:

  • Rufen Sie die Signatur aus der SAML-Antwort ab und korrigieren Sie das Zertifikat, d. h. drücken Sie nach der 65. Zeile die Eingabetaste usw.
  • Dies kann dann verwendet werden, um in AEM Truststore zu installieren und Zertifikatdetails mit dem IDP abzugleichen.

Verschlüsselung:

  • Führen Sie zunächst immer das SAML-Setup ohne Verschlüsselung durch. Wenn dies geschehen ist, aktivieren Sie die Verschlüsselung. Auf diese Weise lässt sich das Problem einfach beheben

Dispatcher:

  • Stellen Sie sicher, dass die SAML-Anmeldeanfrage im Filterabschnitt zulässig ist. Falls nicht, aktualisieren Sie den /filter -Abschnitt, um POST-Anfragen zu */saml_login zuzulassen.

    /0100 { /type "allow" /method "POST" /url "*/saml_login" }

  • Überprüfen Sie in der Datei "httpd.conf"auf Änderungen am Mod-Header (mod_header) auf Webserverebene. Sie sollte im folgenden Format vorliegen:

    < < < < < < Header bearbeiten immer Set-Cookie (.*) "$1; HTTPOnly; Secure" > > > > >

Ungültige Zusicherung:

1
2
com.adobe.granite.auth.saml.model.Assertion Invalid Assertion: Signature invalid. com.adobe.granite.auth.saml.SamlAuthenticationHandler Private key of SP not provided: Cannot sign Authn request
  • Ein Problem könnte mit dem im TrustStore gespeicherten Zertifikat auftreten. Hier könnte die Lösung darin bestehen, das neue idp_cert zu löschen und erneut hochzuladen und den Anwendungsfall zu überprüfen.
  • Wenn Sie die SAML-Antwort nicht verschlüsseln, können Sie den Fehler "Privater Schlüssel von SP nicht angegeben: Autoren-Anfrage kann nicht signiert werden"ignorieren.

Privaten Schlüssel kann nicht abgerufen werden:

1
2
[ com.adobe.granite.security.user.internal.servlets.KeyStoreManagingServlet,1121, [ javax.servlet.Servlet] ] ServiceEvent REGISTERED saml.log:27.01.2019 14:16:13.642 *ERROR* [ qtp275633701-179] com.adobe.granite.auth.saml.SamlAuthenticationHandler KeyStore uninitialized. Cannot retrieve private key to decrypt assertions.
  • Dieser Fehler bedeutet, dass der IDP die Assertion verschlüsselt hat und es keinen privaten Schlüssel zum Entschlüsseln der Antwort gibt. Wenn Sie die Antwort verschlüsseln möchten, müssen Sie einen gültigen privaten Schlüssel in den AEM-Keystore hochladen.

Informationen, die beim Generieren eines SAML-bezogenen Support-Tickets bereitgestellt werden müssen:

  • SAML-Anfrage
  • SAML-Antwort
  • SAML-Konfiguration
  • DEBUG-Protokolle für SAML (com.adobe.granite.auth.saml)
  • Error.log
  • HAR[ 1] Datei zum Extrahieren von SAML-Anforderung/Antwort

[ 1] Erstellen einer HAR-Datei

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f