Die Anbindung neuer Software in vorhandene Umgebungen oder die Migration zu einem neuen IAM ist meistens ein längeres Projekt. Für Nubus stehen hier jetzt neue, leichtgewichtige Möglichkeiten für die Anbindung an vorhandene Identity Provider und Verzeichnisdienste zur Verfügung.
Inhaltsverzeichnis
Die Ausgangslage: Bestehende Identitäten & neue Projekte
Organisationen beginnen IT Projekte selten auf der “grünen Wiese”, sondern haben meistens bestehende Systeme für die Verwaltung und Speicherung von Identitäten sowie zur Authentifikation. Wird eine neue Software eingeführt, wird sie an diese Systeme angebunden, um Nutzerkonten nicht an einer weiteren Stelle verwalten zu müssen und um Nutzenden einen Zugang per Single Sign-on oder über ihre gewohnten Zugangsdaten zu ermöglichen.
Das Univention IAM Nubus wird in diesen Umgebungen meist aus einem dieser zwei Gründe eingeführt:
- Als Identity Broker zur Einführung neuer, modularer Softwarelösungen: Nubus vereinheitlicht die Art und Weise der Speicherung von Nutzerdaten und die Authentifikation von Nutzer*innen gegenüber den Anwendungen und technischen Modulen neu einzuführender Software. Damit entlastet Nubus die oft weniger flexiblen bereits vorhandenen Identitätsprovider. Mehr Informationen zu diesem Szenario finden sich auch in unserem IAM Whitepaper.
- Zum Aufbau eines führenden Identitätsspeichers als Alternative zu einem proprietären, geschlossenen Bestandssystems, zum Beispiel zur strategischen Ablösung eines auf Microsoft Active Directory basierenden Verzeichnisdienstes..
In beiden Fällen wird Nubus an die vorhandenen Identitätsverwaltungen und Authentifikationsverfahren angebunden. Auch wenn das Ziel eine komplette Ablösung des Bestandssystems ist, ist es notwendig, die Migration schrittweise durchzuführen. Deshalb muss in der Regel über einen längeren Zeitraum ein Abgleich von Identitätsinformationen zwischen Bestandssystem und Nubus sichergestellt werden.
Die technische Basis: Single Sign-on und „Ad Hoc Provisioning“
Für einen einfachen Zugriff der Nutzenden auf Nubus selbst und auf die an Nubus angebundenen Anwendungen ist ein Single Sign-on mit dem Bestandssystem ideal. Gleichzeitig handelt es sich dabei um eine einfach zu konfigurierende Anbindung, da nur Nubus als sogenannter „Service Provider“ gegenüber dem Bestandssystem konfiguriert werden muss. Dafür sind keine besonderen Berechtigungen im Bestandssystem notwendig, sondern es reicht die Konfiguration zwischen Nubus und dem Identity Provider des Bestandssystems (z.B. Active Directory Federation Services) auf Basis der Protokolle OpenID Connect oder SAML.
Neu in Nubus ist dabei die Möglichkeit des „Ad Hoc Provisionings“, bei dem Nutzerkonten „ad hoc“ direkt bei einem erfolgreichen Single Sign-on in Nubus angelegt bzw. aktualisiert werden. Dazu werden die vom Bestandssystem zur Verfügung gestellten Informationen genutzt, um einen vollständigen Nutzeraccount in Nubus zu pflegen. Die Nutzer können so direkt mit allen an Nubus angebundenen Anwendungen arbeiten. Ein manuelles Anlegen durch einen Administrierenden oder das Einrichten eines Connectors zwischen der jeweiligen Anwendung und dem IAM ist nicht notwendig.
Die so angelegten Nutzerkonten können innerhalb von Nubus um weitere Informationen angereichert werden. Ein Anwendungsfall wäre zum Beispiel, E-Mail Adressen für die jeweiligen Nutzer*innen zu vergeben, mit denen diese einen an Nubus angebundenen Mailstack nutzen können.
Single Sign-on mit Ad Hoc Provisioning ist ideal für die schnelle Anbindung in Umgebungen mit kleineren bis mittleren Nutzerzahlen oder Pilotierungen und Vorprojekten. Diese Herangehensweise punktet durch die schnelle Konfiguration und die geringen Anforderungen an die Bestandsumgebung. Dieser Prozess hat aber auch klare Einschränkungen, die zu beachten sind. Die wichtigsten sind:
- In Nubus sind nur Benutzer bekannt, die sich in der Vergangenheit über das konfigurierte Single Sign-on angemeldet haben. Gerade wenn über Nubus kollaborative Anwendungen genutzt werden sollen ist es problematisch, wenn Teammitglieder fehlen, weil sie sich noch nie angemeldet haben.
- Die Datenübertragung auf Basis der Single Sign-on-Protokolle ist begrenzt: sowohl auf den Zeitpunkt einer Anmeldung als auch auf relativ wenige Informaten über Nutzer*innen. Die Aktualisierungen von Informationen in Nubus erfolgt also nur beim Login des Anwenders oder der Anwenderin, sodass Nutzerkonten in Nubus eventuell veraltet sind und nicht automatisch gesperrt oder gelöscht werden – Nutzer*innen die im führenden System gelöscht sind melden sich nicht mehr an, und so fehlt ein Single Sign-on als Ereignis an dem die „Nutzer wurde gelöscht“ Information an Nubus übertragen werden kann.
- Übertragen werden nur Informationen, die im Rahmen des SSO auch effizient abgerufen werden können. Die wichtigsten Informationen wie Nutzerkennung und Anzeigenamen sind immer integriert, aber weiterführende wie z.B. E-Mail Aliase oder Konto-Ablaufdaten sind oft nicht verfügbar oder in den Protokollen nicht standardisiert. Aktuell verzichtet die Ad Hoc Provisioning Implementierung auch auf das an dieser Stelle ineffiziente Übertragen von Informationen zu Gruppenmitgliedschaften.
Eine detaillierte Beschreibung der Einrichtung des Ad Hoc Provisioning ist im Handbuch zur Keycloak App beschrieben.
Vollständiger User Lifecycle mit dem Nubus Directory Importer
In bestehenden IT-Umgebungen werden für die Speicherung der Identitäten oft Verzeichnisdienste wie Active Directory verwendet, die über LDAP abgefragt werden können. Hier kann der „Nubus Directory Importer“ genutzt werden, um leichtgewichtig und sicher Informationen über Benutzer und Gruppen aus dem Verzeichnisdienst nach Nubus zu übertragen.
Der Nubus Directory Importer kommuniziert dabei zwischen der LDAP-Schnittstelle des Bestandssystems und der UDM REST API von Nubus. Er überträgt die Informationen von Benutzern und Gruppen und erkennt eigenständig, ob diese in Nubus angelegt, aktualisiert oder gelöscht werden müssen. Damit wird der gesamte User Lifecycle abgebildet.
Die Auswahl der zu synchronisierenden Informationen kann dabei mehrstufig erfolgen: Der Verzeichnisdienst des Bestandssystems kann für den Service Account, über den der Nubus Directory Importer die Daten ausliest, einschränken, welche Teile der Benutzer- und Gruppeninformationen ausgelesen werden dürfen. Der „Inhaber“ der Daten, also der Verzeichnisdienst, behält also die volle Kontrolle. Der Nubus Directory Importer entscheidet dann über ein konfigurierbares Mapping, welche Informationen an die UDM REST API von Nubus übertragen werden.
Dank der Bereitstellung als Docker Container ist der Betreiber auch frei in der Entscheidung, wo in der Netzwerkstruktur die Verarbeitung der Daten durch den Nubus Directory Importer erfolgt. Das zahlt sich besonders dann aus, wenn Nubus in einem anderen Netzsegment läuft oder sogar nur über das Internet erreichbar ist: Der Nubus Directory Importer wird dort betrieben, wo mit den sensiblen Daten aktiv gearbeitet werden darf, also „in der Nähe“ des Bestandssystems. Die Nubus REST API wird dann sicher per HTTPS angesprochen, egal wo Nubus läuft.
In der Kombination aus Single Sign-on und Nubus Directory Importer entsteht eine sowohl für die Nutzenden als auch für die Betreiber komfortable und sichere Integration. Nutzer*innen haben einfachen Zugriff auf Nubus und an Nubus angebundene Anwendungen und sie finden sowohl ihre gewohnten Strukturen in Form von Gruppen und anderen Benutzern vor. Betreiber können sich sicher sein, dass die Informationen in Nubus aktuell sind und nur die relevanten Informationen übertragen werden.
Die Einrichtung des Nubus Directory Importers ist im Betriebshandbuch von Nubus für Kubernetes beschrieben. Er ist sowohl auf Kubernetes als auch auf jedem Docker Compose fähigem Betriebssystem einsatzfähig und kompatibel sowohl zu Nubus in einer UCS-Umgebung als auch zu Nubus für Kubernetes.
Schrittweiser Einsatz: einfach Starten und alle Handlungsoptionen behalten
Die Realisierung des Ad Hoc Provisionings und des Nubus Directory Importers sind aufeinander abgestimmt und können daher aufeinander aufbauen. Für einen schnellen Projektstart bietet es sich an, mit dem Single Sign-on und dem aktivierten Ad Hoc Provisioning zu starten und Nutzenden schnell Zugriff auf benötigte IT-Dienste zu geben. Damit sind schnelle und gleichzeitig nutzerfreundliche Integrationen möglich, auch für Vorprojekte und Evaluationsphasen.
Ist der einfache Abgleich von Nutzerkonten nicht mehr ausreichend kann in einer späteren Projektphase ergänzend zum Single Sign-on der Nubus Directory Importer aktiviert werden, der eine vollständige und dauerhafte Pflege der Nutzer- und Gruppeninformationen gewährleistet. Das Nutzererlebnis wird damit deutlich verbessert. Bei vollständiger Synchronisation steht mit der Verzeichnisdienst-Komponente von Nubus auch eine mögliche Alternative zum Bestandssystem zur Verfügung.
Und die Active Directory Connection?
Neben dem Nubus Directory Importer steht unseren Nutzern und Nutzerinnen schon lange die Active Directory Connection zur Verfügung. Diese kann auch genutzt werden, um Nutzerkonten und Gruppen zwischen Microsoft Active Directory und Nubus abzugleichen. Die Active Directory Connection hat einen deutlich größeren Funktionsumfang als der Directory Importer: sie kann auch Informationen in das Active Directory übertragen und damit Bi-Direktional synchronisieren und sie übertragt außerdem Passworthashes zwischen Active Directory und Nubus. Bisher ist die Active Directory Connection aber nur für UCS verfügbar. Der Funktionsumfang ist darauf ausgelegt, dass Nubus das führende System ist, und daher benötigt die Active Directory Connection deutlich mehr Zugriffsrechte auf das Active Directory. Für Projekte, in denen Nubus einen vorhandenen Verzeichnisdienst auslesen soll, ist die Directory Connection zu invasiv, und – wenn das Quellsystem kein Active Directory ist – gar nicht nutzbar. Hier spielt der Directory Importer seine Stärken aus.
Fazit: Identity Integration in neuer Flexibilität
Mit dem Ad Hoc Provisioning und dem Nubus Directory Importer stehen für Nubus zwei aufeinander aufbauende Implementierungen zur Verfügung, die die Integrations- und Einsatzmöglichkeiten von Nubus deutlich erweitern. Diese sind sowohl für Nubus in UCS als auch für Nubus für Kubernetes verfügbar.
Ob für die Anbindung von modularen Softwareangeboten wie openDesk, für den Einsatz von Nubus als Teil einer SaaS-Lösung oder für den Aufbau von Alternativen zu bestehenden Verzeichnisdiensten – in allen Fällen bieten die Funktionen eine deutliche Vereinfachung beim anwendungsübergreifenden Managen von Benutzer-Identitäten und ihren Zugriffsrechten.
Kooperation mit dem Zentrum für Digitale Souveränität
Die Implementierungen für das Ad Hoc Provisioning und den Nubus Directory Importer wurden in Zusammenarbeit mit und unterstützt durch das Zentrum für Digitale Souveränität (ZenDiS) zur Integration in openDesk erstellt. Die hier beschriebenen Möglichkeiten gelten daher auch für die Anbindung von openDesk an Bestandssysteme.