Funktionsweise der eIAM Rollen
Nach der erfolgreichen Authentifizierung eines Benutzers werden innerhalb eIAM die Rollen des Benutzers aus dem eIAM-AM (Access Management) der Applikation als Attribute den Authentifizierungstoken zugefügt.Die einzige Ausnahme stellt hier das Onboarding-Pattern «AuthOnly» dar, weil hier die Applikation auf die Nutzung des eIAM-AM verzichtet.
Der eIAM Service bietet ein 2-stufiges Rollenkonzept für das Access Management an. Dabei erfolgt die Administration der Rollen im eIAM-AM.
Es wird zwischen Access-Rollen und Applikationsrollen unterschieden.
Beispiele von Rollen und in einem Authentifizierungstoken an die Applikation sind für das jeweilige Protokoll (SAML oder OIDC) unter eIAM Leistungen 1 – Föderation von Identitäten beschrieben.
Access-Rollen
Diese Rollen steuern, ob ein Benutzer grundsätzlich berechtigt ist, auf die Applikation zuzugreifen. Für jede Applikation gibt es hier zwei mögliche Rollen: Die „Allow-Rolle“ (.ALLOW) und die „Deny-Rolle“ (.DENY).Use Case STS
Beim Fehlen der benötigten Access-Rollen wird eIAM das Feature eIAM-AccessRequest aufgerufen, mit welchem der Benutzer fehlende Berechtigung beantragen kann. Die Beantragung kann per Formular (interaktiv) passieren oder die Allow-Rolle kann von eIAM automatisiert vergeben werden (Silent mode). Unter "Weitere Use Cases" unten sind verschiedene Onboarding-Methoden skizziert. Weitere Informationen zu diesen Methoden finden Sie unter eIAM Leistungen 5 – Onboarding.
WICHTIG: Die Prüfung der Rolle für den Zugriff auf Ressourcen der Applikation (Autorisierung) wird nicht von eIAM übernommen. Es wird lediglich im Rahmen des Access Request eine Rollenprüfung durchgeführt. Wenn eine Rolle vorhanden ist, egal ob Allow oder Deny, wird der Zugriff auf die Applikation nicht durch eIAM blockiert.
Use Case RP-PEP (eIAM-Web PEP)
Ein Grund für das 2-stufige Rollenkonzept liegt darin, dass keine Anpassungen auf dem RP-PEP (eIAM Web PEP) notwendig sind, wenn Applikationsrollen im eIAM-AM hinzugefügt oder gelöscht werden.
Die Access-Rollen werden vom eIAM-Web PEP (RP-PEP) überprüft und durchgesetzt. Grundsätzlich unterscheidet eIAM zwischen der „Allow-Rolle“ (.ALLOW) und der „Deny-Rolle“ (.DENY).
.ALLOW Rolle | .DENY Rolle | Zugriff auf die Applikation |
---|---|---|
❌ | ❌ | Nein, Onboarding nötig |
✅ | ❌ | Ja |
❌ | ✅ | Nein |
✅ | ✅ | Nein |
Besitzt der Benutzer die geforderte Allow-Rolle für den Zugriff auf die Ressource nicht, so wird der Request des Benutzers bereits auf dem eIAM-Web PEP blockiert.
Ebenfalls blockiert wird der Request des Benutzers auf die Ressource, wenn der BVA ihm die „Deny-Rolle“ gesetzt hat. Dies ist auch der Fall, wenn sowohl die Allow- als auch die Deny-Rolle gesetzt sind
Das Fehlen der benötigten Access-Rolle kann über das entsprechende Onboarding-Pattern (eIAM Leistungen 5 – Onboarding) beantragt werden.
Weitere Use Cases
Im Rahmen einer Integration mit dem Pattern des eIAM Leistungen 6 - Delegiertes Management ist ein zweistufiges Rollenkonzept nicht zwingend notwendig, solange die Applikation die Autorisierung anhand der im Token mitgesendeten, feingranularen Rollen übernimmt.
Wird kein eIAM Access Management benötigt, spricht man von einem AuthOnly-Pattern. Hier werden im Token, neben der Identität, keine Rollen von eIAM geliefert.
Namenskonvention grobgranulare Rollen im eIAM
Die Namensgebung für grobgranulare Rollen im eIAM ist standardisiert und setzt sich aus dem Applikationsnamen wie dieser im eIAM-AM geführt wird und dem Qualifier für die Rolle zusammen. Als Trennzeichen wird ein Punkt " . " verwendet.
Grobgranulare Allow Rolle:
<Applikationsname aus eIAM-AM>.ALLOW
Grobgranulare Deny Rolle:
<Applikationsname aus eIAM-AM>.DENY
Applikationsrollen
Feingranulare Rollen eines Benutzers dienen zur Steuerung der Zugriffe auf Webmasken und Daten einer Applikation. Ein Benutzer kann eine oder mehrere feingranulare Rollen für eine Applikation besitzen.Namenskonventionen feingranulare Rollen im eIAM
Die Namensgebung für feingranulare Rollen im eIAM ist standardisiert und setzt sich aus dem Applikationsnamen wie dieser im eIAM-AM geführt wird und dem Qualifier für die Rolle zusammen. Als Trennzeichen wird ein Punkt " . " verwendet.
<Applikationsname aus eIAM-AM>.<Rollenname>