SAML 2.0-Authentifizierungs-Handler saml-authentication-handler
AEM umfasst einen SAML-Authentifizierungs-Handler. Dieser Handler unterstützt das SAML 2.0-Authentifizierungsanforderungsprotokoll (Web-SSO-Profil), das die HTTP POST
-Bindung verwendet.
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.
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.
- POST-URL des Identitätsanbieters
- Die Entitäts-ID des Dienstanbieters.
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".
Identitätsanbieter-URL Die URL des IDP, an die die SAML-Authentifizierungsanforderung gesendet werden soll. Wenn diese Eigenschaft nicht angegeben wird, ist der Authentifizierungs-Handler deaktiviert.
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.
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 gespeichertund 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.
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.
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:
-
Wechseln Sie zu http:/Server-Adresse:Serverport/libs/granite/security/content/truststore.html.
-
Klicken Sie auf TrustStore-Link erstellen.
-
Geben Sie das Kennwort für den TrustStore ein und drücken Sie die Speichern.
-
Klicken Sie auf TrustStore verwalten.
-
Laden Sie das IdP-Zertifikat hoch.
-
Notieren Sie sich das Zertifikat Alias. Der Alias lautet admin#1436172864930 im Beispiel unten.
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
com.adobe.granite.keystore.KeyStoreNotInitialisedException: Uninitialised system trust store
- Wechseln Sie zu http://localhost:4502/libs/granite/security/content/useradmin.html.
- Bearbeiten Sie den Benutzer
authentication-service
. - Erstellen Sie einen KeyStore, indem Sie unter Kontoeinstellungen auf KeyStore erstellen klicken.
-
Laden Sie die Datei mit dem privaten Schlüssel hoch, indem Sie auf Datei mit privatem Schlüssel auswählen klicken. Der Schlüssel muss das Format „PKCS#8“ haben und die DER-Verschlüsselung aufweisen.
-
Laden Sie die Zertifikatdatei hoch, indem Sie auf Zertifikatkettendateien auswählen.
-
Weisen Sie wie unten gezeigt einen Alias zu:
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:
-
Wechseln Sie zur Web-Konsole unter http://localhost:4502/system/console/configMgr.
-
Suchen Sie nach dem Eintrag Apache Sling Logging-Logger-Konfiguration und klicken Sie darauf.
-
Erstellen Sie eine Protokollfunktion mit der folgenden Konfiguration:
- Protokollebene: Debuggen
- Protokolldatei: logs/saml.log
- Logger: com.adobe.granite.auth.saml