Im BPC Core hinterlegtes Verzeichnis von Organisationen, Rollen und Rechte

Wenn man als IdP 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 bereit stellen.

Für die JAAS basierten IdP können auf diesem Weg Rechte zur Verfügung gestellt werden.

Konfigurationsparameter

IdentityProvider_Mappings : In diesem Konfigurationsparameter wird das Verzeichnis der Organisationen, Rollen und Rechte hinterlegt. Es ist bei jeder Backend Connection vom Typ identity_provider zu finden.

Dieser Konfigurationsparameter wird auch für folgende Funktionalitäten verwendet:

Syntaxbeschreibung

Es handelt sich um ein JSON-Objekt mit 3 Basisattributen (organisations, roles, rights). Eine Ebene tiefer werden jeweils passend die Attribute _organisations, _roles, _rights hinzugefügt. Darin können dann die Verzeichnisinformationen im JSON-Array-Element values auf die gewünschten Werte gesetzt werden.

{
    "organisations": {
        "_organisations": {
            "values": ["org1","org2"]
        }
    },
    "roles": {
        "_roles": {
            "values": ["rolle1","rolle2","rolle3","rolle4"]
        }
    },
    "rights": {
        "_rights": {
            "values": ["recht1","recht2","recht3"]
        }
    }
}

Beispiel

Folgendes Beispiel soll die Funktionsweise anschaulich gestalten.

Im Frontend sollen folgende Daten zur Auswahl zur Verfügung stehen:

Organisationen

Virtimo, Bosch

Rollen

bpcadmin, bpcuser, manager, viewer

Rechte

loadModule_dashboard, loadModule_account, loadModule_blank, loadModule_monitor

{
    "organisations": {
        "_organisations": {
            "values": ["Virtimo","Bosch"]
        },
        "DEFAULT": {
            "assignedRoles": [],
            "assignedOrganisations": [],
            "assignedRights": []
        }
    },
    "roles": {
        "_roles": {
            "values": ["bpcadmin","bpcuser","manager","viewer"]
        },
        "bpcuser": {
            "assignedRoles": [],
            "assignedRights": [
                "loadModule_blank",
                "loadModule_account",
                "loadModule_dashboard"
            ]
        }
    },
    "rights": {
        "_rights": {
            "values": ["loadModule_dashboard","loadModule_account","loadModule_blank","loadModule_monitor"]
        }
    }
}

Keywords: