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:
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:
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