Identity Provider
Das BPC verwendet externe Identity Provider. Die Authentifizierung und Autorisierung geschieht immer gegen diesen.
Folgende Systeme werden aktuell unterstützt:
-
Keycloak
-
INUBIT
-
Liferay (via INUBIT)
-
JAAS File
-
JAAS DB
-
JAAS LDAP
Organisationen, Rollen und Rechte im BPC
Organisationen, Rollen und Rechte ruft das BPC aus dem Identity Provider ab und erlaubt zusätzlich, diese im BPC Setting IdentityProvider_Mappings durch Zuordnungen zwischen Organisationen, Rollen und Rechten zu ergänzen.
Organisationen
Angebundene Identity Provider ermöglichen unterschiedliche Varianten von Mandanten-, Organisations- oder Gruppen-Informationen für einen User. Diese werden im BPC-Core auf die interne Rechtestruktur gemappt und als Organisationen für die Module und Funktionen bereitgestellt. Die Organisationen bilden auch die Basis für den Mandanten-/Organisationswechsel.
Rollen
Welche Rollen der Benutzer hat, entscheidet der externe Identity Provider (Ausnahme: Rolle bpcuser
, siehe Standardrollen im BPC).
Diese Information steht im Backend im UserSession-Objekt zur Verfügung.
Im Frontend gibt es ein analoges Objekt, welches über die API BPC.Api.getUserSession
eingeholt werden kann.
Es kann auch binär gefragt werden, ob ein Benutzer eine Rolle hat (BPC.Api.hasUserRole
).
Das BPC kennt und wertet die beiden speziellen Rollen bpcadmin und bpcuser aus.Dabei stellt bpcadmin eine Rolle dar, die automatisch alle Rechte hat.
Die Rolle bpcuser wird automatisch jedem angemeldeten Benutzer in seinem UserSession-Objekt hinterlegt.
|
Rechte
Die Rechte eines Benutzers werden ebenfalls durch den Identity Provider definiert.
Analog zu den Rollen und Organisationen werden diese dem Benutzer direkt zugewiesen oder implizit über die Zuordnung zu einer Rolle oder Organisation des Benutzers vergeben.
Im Frontend kann man über BPC.Api.hasUserRight
einfach abfragen, ob ein Recht vorhanden ist.
Vergabe zusätzlicher Rollen und Rechte durch den BPC Core
Das BPC bietet die Möglichkeit, ergänzend zu den Rechteobjekten des externen IdP einem Benutzer zusätzliche Rollen und Rechte zu vergeben. Dies erfolgt über Zuordnung (Mapping) zu vorhandenen Organisationen, Rollen und Rechten. Es kann vor allem für die Vergabe von BPC-internen Applikationsrechten eingesetzt werden.
Im BPC Core hinterlegtes Verzeichnis der verfügbaren Organisationen/Rollen/Rechte, wenn der IdP dies nicht unterstützt
Wenn man als Identity Provider einen OIDC Provider wie Microsoft Azure AD, AWS Cognito oder Keycloak (ohne Admin Client Anbindung) verwendet, dann steht im BPC-Frontend kein Verzeichnis über Rollen, Rechte und Organisationen bereit. In dem Fall kann man diese über das IdP Mapping der jeweiligen IdP Backend Connection bereitstellen.
Für die JAAS basierten Identity Provider können auf diesem Weg Rechte zur Verfügung gestellt werden.
Im BPC Core hinterlegte Organisationen/Rollen/Rechte von Benutzern, wenn der IdP dies nicht unterstützt
Manche IdP sind in ihrer Funktion eingeschränkt und bieten z.B. keine Rechte an (Karaf) oder man kann keine neuen Rollen/Rechte hinzufügen (INUBIT). In diesem Fall hinterlegt der BPC Core diese Zuordnungen im IdP Mapping der jeweiligen IdP Backend Connection.
Standardrechte im BPC
Name | Betroffene Module | Beschreibung |
---|---|---|
|
Core |
Mit diesem Recht wird gesteuert, ob der Client den Frontend-Teil beim Starten der Anwendung lädt oder nicht.
Ist das Recht nicht gesetzt, so wird es nicht geladen. NOTE: Die Modul-ID wird im Adminbereich als Tooltip an den entsprechenden Tabs angezeigt. |
|
Core |
Dieses Recht wird ausgewertet, wenn im Modul der Zugriff auf Instanzen eingeschränkt wurde (siehe |
|
Core |
Mit diesem Recht wird gesteuert, ob der Benutzer Instanzen von einem Modul anlegen kann. |
|
Core |
Mit diesem Recht wird gesteuert, ob der Benutzer Instanzen von einem Modul löschen kann. |
|
Core |
Erlaubt die Anzeige der Einstellungen. |
|
Dashboard |
Erlaubt das Ändern von Dashboard und deren Widgets. |
|
Monitor |
Erlaubt das Anlegen und Ändern von Monitor-Ansichten. |
|
Monitor |
Erlaubt die Verwendung der Funktion "Status ändern". |
|
Monitor |
Erlaubt die Verwendung der Funktion "Prozessstarter" (keine Standardfunktion). |
|
Monitor |
Erlaubt die Verwendung der Funktion "Prozessaktionen". |
|
Core |
Berechtigt den Anwender, sich anzumelden, während das System sich im Wartungsmodus befindet. |
|
Core |
Verwendung von Core Widgets und entsprechendem Endpunkt. |
Standardrollen im BPC
Name | Betroffene Module | Beschreibung |
---|---|---|
|
Core |
Benutzer, die diese Rolle zugewiesen bekommen, haben Administrator-Rechte. |
|
Core |
Diese Rolle bekommt jeder User zugewiesen, der sich erfolgreich gegen den Identity Provider authentifizieren konnte. |
|
Core |
Benutzer, die diese Rolle zugewiesen bekommen, können sich nicht am BPC anmelden. |