Identity Provider anlegen, konfigurieren und verwenden

Das BPC setzt die Anbindung eines externen Identity Providers (IdP) voraus. Für die Konfiguration des externen IdPs bietet das BPC im Administrationsbereich entsprechende Einstellungen an. Dazu wird im BPC unter den Backend Connections ein Identity Provider angelegt und dieser anschließend in den Core Services Einstellungen als zu verwendender Identity Provider festgelegt.

Beim Start des BPC wird eine Identity Provider Backend Connection für den lokalen Karaf mit der ID idp_karaf und dem Namen Karaf (default) angelegt. Diese wird auch gleich als aktiver Identity Provider verwendet.

Es wird empfohlen Keycloak[1] als Identity Provider einzusetzen. Keycloak ist Open Source und implementiert Standards wie OpenID Connect und SAML. Mit diesem lassen sich auch sehr komplexe Szenarien abbilden.

Identity Provider anlegen und konfigurieren

Allgemein werden Identity Provider über Backend Connections konfiguriert.

Allgemeine Identity Provider Konfiguration

Folgende Konfigurationsparameter sind an der Backend Connections vom Typ identity_provider zu finden.

Einstellung der Gruppe AdditionalInfo sind unter User Session um zusätzliche Organisationen/Rollen/Rechte ergänzen beschrieben.

Setting (Key) Gruppe Typ Beschreibung

IdentityProvider
(identityProvider)

Config

text/ combobox

Identity Provider Service.
Werte: INUBIT, Datenbank (JDBC), Karaf, Keycloak, OpenID Connect (OIDC)

Default: Karaf

IdentityProvider_URL
(identityProvider.url)

Config

text

Die URL, unter welcher der Identity Provider erreichbar ist

IdentityProvider_Configuration
(identityProvider_configuration)

Config

json

Configuration Object für Identity Provider
Relevant für Keycloak und OIDC

IdentityProvider_Mappings
(identityProvider_mappings)

Config

json

Mapping der Rolle zwischen BPC und Identity Provider.
Siehe Mapping von Organisationen, Rollen und Rechten

IdentityProvider_SelfServiceURL
(identityProvider_ussUrl)

Config

text

Die URL, unter welcher der Self Service Dienst erreichbar ist

IdentityProvider_PasswordValidationRegExp
(identityProvider_pwdValidationRegExp)

Config

text

Regular Expression(siehe Java Dokumentation) zur Validierung von Passwörtern. Zum Beispiel muss bei .{8,} das Passwort mindestens 8 Zeichen lang sein.

Komplexes Beispiel bestehend aus mehreren Teilen: (?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\S+$).{8,}

  • (?=.*[0-9]) - Mindestens eine Zahl

  • (?=.*[a-z]) - Mindestens ein kleiner Buchstabe

  • (?=.*[A-Z]) - Mindestens ein großer Buchstabe

  • (?=.*[@#$%^&+=]) - Mindestens ein Sonderzeichen

  • (?=\S+$) - Keine Leerzeichen (Whitespace)

  • .{8,} - Mindestens 8 Zeichen insgesamt

IdentityProvider_ChangeOrganisationEnabled
(identityProvider_ussChangeOrganisationEnabled)

Frontend

bool

Ermöglicht das De-/Aktivieren der Änderung von Organisation in Oberfläche.
Default: false

IdentityProvider_ChangePasswordEnabled
(identityProvider_ussChangePasswordEnabled)

Frontend

bool

Ermöglicht das De-/Aktivieren der Änderung von Password in Oberfläche.
Default: false

Spezifische Identity Provider Konfiguration

Spezifische Informationen wie man die unterstützten Identity Provider konfiguriert:

Neben den spezifischen Konfigurationen gibt es noch welche, die bei jedem Identity Provider konfiguriert bzw. verwendet werden können:

Identity Provider verwenden

Einer der oben angelegten Identity Provider kann nun in den Core Services → Einstellungen als der zu verwendende (Aktive) IdP festgelegt werden. Falls es danach nicht möglich sein sollte sich mit diesem IdP anzumelden, finden Sie eine Lösung unter Forcieren des lokalen IdP als Fallback

Setting (Key) Gruppe Typ Beschreibung

IdentityProvider_BackendConnection
(identityProviderBackendConnection)

identityProvider

text/combobox

Auswahl/Festlegung der zu verwendeten Identity Provider Backend Connection.

idp select active

Auf „Speichern“ klicken!
Anschließend werden Sie abgemeldet und müssen sich erneut Anmelden. Dabei wird der neue Identity Provider berücksichtigt.


1. Keycloak ist ein Warenzeichen von The Linux Foundation.

Keywords: