Die BPC Version 3.5 wird nicht mehr gewartet.

Sollten Sie diese BPC Version nutzen, empfehlen wir Ihnen eine Migration auf eine aktuelle Version. Die Dokumentation zur neusten BPC Version finden Sie hier. Sollten Sie Fragen haben, wenden Sie sich bitte an unseren Support.

Impersonation von Benutzern mit Keycloak

Mit diesem Feature kann sich ein dazu berichtigter Benutzer als ein anderer Benutzer ausgeben. Kann auch User-Hijacking genannt werden.

Verwendung

In der Benutzerübersicht vom BPC steht ein Icon zur Verfügung, das die Impersonation auslöst. Nach Klick auf eines dieser Icons wird man umgehend als dieser Benutzer angemeldet.

Impersonation

Konfiguration

Damit die Impersonation durchgeführt werden kann, müssen im Keycloak und im BPC Anpassungen durchgeführt werden.

Keycloak

Aktivierung des notwendigen Features

Das sogenannte Token Exchange Feature muss beim Start vom Keycloak über Java Opts aktiviert sein (-Dkeycloak.profile.feature.token_exchange=enabled), andernfalls bekommt man beim Versuch, ein User-Hijacking (= Impersonation) durchzuführen, den Fehler "Feature not enabled".

In unserem zur Verfügung gestellten Keycloak Archive ist dies bereits über eine profile.properties-Datei gesetzt.

Rollen

Die Benutzer, welche eine Impersonation durchführen dürfen, müssen die spezielle Rolle impersonation besitzen.

Rolle impersonation

Erkennung von Impersonation ermöglichen

Damit das BPC erkennen kann, dass ein Benutzer einen anderen Benutzer imitiert, muss die Weitergabe dieser Informationen am Client mittels Mapper gesetzt werden. Dafür geht man im Keycloak auf den Client, den das BPC verwendet. Unter Mappers können diese mittels Add Builtin hinzugefügt werden.

Mapper hinzufügen

Es sind folgende Mapper hinzuzufügen:

  • Impersonator Username

  • Impersonator User ID

Wenn diese Mapper gesetzt sind, dann werden in der User Session Informationen abgelegt, wer den aktuellen Benutzer imitiert.

BPC

Durch Klick auf das Icon im BPC wird Keycloak kontaktiert und die Impersonation angefordert. Danach muss das BPC neu geladen werden. Dazu ist es essenziell, dass im BPC die beiden Core Einstellungen Core_BaseURL und Core_ClientPath korrekt gesetzt sind (siehe Core Services. Aus diesen beiden Werten wird die URL erstellt, welche danach vom BPC Frontend verwendet wird, um die Seite neu zu laden.

Das BPC ist beispielsweise unter folgender URL erreichbar: https://bpc.virtimo.net/dev/support/3.4.x/

Dann müssen die beiden Settings auf folgende Werte gesetzt werden:

Einstellung

Wert

Core_BaseURL

Core_ClientPath

/dev/support/3.4.x/

Rollen und Rechte

Der Benutzer, welcher die Impersonation durchführen möchte, muss entweder die Benutzerrolle IDENTITY_MANAGER_ADMIN oder das Recht IDENTITY_MANAGER_USER_IMPERSONATE besitzen.


Keywords: