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.

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

loadModule_MODULEID

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.
MODULEID entspricht der technischen ID des Modules, z.B. loadModule_monitor für das Monitor-Modul.

NOTE: Die Modul-ID wird im Adminbereich als Tooltip an den entsprechenden Tabs angezeigt.

useModuleInstance_MODULEINSTANCEID

Core

Dieses Recht wird ausgewertet, wenn im Modul der Zugriff auf Instanzen eingeschränkt wurde (siehe Module_RestrictInstanceAccess in Konfiguration). Ist der Zugriff eingeschränkt, muss der Benutzer zusätzlich zum Recht loadModule_MODULEID das Recht auf die jeweilige Instanz haben, damit die Instanz erzeugt wird.
MODULEINSTANCEID steht hier als Platzhalter für die konkrete ID der Instanz.

createModuleInstances_MODULEID

Core

Mit diesem Recht wird gesteuert, ob der Benutzer Instanzen von einem Modul anlegen kann.
MODULEID entspricht der technischen ID des Modules, z.B. createModuleInstances_monitor für das Monitor-Modul.

deleteModuleInstances_MODULEID

Core

Mit diesem Recht wird gesteuert, ob der Benutzer Instanzen von einem Modul löschen kann.
MODULEID entspricht der technischen ID des Modules, z.B. deleteModuleInstances_monitor für das Monitor-Modul.

showBpcConfiguration

Core

Erlaubt die Anzeige der Einstellungen.

bpcDashboard_editDashboard

Dashboard

Erlaubt das Ändern von Dashboard und deren Widgets.

bpcMonitor_editMonitorViews

Monitor

Erlaubt das Anlegen und Ändern von Monitor-Ansichten.

bpcMonitor_changeProcessState

Monitor

Erlaubt die Verwendung der Funktion "Status ändern".

bpcMonitor_startProcess

Monitor

Erlaubt die Verwendung der Funktion "Prozessstarter" (keine Standardfunktion).

bpcMonitor_processAction

Monitor

Erlaubt die Verwendung der Funktion "Prozessaktionen".

loginDuringMaintenanceMode

Core

Berechtigt den Anwender, sich anzumelden, während das System sich im Wartungsmodus befindet.

getSessionStatus

Core

Verwendung von Core Widgets und entsprechendem Endpunkt.

Standardrollen im BPC

Name Betroffene Module Beschreibung

bpcAdmin

Core

Benutzer, die diese Rolle zugewiesen bekommen, haben Administrator-Rechte.

bpcUser

Core

Diese Rolle bekommt jeder User zugewiesen, der sich erfolgreich gegen den Identity Provider authentifizieren konnte.

bpcNoFrontend

Core

Benutzer, die diese Rolle zugewiesen bekommen, können sich nicht am BPC anmelden.


Keywords: