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.
Im nächsten Fenster sind eine Reihe von Einstellungen anzugeben.
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.
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
.
Im nächsten Fenster sind eine Reihe von Einstellungen anzugeben.
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.
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*))