Fehlerbehebung bei SAML-bezogenen Problemen in AEM

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

Beschreibung description

Umgebung

Experience Manager

Problem/Symptome

Wie können Probleme mit der Security Assertion Markup Language (SAML) in Adobe Experience Manager (AEM) behoben werden?

Auflösung resolution

Problem mit unendlicher Schleife:

  • Überprüfen, ob ds:signature Teil der SAML-Assertion ist > Ist dies nicht der Fall, erfolgt dies auf der IDP-Seite. Aktivieren Sie das Kontrollkästchen für Signed Assertion.
  • Auf das nameId-Format in der SAML-Antwort prüfen. Das Format sollte genau mit dem in der SAML-Konfiguration konfigurierten nameId-Richtlinienformat übereinstimmen.
  • Auf SAML AudienceRestriction in der SAML-Antwort prüfen. Der Wert dieses Tags sollte genau mit der Entitäts-ID in der SAML-Konfiguration übereinstimmen.
  • Auf saml2:-Bedingungen prüfen (NotBefore und NotOnOrAfter), Server ist nicht mit NTP-Server synchronisiert. Verwenden Sie ntpd und erzwingen Sie die Synchronisierung der Systemzeit (ntpdate -s pool.ntp.org). Ändern Sie für den Test die Uhrentoleranz auf -1, wobei die Uhrzeitdifferenz ignoriert wird.
  • Überprüfen, ob der Identitätsnachweis nicht signiert wurde. Bitten Sie das IDP-Team, dass die Antwort signiert ist und die Bestätigung gemäß SAML-Spezifikation signiert werden muss.
  • Prüft, ob die SAML-Tracer-Ausgabe verschlüsselt ist. Wenn ja, sollte die SAML-Authentifizierungs-Handler-Konfiguration das Verschlüsselungs-Kontrollkästchen verwenden.

Überprüfen, 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 die Installation im AEM TrustStore durchzuführen und Zertifikatdetails mit dem IDP abzugleichen.

Verschlüsselung:

  • Schließen Sie zunächst immer die SAML-Einrichtung ohne Verschlüsselung ab. Aktivieren Sie dann die Verschlüsselung. Auf diese Weise können Sie das Problem einfach debuggen

Dispatcher:

  • Stellen Sie sicher, dass SAML-Anmeldeanfragen im Filterabschnitt zulässig sind. Wenn nicht, aktualisieren Sie den Abschnitt /filter, um POST-Anfragen an */saml_login zuzulassen.

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

  • Prüfen Sie, ob Änderungen im Mod-Header (mod_header) auf Webserver-Ebene in httpd.conf.It sollte im folgenden Format vorliegen

    < < < < < Kopfzeile < Bearbeiten Sie immer das Set-Cookie (.*) "$1; HTTPOnly; Secure“ > > > > >

Ungültige Assertion:

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
  • Problem kann mit Zertifikat auftreten, das im TrustStore gespeichert ist. Die Lösung hier könnte 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 des SPA nicht angegeben: Autorisierungsanfrage kann nicht signiert werden“ ignorieren.

Privater 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 Auslösen eines SAML-bezogenen Support-Tickets bereitzustellen sind:

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

[ 1] Erstellen einer HAR-Datei

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