Im BPC Core hinterlegte Organisationen/Rollen/Rechte von Benutzern

Manche IdP sind in ihrer Funktion eingeschränkt und bieten z.B. keine Rechte (Karaf) an 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.

Konfigurationsparameter

IdentityProvider_Mappings : In diesem Konfigurationsparameter werden die zugewiesenen Organisationen, Rollen und Rechte von Benutzern hinterlegt, wenn dies vom IdP nicht unterstützt wird. Es ist bei jeder Backend Connection vom Typ identity_provider zu finden.

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

Syntax-Beschreibung

Es handelt sich normalerweise um ein JSON-Objekt mit 3 Basisattributen (organisations, roles, rights). Für diesen Fall gibt es dann zusätzlich noch das Attribut users auf der gleichen Ebene. In diesem werden die Benutzer mit ihren zugewiesenen Organisationen, Rollen und Rechte hinterlegt.

{
    "organisations": {},
    "roles": {},
    "rights": {},
    "users": {
        "NameDesBenutzers1": {
            "assignedOrganisations": [
                "Organisation1"
            ],
            "assignedRoles": [
                "Rolle1",
                "Rolle2"
            ],
            "assignedRights": [
                "Recht1",
                "Recht2",
                "Recht3"
            ]
        },
        "NameDesBenutzers2": {
            "assignedOrganisations": [
                "Organisation2"
            ],
            "assignedRoles": [
                "Rolle10",
                "Rolle11"
            ],
            "assignedRights": [
                "Recht1",
                "Recht2",
                "Recht3"
            ]
        },
        ...
    }
}

Beispiel

Folgendes Beispiel soll die Verwendung anschaulich gestalten.

Als IdP wurde der Karaf (JAAS File) verwendet und dem Benutzer markus wurde - über das BPC Frontend - die Rolle derheld sowie einige Rechte zugewiesen.

{
    "organisations": {
        "_organisations": {
            "values": [
                "Virtimo",
                "Bosch"
            ]
        },
        "DEFAULT": {
            "assignedRoles": [],
            "assignedOrganisations": [],
            "assignedRights": []
        }
    },
    "roles": {
        "_roles": {
            "values": [
                "derheld",
                "manager",
                "viewer"
            ]
        },
        "bpcuser": {
            "assignedRoles": [],
            "assignedRights": [
                "loadModule_blank",
                "loadModule_account",
                "loadModule_dashboard"
            ]
        }
    },
    "rights": {
        "_rights": {
            "values": [
                "loadModule_d1",
                "loadModule_d2",
                "loadModule_d3"
            ]
        }
    },
    "users": {
        "markus": {
            "assignedRoles": [
                "derheld"
            ],
            "assignedRights": [
                "loadModule_d1",
                "loadModule_d2",
                "loadModule_d3",
                "loadModule_dummy",
                "loadModule_monitor"
            ]
        }
    }
}

Keywords: