LDAP Anbindung an Keycloak

Nutzer & Gruppen, die in LDAP gespeichert sind, können in Keycloak importiert und genutzt werden. Der Verzeichnisdienst Active Directory (AD) von Microsoft beruht auf LDAP.

Nach der Einrichtung können Nutzer die ihnen bekannten Zugangsdaten nutzen, um sich über Keycloak an der B2B-UI anzumelden.

Das Importieren der zugehörigen Gruppen ist ebenfalls vorteilhaft: In Keycloak können Sie Rollen & (Mandanten-)Attribute den importierten Gruppen zuweisen. Dann müssen Sie diese nicht jedem User einzeln zuweisen. Alternativ können Sie Rollen auch direkt den importierten Usern in Keycloak zuweisen.

LDAP Anbindung

Öffnen Sie die Keycloak-Admin-Oberfläche. Achten Sie darauf, dass Sie sich im richtigen Realm befinden.

User Federation Provider

Legen Sie ihr LDAP als User Federation Provider an. Hierzu:

Öffnen Sie das Menü User Federation und wählen Sie als Provider ldap aus.

User Federation LDAP

Im nächsten Fenster sind eine Reihe von Einstellungen anzugeben.

User Federation Provider Settings

Die Einträge, die im Folgenden nicht explizit dokumentiert werden, können üblicherweise in den Defaulteinstellungen verbleiben.

Console Display Name: Vergeben Sie einen sprechenden Namen für die LDAP-Anbindung.

Import Users: wir wollen die User aus LDAP nach Keycloak importieren. Sie können danach in Keycloak inspiziert werden.

Edit Mode: Dem hier beschriebenen Verfahren genügt der READ_ONLY Zugriff. Innerhalb Keycloak können die LDAP User also nicht verändert werden.

Vendor: Hier ist Active Directory anzugeben, wenn Sie ein solches verwenden. Diese Eingabe kann später nicht mehr geändert werden.

Connection URL: Geben Sie hier bitte die Adresse Ihres LDAP Servers an.

Users DN: Hier ist das Verzeichnis anzugeben, in dem die User gespeichert werden.

Search Scope: In unserem Testsystem ergibt es Sinn, hier den ganzen Unterbaum auszuwählen.

Bind DN & Bind Credentials: Geben Sie hier einen geeigneten LDAP Account zum Zugriff auf das LDAP an.

Wenn Sie die Eingabe abgeschlossen haben, klicken Sie auf Save.

Bevor Sie die User über die Schaltfläche Synchronisieren, sollten Sie noch einen Mapper für die Gruppen einrichten (nächster Abschnitt). Später können die importierten User über die entsprechende Schaltfläche übrigens auch leicht wieder aus Keycloak gelöscht werden.

User Synchronization

Die importierten User stehen nun in der Liste der Keycloak-User zur Verfügung. Sie können in Keycloak den Usern weitere Rollen & Gruppen zuweisen. Attribute können nicht direkt zugewiesen werden. Sie können allerdings die Attribute den passenden Gruppen zuweisen.

Gruppen Mapper

Wählen Sie den Reiter Mapper und klicken Sie auf Create.

Group Mapper

Im nächsten Fenster sind eine Reihe von Einstellungen anzugeben.

Group Mapper Settings

Die Einträge, die im Folgenden nicht explizit dokumentiert werden, können üblicherweise in den Defaulteinstellungen verbleiben.

Name: Vergeben Sie einen sprechenden Namen für die Anbindung der LDAP-Gruppen. Diese Eingabe kann später nicht mehr geändert werden.

Mapper Type: Hier ist group-ldap-mapper auszuwählen. Diese Eingabe kann später nicht mehr geändert werden.

LDAP Groups DN: Hier ist das Verzeichnis anzugeben, in dem die Gruppen gespeichert werden.

Wenn Sie die Eingabe abgeschlossen haben, klicken Sie auf Save.

Über die entsprechende Schaltfläche können Sie die Gruppen nun aus dem LDAP ins Keycloak kopieren. Danach sollten die User synchronisiert werden.

Group Synchronization

Die importierten Gruppen werden nun in der Keycloak Gruppenübersicht angezeigt. Dort können Sie den Gruppen Rollen & Attribute zuweisen.

Tips

User Filter

Bei der Konfiguration des User Federation Provider kann es hilfreich sein, einen Custom User LDAP Filter anzugeben, um die Menge der importierten User einzugrenzen. Mit dem folgenden Filter z.B. werden nur User mit einer der passenden beiden Gruppen B2B-ADMIN & B2B-USER importiert:

(|(memberOf=CN=B2B-ADMIN,OU=GROUPS,OU=NLE,DC=cologne,DC=de)(memberOf=CN=B2B-USER,OU=GROUPS,OU=NLE,DC=cologne,DC=de))

Gruppen Filter

Bei der Konfiguration des Gruppen Mappers kann es hilfreich sein, einen LDAP Filter anzugeben, um die Menge der importierten Gruppen einzugrenzen. Mit dem folgenden Filter z.B. werden nur Gruppen importiert, die mit dem Prefix B2B beginnen:

(&(cn=B2B*))
View Me   Edit Me