SAML 2.0-Authentifizierungs-Handler saml-authentication-handler

AEM umfasst einen SAML-Authentifizierungs-Handler. Dieser Handler unterstützt SAML 2.0 Authentication Request Protocol (Web-SSO profile) using HTTP POST Bindung.

Es unterstützt:

  • Signieren und Verschlüsselung von Nachrichten
  • Automatische Erstellung von Benutzern
  • Synchronisieren von Gruppen mit vorhandenen Gruppen in AEM
  • Durch Dienstleister und Identitätsanbieter eingeleitete Authentifizierung

Dieser Handler speichert die verschlüsselte SAML-Antwortnachricht im Benutzerknoten (usernode/samlResponse), um die Kommunikation mit Dienstleistern von Drittanbietern zu erleichtern.

NOTE
Hier finden Sie eine Demonstration zur Integration von AEM und SAML.

Konfigurieren des SAML 2.0-Authentifizierungs-Handlers configuring-the-saml-authentication-handler

Die Web-Konsole bietet Zugriff auf die SAML 2.0-Authentifizierungs-Handler-Konfiguration namens Adobe Granite SAML 2.0 Authentication Handler. Die folgenden Eigenschaften können festgelegt werden.

NOTE
Der SAML 2.0 Authentication Handler ist standardmäßig deaktiviert. Legen Sie mindestens eine der folgenden Eigenschaften fest, um den Handler zu aktivieren:
  • Die POST-URL des Identitätsanbieters bzw. die IDP-URL.
  • Die Entitäts-ID des Dienstanbieters.
NOTE
SAML-Zusicherungen werden signiert und können optional verschlüsselt werden. Damit dies funktioniert, müssen Sie zumindest das öffentliche Zertifikat des Identitätsanbieters im TrustStore angeben. Weitere Informationen finden Sie im Abschnitt Hinzufügen des Identitätsanbieterzertifikats zum TrustStore.

Pfad Repository-Pfad, für den dieser Authentifizierungs-Handler von Sling verwendet werden soll. Wenn dieser leer ist, wird der Authentifizierungs-Handler deaktiviert.

Service-Rangfolge Position in der Rangfolge der OSGi-Framework-Services. Gibt an, mit welcher Priorität dieser Service aufgerufen wird. Dies ist ein ganzzahliger Wert, wobei höhere Werte Vorrang haben.

IDP-Zertifikatalias Das Alias des IDP-Zertifikats im globalen TrustStore. Wenn diese Eigenschaft nicht angegeben wird, ist der Authentifizierungs-Handler deaktiviert. Weitere Informationen zum Einrichten finden Sie im Kapitel "Hinzufügen des IdP-Zertifikats zum AEM TrustStore".

IDP-URL Die URL des IDP, an den die SAML-Authentifizierungsanfrage gesendet werden soll. Wenn diese Eigenschaft nicht angegeben wird, ist der Authentifizierungs-Handler deaktiviert.

CAUTION
Der Hostname des Identitätsanbieters muss der OSGi-Konfiguration Apache Sling Referrer Filter hinzugefügt werden. Weitere Informationen finden Sie im Abschnitt Web-Konsole.

Entitäts-ID des Dienstleisters ID, die diesen Dienstleister eindeutig beim Identitätsanbieter identifiziert. Wenn diese Eigenschaft nicht angegeben wird, ist der Authentifizierungs-Handler deaktiviert.

Standardweiterleitung Der Standardort, an den nach einer erfolgreichen Authentifizierung weitergeleitet wird.

NOTE
Dieser Ort wird nur verwendet, wenn das Cookie request-path nicht festgelegt ist. Wenn Sie eine Seite unterhalb des konfigurierten Pfads ohne gültiges Anmelde-Token anfordern, wird der angeforderte Pfad in einem Cookie gespeichert
und der Browser wird nach erfolgreicher Authentifizierung erneut an diesen Ort weitergeleitet.

Benutzer-ID-Attribut Der Name des Attributs, das die Benutzer-ID enthält, die zur Authentifizierung und Erstellung des Benutzers im CRX-Repository verwendet wird.

NOTE
Die Benutzer-ID wird nicht aus dem Knoten saml:Subject der SAML-Assertion abgerufen, sondern aus diesem saml:Attribute.

Verschlüsselung verwenden Gibt an, ob dieser Authentifizierungs-Handler verschlüsselte SAML-Assertionen erwartet.

CRX-Benutzer automatisch erstellen Gibt an, ob nicht vorhandene Benutzer nach erfolgreicher Authentifizierung automatisch im Repository erstellt werden sollen.

CAUTION
Falls die automatische Erstellung von CRX-Benutzern deaktiviert ist, müssen die Benutzer manuell erstellt werden.

Zu Gruppen hinzufügen Gibt an, ob Benutzer nach erfolgreicher Authentifizierung automatisch zu CRX-Gruppen hinzugefügt werden sollen.

Gruppenmitgliedschaft Der Name des „saml:Attribute“, das eine Liste von CRX-Gruppen enthält, denen dieser Benutzer hinzugefügt werden muss.

Hinzufügen des IdP-Zertifikats zum AEM TrustStore add-the-idp-certificate-to-the-aem-truststore

SAML-Zusicherungen werden signiert und können optional verschlüsselt werden. Damit dies funktioniert, müssen Sie mindestens das öffentliche Zertifikat des IdP im Repository angeben. Gehen Sie dazu folgendermaßen vor:

  1. Wechseln Sie zu http:/Server-Adresse:Serverport/libs/granite/security/content/truststore.html.

  2. Klicken Sie auf TrustStore-Link erstellen.

  3. Geben Sie das Kennwort für den TrustStore ein und drücken Sie die Speichern.

  4. Klicken Sie auf Verwalten von TrustStore.

  5. Laden Sie das IdP-Zertifikat hoch.

  6. Notieren Sie sich das Zertifikat Alias. Der Alias lautet admin#1436172864930 im Beispiel unten.

    chlimage_1-372

Hinzufügen des Schlüssels und der Zertifikatkette des Dienstleisters zum AEM-Schlüsselspeicher add-the-service-provider-key-and-certificate-chain-to-the-aem-keystore

NOTE
Die folgenden Schritte sind obligatorisch. Andernfalls wird die folgende Ausnahme ausgelöst: com.adobe.granite.keystore.KeyStoreNotInitialisedException: Uninitialised system trust store
  1. Wechseln Sie zu http://localhost:4502/libs/granite/security/content/useradmin.html.
  2. Bearbeiten Sie den Benutzer authentication-service.
  3. Erstellen Sie einen KeyStore, indem Sie unter Kontoeinstellungen auf KeyStore erstellen klicken.
NOTE
Die folgenden Schritte sind nur erforderlich, wenn der Handler in der Lage sein muss, Nachrichten zu signieren oder zu verschlüsseln.
  1. Erstellen Sie das Zertifikat/Schlüsselpaar für AEM. Der Befehl zur Erzeugung über OpenSSL sollte dem folgenden Beispiel ähneln:

    openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out certificate.crt -keyout key.pem

  2. Konvertieren Sie den Schlüssel mit DER-Codierung in das PKCS#8-Format. Dies ist das Format, das für den AEM-Keystore erforderlich ist.

    openssl pkcs8 -topk8 -inform PEM -outform DER -in key.pem -out key.der -nocrypt

  3. Laden Sie die Datei mit dem privaten Schlüssel hoch, indem Sie auf Datei mit privatem Schlüssel auswählen klicken.

  4. Hochladen der Zertifikatdatei durch Klicken auf Zertifikatkettendateien auswählen.

  5. Weisen Sie wie unten gezeigt einen Alias zu:

    chlimage_1-373

Konfigurieren eines Loggers für SAML configure-a-logger-for-saml

Sie können einen Logger einrichten, um Probleme zu beheben, die sich aus der falschen Konfiguration von SAML ergeben könnten. Gehen Sie dazu wie folgt vor:

  1. Wechseln Sie zur Web-Konsole unter http://localhost:4502/system/console/configMgr.

  2. Suchen Sie nach und klicken Sie auf den Eintrag namens Apache Sling Logging Logger-Konfiguration

  3. Erstellen Sie einen Logger mit folgender Konfiguration:

    • Protokollebene: Debuggen
    • Protokolldatei: logs/saml.log
    • Logger: com.adobe.granite.auth.saml
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2