Autorisierung auf Basis der Authentifizierung
Die optionale Autorisierung durch den IdP erfolgt auf Basis der bereits genannten Stärke-Stufen der Authentifizierung, welche pro Applikation definiert werden. Der IdP kann mit diesen Informationen die jeweiligen Zugriffsentscheidungen treffen und gewährt dem Anwender Zugriff auf das Zielsystem, fordert eine stärkere Authentifizierungsstufe oder blockiert den Zugriff.
Identität und Single Sign-On für Applikationen
Sobald die Identität und die Zugriffsrechte des Benutzers festgestellt wurden, kann ein Austausch von dessen Attributen mittels SSO-Protokolls erfolgen. Die Auswahl des Protokolls ist abhängig von den Fähigkeiten der Service Provider (SP). Aktuelle Anwendungen nutzen überwiegend SAML 2.0 oder OIDC für die Authentifizierung und nehmen jeweils den Token dieser Protokolle entgegen.
Die Herausforderung bei diesem Prozess besteht darin, dass jede Anwendung unterschiedliche Attribute für die Authentifizierung verlangt, zum Beispiel E-Mail-Adresse oder UserID usw.
Mit den Informationen aus dem Token kann die Applikation bei Bedarf eine Autorisierung selbst durchführen. Zum Beispiel wird anhand einer Liste von Rollenmitgliedschaften entschieden, welche Zugriffsrechte der Benutzer hat, da der IdP diese Informationen in den Token schreiben kann.
Es muss vorab klar definiert sein, welche Daten in den jeweilige Token geschrieben werden, um dann die einzufügenden Attribute zu konfigurieren. Für SAML 2.0 wird die existierende Assertion im XML-Dateiformat erweitert und für OIDC der JSON Web Token (JWT) angepasst.
IdP für mehr Komfort und besseren Überblick
Die Implementierung eines IdP spiegelt den Grundgedanken wider, die Anwendung separat zu betrachten und über standardisierte Protokolle erreichbar zu machen, um so eine maximale Flexibilität zu erreichen und Software-Produkte austauschbar zu machen.
Vorteile:
- Kein Vendor Lock-in-Effekt
- Access Enforcement kann mit anderen Produkten erfolgen
- Nutzung einer existierenden Identity Plattform
- Einheitlicher Login Prozess aus Benutzersicht
Nachteile:
- Initiale Konfiguration aufwendig
- Der IdP muss gegen Ausfall abgesichert sein