Netidee Blog Bild
User, Gruppen und Rollen beim Identity Management
Untersuchungen für eine praktikable Verwaltung (13.03.2018)
Förderjahr 2016 / Projekt Call #11 / ProjektID: 1909 / Projekt: fairlogin

Wie lassen sich Benutzer, Gruppen und Rollen transparent für meherere Anwendungen verwalten, die den selben Identity manager beim Single-Sign-On nutzen?

Wir betreuen auf fairapps.net mehrere Applikationen (sogenannte Service Provider) , die von mehreren Organisationen verwendet werden. Aber auch innerhalb der einer Organisation gibt es Applikationen, die nicht von allen Gruppen in einer Organisation verwendet werden sollen bzw. gibt es Gruppen, die auf unterschiedliche Projekte oder Funktionen Zugriff haben.

Die Funktionen bzw. Datenbestände, die zu Berechtigen sind, können von Applikation zu Applikation unterschiedlich sein. Jedoch gibt es organisatorische Gruppierungen, die Applikations-übergreifend sind. Organisatorische Gruppen können einerseits Funktionsträger wie Vorstände oder Aufsichtsräte sein und andererseits können es auch einfach Projektmitglieder sein, die zu bestimmtem Ressourcen Zugriff zu erhalten haben.

Diese organisatorischen Zugehörigkeiten können im Identity Management [IdM] als Gruppen abgebildet werden. Die Ressourcen der Applikationen sollten nach dem Konzept im KeyCloak als Identity Provider als Rollen abgebildet werden. Diese Rollen entsprechen dann Projekte im GitLab, Kanäle im Chat, Räume bei den Video-Konferenzen, Projekte im GroupOffice, Verzeichnisse bzw. Dateien im ownCloud und Subbereiche im DokuWiki.

Im IdM werden dann organisatorische Gruppen bzw. User die entsprechenden Rollen erhalten. SAML2 unterstützt das Rollenkonzept in der Form, dass der IdP beim Authentifizieren die Rollen mit gibt. OpenID Connect kann diese Rollen in sogenannten Additional-Claims abbilden.

So die Theorie, jedoch können kaum Anwendung mit Rollen aus SAML2 noch mit Claims aus OpenID Connect umgehen. Immerhin können bei LDAP Anbindungen manche Anwendungen wie ownCloud und DokuWiki mit Gruppenzugehörigkeiten umgehen. Letztendlich werden Rollen im LDAP auch als Rollen abgebildet. Aber dennoch, wenn das Ziel ist, dass die Berechtigungen im IdM zentral gepflegt werden, müssen diese doch noch in die Anwendungen in der Form exportiert werden wie die Anwendungen es verstehen. Es gibt kaum eine Anwendung, die sich auf die SAML2 Rollen, denn OpenID Connect Claims verlässt. Auch bei einer LDAP Integration lassen da viele Anwendungen Wünsche offen.

Wenn man zusätzlich noch das Ziel verfolgt, dass nicht alle Anwender innerhalb einer Anwendung alle Gruppen, die speziell für andere Anwendungen und deren Rollen angelegt worden sind, sehen, müssten weitere Vorkehrungen getroffen werden. Weder SAML2 noch OpenID Connect scheinen Gruppeninformationen für Anwendungen bereitzustellen. Wir verfolgen dazu einstweilen den Weg mit einer zusätzlichen Read-Only LDAP Anbindung.

Wir versuchen dazu, pro Anwendung eine eigene anwendungsspezifische Wurzelorganisation oder Gruppe anzulegen. Und stellen dann als Wurzel die LDAP Gruppenabfrage bereit. Bisher konnten wir noch keine 100% zufriedenstellende Lösung für alle Anwendungen, die wir auf fairapps.net anbieten, finden, aber wir bleiben dran...

CAPTCHA
Diese Frage dient der Überprüfung, ob Sie ein menschlicher Besucher sind und um automatisierten SPAM zu verhindern.