Keycloak-Berechtigungen

Beim Einsatz von Keycloak ist es teilweise notwendig, für Benutzer im BPC Berechtigungen im Keycloak zu setzen.

Es werden hier nur die Berechtigungen für die rollenbasierte Autorisierung (RBA) angegeben. Es gibt die Möglichkeit, dies auch über Permissions umzusetzen.

Es muss immer nur eine der aufgelisteten Rollen zugeordnet sein. Bei Ausnahmen, bei denen mehrere Rollen nötig sind, werden diese in Klammern gruppiert.

Alternativ zu den genannten Rollen können auch immer die Rollen admin oder realm-admin vergeben werden. Diese sind jedoch sehr mächtig und sollten nur bewusst vergeben werden.

Allgemeine BPC Funktionen

Funktion Rollen Beschreibung

Speichern der Benutzersprache im Keycloak Profil

manage-account

Wird benötigt, um die vom Benutzer gewählte Sprache im BPC ebenfalls als Sprache am Profil des Benutzers im Keycloak zu hinterlegen. Diese Rolle ist beim Anlegen von Realms häufig bereits über default-roles jedem User zugewiesen. Ist am Keycloak Localization aktiviert, werden dadurch alle Keycloakmasken, wie z.B. der Login, entsprechend übersetzt.

Organisationen auflisten

manage-users, view-users, query-groups

Liest die Liste der verfügbaren Organisationen aus. Diese wird genutzt, um in der Oberfläche bei der Zuordnung zu Organisationen eine Auswahl anzubieten. Fehlt die Berechtigung, so muss der User die Organisationen selbst eingeben.

Rollen auflisten

manage-realm, view-realm, query-users, query-groups, query-realms, manage-clients, view-clients

Liest die Liste der verfügbaren Rollen aus. Diese wird genutzt, um in der Oberfläche bei der Zuordnung zu Rollen eine Auswahl anzubieten. Fehlt die Berechtigung, so muss der User die Rollen selbst eingeben. Achtung: Je nachdem, ob es sich um Realm- oder Client-Rollen handelt, sind evtl. mehrere Rollen nötig. Es werden nur die Client-Rollen des im BPC verwendeten Keycloak-Clients aufgelistet.

Rechte auflisten

-

Wird nicht unterstützt.

Integrierte Benutzerverwaltung

In der folgenden Tabelle werden die notwendigen Rollen zusammengefasst.

Zugriffstyp Rollen

Rein lesender Zugriff

query-users UND view-users UND view-clients UND view-realm

Administrative Verwaltung
(Benutzer anlegen/löschen, Berechtigungen setzen)

manage-users UND manage-clients UND manage-realm

Folgende Keycloak-Berechtigungen sind für die einzelnen Funktionen der integrierten Identitätsverwaltung nötig.

Funktion Rollen

Benutzerverwaltung

Benutzer auflisten

manage-users, (query-users UND view-users)

Anzeige Benutzerberechtigungen

(manage-users UND view-clients), (query-users UND view-users UND view-clients)

Benutzer hinzufügen

manage-users

Benutzer bearbeiten und löschen

manage-users

Benutzerorganisationen zuweisen und entfernen

manage-users

Benutzerrollen zuweisen und entfernen

(manage-users UND manage-clients UND manage-realm)

Passwort setzen

manage-users

Benutzer imitieren / impersonieren

(manage-users UND impersonation)

Organisationsverwaltung

Auflisten von Organisationen des Identity Providers

view-users, manage-users

Organisationen erstellen

manage-users

Löschen von Organisationen

manage-users

Rollenzuordnungen anzeigen

view-users, manage-users

Rollenzuordnungen erweitern oder entfernen

(manage-users UND view-realm UND view-client)

Nutzer der Organisation anzeigen

view-users, manage-users

Nutzer zur/aus Organisation hinzufügen oder entfernen

manage-users

Rollenverwaltung

Auflisten von Rollen des Identity Providers

(view-clients UND view-realm)

Rollen erstellen oder löschen

Bei Realm-Rollen: manage-realm

Bei Client-Rollen: manage-clients

Rollenzuordnungen anzeigen

(view-clients UND view-realm)

Rollenzuordnungen erweitern oder entfernen

Die Basisrolle und die zugeordnete Rolle sind Client- und Realm-Rollen: (manage-client UND manage-realm)

Beide Rollen sind Realm-Rollen: manage-realm

Beide Rollen sind Client-Rollen: manage-client

Nutzer anzeigen, die die Rolle besitzen

(view-clients UND view-realm UND view-realm)

Rolle einem Nutzer zuweisen oder entziehen

(manage-users UND manage-client UND manage-realm)

In der Einstellung der Keycloak-Backend-Connection können Sie durch den Parameter identityProvider_keycloak_addRolesToRealm konfigurieren, ob eine neue Rolle als Realm- oder Client Realm- oder Client-Rolle angelegt wird. Abhängig davon, ob die Rolle schon existiert und ob diese als Realm- oder Client-Rolle angelegt wird, sind verschiedene der oben genannten Keycloak-Rollen notwendig. Es können nur Client-Rollen aus dem Keycloak-Client vergeben werden, welcher im BPC verwendet wird.


Keywords: