So beheben Sie SAML-bezogene Probleme in AEM

Zielsetzung

Wie können wir SAML-bezogene Probleme mit AEM beheben? Welche Informationen wären zur Fehlerbehebung erforderlich?

Schritte

Problem mit unbegrenzter Schleife:

  • Überprüfen Sie, ob ds:signature Teil der SAML-Zusicherung ist > Wenn nicht, ist dies auf IDP-Seite durchzuführen, und aktivieren Sie das Kontrollkästchen für die signierte Zusicherung
  • Überprüfen Sie, ob das nameId-Format in der SAML-Antwort enthalten ist. Das Format sollte genau mit dem Format der nameId-Richtlinie übereinstimmen, das in der SAML-Konfiguration konfiguriert wurde
  • Überprüfen Sie auf SAML AudienceRestriction in der SAML-Antwort. Der Wert dieses Tags sollte genau mit der Entitäts-ID in der SAML-Konfiguration übereinstimmen
  • Überprüfen Sie auf saml2:conditions(NotBefore & 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 zu Testzwecken die Takttoleranz auf -1. Dadurch wird die Taktdifferenz ignoriert.
  • Überprüfen Sie, ob bei idp die Zusicherung nicht signiert ist. Fragen Sie das IDP-Team, ob die Antwort signiert ist und die Zusicherung gemäß der SAML-Spezifikation signiert werden muss. 
  • Überprüfen Sie, ob der SAML-Tracer ausgegeben wird, wenn die Zusicherung von IDP verschlüsselt ist. Wenn ja, sollte die Konfiguration des SAML-Authentifizierungsprogrammes das Kontrollkästchen Verschlüsselung 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. Drücken Sie nach der 65. Zeile die Eingabetaste und so weiter.
  • Dies kann dann verwendet werden, um im AEM-TrustStore zu installieren und die Zertifikatsdetails mit 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 ist es einfach, das Problem zu beheben.

Dispatcher:

  • Stellen Sie sicher, dass die SAML-Anmeldeanfrage im Abschnitt „Filter“ erlaubt ist, andernfalls aktualisieren Sie den Abschnitt /filter, um POST-Anfragen an */saml_login zu erlauben.

    /0100 { /type "allow" /method "POST" /url "*/saml_login" }
  • Überprüfen Sie auf Änderung in Mod header(mod_header) auf Webserver-Ebene in httpd.conf. Es sollte im untenstehenden Format
    sein <<<<<< Header always edit Set-Cookie (.*) "$1; HTTPOnly; Secure" >>>>>

Ungültige Zusicherung:

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
  • Möglicherweise liegt ein Problem mit dem im TrustStore gespeicherten Zertifikat vor. 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 „Privater Schlüssel von SP nicht angegeben: Fehler Authn-Anfrage kann nicht signiert werden“ ignorieren.

Privater Schlüssel kann nicht abgerufen werden:

[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 IDP die Zusicherung verschlüsselt hat und kein privater Schlüssel zum Entschlüsseln der Antwort vorhanden ist. 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 sollten:

  • 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-Anfrage/-Antwort

[1]https://help.tenderapp.com/kb/troubleshooting-your-tender-site/generating-an-har-file

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie