Evaluierung Datenfabrik Identity Federation

Überblick

Im folgenden wird beschrieben, wie mehrere OIDC-kompatible IDP als Login-Quelle über einen Identity Broker angebunden werden können. Hintergrund: die Menge der angenommenen Nutzer speist sich oft nicht aus einem einzigen Identity-Provider, sondern kann aus mehreren resultieren. Im Extremfall sind die Nutzer nicht einmal in einem anbindbaren Identity-Provider vorhanden. Nicht gangbar ist der Weg in den Anwendungen selbst mehrere Identity Provider anzubinden, da dies in vielen Fällen einfach nicht vorgesehen ist oder Custom Implementierung bedeuten würde.

Hypothese: sowohl Keycloak SH als auch der Datenfabrik-eigene Keycloak können zum Login für die Anwendungen der Datenfabrik genutzt werden.

OIDC-Ablauf

  1. Authorisierungsanfrage
  2. Der Service Provider (SP) leitet den Benutzer mit einer OIDC-Authorisierungsanfrage zum Identity Broker um.
  3. Auswahl des Identity Providers -Der Identity Broker zeigt dem Benutzer eine Auswahl an möglichen Identity Providern (IdPs).
  4. Authentifizierung
  5. Der Broker leitet den Benutzer zum Authorisierungsendpunkt des gewählten IdP weiter.
  6. Der Benutzer authentifiziert sich beim IdP (z. B. mit Benutzername und Passwort).
  7. Austausch des Authorisierungscodes
  8. Der IdP gibt einen Authorisierungscode an den Broker zurück.
  9. Der Broker tauscht den Code gegen ein ID-Token (und optional ein Access Token) aus.
  10. Übermittlung der Federation-Assertion
  11. Der Broker sendet das ID-Token an den Service Provider.
  12. Der SP validiert das Token (Signatur, Claims) und gewährt Zugriff.

DF Identity Federation - Interaktionsdiagramm

Bewertung

Vorteile

  • Broker kann im Ausnahme-Fall auch die Identity Provider Rolle übernehmen, falls die Nutzer nicht in bereits vorhandenem und anbindbaren IdP existieren
  • erhöhte Flexibilität weitere Identity Provider jederzeit nachträglich anzubinden
  • Gruppen/Rollen angeschlossener IdP können über entsprechende Mapper harmonisiert werden

Nachteile

  • u.U. aufwändige Entwicklung & Maintenance von Mappings zur Normalisierung der User
  • Weitere betriebliche Komponente kommt hinzu und muss aktuell gehalten werden
  • Datenschutz- und -Sicherheitsanspruch erhöht sich (jeder Nutzer wird mit Kern-Daten auch in föderierendem IdP/Broker angelegt)
  • evtl. Schaffung von Parallel-Strukturen zum Projektziel von Keycloak SH
  • falls der Broker auch gleichzeitig als Identity Provider genutzt wird: Prozess für Verwaltung der Nutzerkonten ist notwendig

Entscheidung für den Datenfabrik Pilot

Trotz der oben aufgeführten Nachteile wurde entschieden, dass in der Datenfabrik der Projekt-Keycloak sowohl als Broker (zu Keycloak SH) als auch Identity Provider genutzt wird. Konten im Datenfabrik Projekt-Keycloak sollten dabei nur im Ausnahmefall und wenn kein Weg via Keycloak SH möglich ist, angelegt werden.

DF Identity Federation - Systemkontext

  • Benutzer ist eine externe Person, die auf eine geschützte Anwendung der Datenfabrik zugreifen möchte.
  • Service Provider (SP) als Komponente der Datenfabrik bietet den Dienst an, benötigt aber eine Authentifizierung.
  • Identity Broker vermittelt zwischen SP und einem oder mehreren Identity Providern. Wäre Teil der Datenfabrik.
  • Identity Provider (IdP) authentifiziert den Benutzer und gibt Identitätsinformationen zurück. Eigentlichr Identitätsquelle, kann aber auch wieder ein Broker sein.