SUSE Software Solutions Germany GmbH

Die SUSE Software Solutions Germany GmbH ist das größte unabhängige Open-Source-Unternehmen weltweit mit über 2.000 Mitarbeiter*innen, 17.000 Kund*innen und 5.000 Partnern. Sie entwickelt und betreibt den Open Build Service (OBS) für interne und externe Entwickler, die dort ihre Software pflegen und „bauen“ lassen können.

2020 stand SUSE vor einer Herausforderung: 2,1 Millionen Benutzerkonten sollten im Zuge der Unabhängigkeit aus dem alten System des Mutterkonzerns auf eine neue performante und moderne Lösung migriert werden. Die Entscheidung fiel auf die Open-Source-Lösung UCS, die als neues Identity Management System (IDM) in Zukunft alle Benutzerkonten verwalten und neue Self-Services für die Benutzer ermöglichen sollte.

  • 2.000 Mitarbeiter*innen
  • 17.000 Kund*innen
  • 5.000 Partner
  • 2,1 Millionen passive Benutzerkonten ohne Daten/Quellcode/Beiträge im System
  • 200.000 Benutzerkonten mit Daten/Quellcode/Beiträgen im System (nach Filterung)
  • 25.000 regelmäßig aktive Benutzer
  • Migration und Verwaltung von Benutzerkonten in ein neues IDM mit der Möglichkeit weitere Dienste anzuschließen
  • Umsetzung im Produktivbetrieb mit wenig bis keiner Downtime
  • Kein Transfer von Passwort-Hashes
  • Möglichkeit für Zertifizierung nach Common Criteria
  • Einhaltung der 6-Wochen-Frist für die Migration mit harter Deadline
  • Erweiterung des vorhandenen IT-Stacks und Implementierung von UCS als Identity Management System (IDM) für SUSEsBenutzerkonten
  • UCS Replica Directory Node-Paar in Rechenzentren vor Ort zur Schaffung eines Hochverfügbarkeitssystems (Primary Directory Node sowie Backup Directory Node in Nürnberg, weiterer Backup Directory Node in Prag sowie Replica Directory Node-Paar in Prag, Nürnberg, Provo und Beijing)
  • Zusätzliche Implementierung eines Self-Services als neues Feature von UCS für die eigenständige Kontoerstellung und -löschung durch den Benutzer

Ein ganz besonderes Jahr für SUSE

2020 war für SUSE ein ganz besonderes Jahr – und zwar nicht wegen der Corona-Pandemie und den damit einhergehenden Herausforderungen wie Home-Office-Regelungen und auch nicht wegen der OpenVPN-Server-Migrationen während des Lockdowns. Die entscheidende Veränderung war die Unabhängigkeit SUSEs vom Mutterkonzern, die viele Freiheiten, aber auch neue Verantwortlichkeiten mit sich brachte. So war es an SUSE und SUSEs Entwickler-Team im Besonderen, neue Abteilungen aufzubauen, neue Infrastrukturen zu schaffen und neue IT-Services, die vorher beim Mutterkonzern lagen, zu installieren und einzurichten. Die Migration dieser Dienste, die Erweiterung des IT-Stacks und die Einführung eines neues Identity Management Systems (IDMs) waren wegbereitend für die technische Unabhängigkeit SUSEs vom Mutterkonzern.

Univention Corporate Server (UCS) als neues IDM für die Community-Account-Verwaltung

Für die Verwaltung der Benutzerkonten in den ca. 50 verwendeten Dienste wie dem Bugtracking-System Bugzilla für die Einreichung und Bearbeitung von Fehlerreports oder dem Open Build Service (OBS) für das Hochladen und Kompilieren von Quellcode benötigte SUSE ein neues IDM. Dabei fiel die Wahl auf die Open-Source-Lösung Univention Corporate Server (UCS) von Univention, da diese alle Anforderungen SUSEs an ein neues IDM erfüllte.

Nach einer ersten groben Abschätzung ging man zunächst von bis zu 87.000 Benutzerkonten aus, die sich auf SUSE-Mitarbeiter*innen (1.800), Partner (5.000) und die openSUSE Community (80.000) verteilten. Stattdessen fand das Entwickler-Team von SUSE in den Daten des alten Systems vom Mutterkonzern dann aber 2,1 Millionen Benutzerkonten vor. Welche dieser Konten aktiv und welche inaktiv waren, in welchen Konten also Daten in die Systeme eingepflegt worden waren, konnte das alte IDM jedoch nicht erkennen. Dadurch wurde dem Entwickler-Team von SUSE die Optimierung und Filterung der Benutzerkonten im Vorfeld der Migration erschwert.

„Eine schöne Herausforderung”, fasst Daniel Schmidt die Ausgangslage vor der Migration zusammen.

Herausforderung Migration von Benutzerkonten

Die größten Herausforderungen bei der Migration der Benutzerkonten lagen in der schieren Anzahl der Konten sowie den hohen Anforderungen an die Migration. Diese sollte innerhalb von nur sechs Wochen im Produktivbetrieb, möglichst ohne Downtime, vom Novell AccessManager hin zu UCS, einem Common Criteria zertifizierbaren System, umgesetzt werden. Dabei sollte in den Rechenzentren vor Ort (Nürnberg, Prag, Provo und Beijing) jeweils ein Replica Directory Node-Paar stehen, damit die Dienste aus den jeweils anderen Regionen dagegen authentifizieren konnten und ein Hochverfügbarkeitssystem entstehen konnte. In Nürnberg sollte zusätzlich der Primary Directory Node sowie ein Backup Directory Node stehen, der in ein weiteres Rechenzentrum in Prag repliziert werden sollte. Hinzu kommt, dass Passwort-Hashes aus datenschutzrechtlichen Gründen nicht übertragen werden durften und es sich bei dem Novell AccessManager um ein Produkt handelt, das zu diesem Zeitpunkt nicht mehr existierte.

UCS-Architektur mit zwei zusätzlichen Replicas in der DMZ

Vor der eigentlichen Migration nahmen die Entwickler*innen einige Optimierungen im bestehenden System sowie eine anschließende Filterung der Benutzerkonten vor. So wurde die Anzahl der Benutzerkonten von 2,1 Millionen auf 200.000 reduziert, denn nur so viele Benutzer hatten auch Daten, Quellcode und Beiträge in SUSEs Systeme eingepflegt. Obwohl nur etwa 1/8 (25.000) der 200.000 Benutzer regelmäßig aktiv sind, musste ein „Take-over” der gefilterten Benutzer, d. h. die Übernahme von Logins inaktiver Benutzer durch neue Benutzer, unbedingt verhindert werden. Sonst hätten diese neuen Benutzer Zugriff auf fremde Beiträge ehemaliger Benutzer erhalten.

Dafür nutzte SUSE selbst geschriebene Tools, mit denen die Entwickler*innen prüfen konnten, in welchen Diensten welche Benutzer welche Daten hinterlegt hatten. Darüber hinaus wurde ein eigenes Python-Tool für den schrittweisen Import von Nutzer*innen in UCS sowie ein Migrations-Proxy entwickelt, der sich am alten Novell Access Manager und am neuen Univention Server anmelden konnte. Für die Migration selbst wurde das LDAP-Schema des Novell Access Managers nachgebildet, um Zeit einzusparen, denn so musste keine Datenkonvertierung durchgeführt und nur minimale Anpassungen in den Systemen vorgenommen werden. Schließlich wurde ein Vorab-Import der 200.000 Benutzerkonten im inaktiven Zustand implementiert. Bei der anschließenden Migration wurde das entsprechende Benutzerkonto dann aktiviert.

Gold wert fanden wir den Univention-Support am Migrationswochenende. Wir hatten für das ganze Wochenende einen Entwickler zur Seite gestellt bekommen, dank dem auch spontan noch Änderungen am Code vorgenommen werden konnten. – Daniel Schmidt, Automation Engineer bei der SUSE Software Solutions Germany GmbH

Dienst für Dienst zum Ziel

Anstatt alle Dienste an einem Stichtag zu migrieren, setzte SUSE auf eine schrittweise Migration, angefangen mit großen Diensten wie Bugzilla, die besonders viele Benutzerkonten verzeichneten. So beschleunigte man den Migrationsprozess. Zudem konnte man durch diese Vorgehensweise flexibel auf auftretende Probleme reagieren und diese bei der Migration weiterer Dienste berücksichtigen.

Zunächst wurde der Migrations-Proxy online gebracht und intensiv im Entwickler-Team getestet. Danach wurde Bugzilla als erster Dienst migriert, indem alle Benutzer dieses Dienstes gezwungen wurden, sich auf dem Migrations-Proxy anzumelden. Nach dem Login wurde das eingegebene Passwort vom alten System verifiziert und bei Erfolg über die API an den Univention-Server weitergegeben. Damit wurde das Konto aktiviert, ein Token vergeben und der Benutzer zu einem Passwort-Reset im Self-Service umgeleitet. Danach hatte jeder Benutzer effektiv zwei Community-Accounts: Einen im alten System für noch nicht umgestellte Dienste und einen im neuen UCS-System für die schon umgestellten Dienste. Auf diese Art und Weise wurden anschließend auch die anderen Dienste erfolgreich migriert.

Open Source rocks!

Trotz Nebeneffekten wie der hohen Anzahl an Support-Tickets während der Projektlaufzeit von etwa 50 bis 100 Tickets pro Woche und der Dauer des Imports von 2,1 Millionen LDAP-Objekten ist SUSE mit dem Ergebnis der Migration und der Zusammenarbeit mit Univention und insbesondere dem Entwicklersupport am eigentlichen Migrationswochenende mehr als zufrieden.

Da SUSE als Open-Source-Enthusiast auch bei diesem Projekt auf Open-Source-Lösungen wie UCS gesetzt hat, konnten temporäre Code-Anpassungen wie das Verhalten des Self-Services während des Migrationszeitraums umgesetzt werden. Ein großer Vorteil für die effiziente Projektimplementierung.