Case Study
Syneco: User Manager mit Keycloak
Zusammenfassung
Syneco bietet mit Synection eine Plattform mit einer breiten Palette von Anwendungen, die Energieversorger und Netzbetreiber bei der Digitalisierung und Automatisierung ihrer Prozesse unterstützen. Als Teil dieser Plattform wurde eine Anwendung für Benutzerverwaltung auf Basis von Keycloak entwickelt. Dieser sogenannte User Manager ermöglicht Kundenadministratoren die effiziente Verwaltung von Benutzerkonten und Berechtigungen.
Technologien
-
Keycloak
-
Angular
-
Spring Boot
Über den Kunden
Syneco unterstützt kommunale und mittelständische Energieversorger mit innovativen Softwarelösungen, Dienstleistungen und Know-how rund um den effizienten, nachhaltigen Energiehandel, um die Energiewende voranzutreiben. Die Softwarelösungen digitalisieren und automatisieren die Energiebeschaffung und -vermarktung und ermöglichen dadurch eine kosteneffiziente, transparente Abwicklung von Strom, Gas, CO2-Handel, Energielogistik und Risikomanagement. Zusätzlich beinhaltet das Portfolio von Syneco auch Lösungen für erneuerbare Energien.
Projektziel
Keycloak wurde bereits zu Projektbeginn als Identitäts- und Zugriffsverwaltungslösung verwendet. Ziel des Projekts war es, Keycloak in einen selbstbedienbaren User Manager umzuwandeln. Während unserer Zusammenarbeit war das Upgrade von Keycloak auf Version 25 die größte Herausforderung, da Keycloak das Herzstück der Synection-Plattform bildet. Während dieses Upgrades standen wir vor mehreren Herausforderungen, insbesondere im Hinblick auf die Integration mit den anderen Anwendungen der Synection-Plattform.
Lösung
Die folgenden Punkte liefern einen Einblick in die Herangehensweise für die Erreichung des Projektziels:
-
Business Value: Der selbstbedienbare User Manager ermöglicht es Kundenadministratoren, Benutzerprofile anzulegen und zu deaktivieren sowie Berechtigungen für einzelne Anwendungen innerhalb der Synection-Plattform zu vergeben oder zu entziehen. Kunden können somit ihre Benutzer und Berechtigungen selbst verwalten, was den Administrationsaufwand für Syneco und seine Kunden reduziert.
-
Umsetzung: Kunden werden in Keycloak als Gruppen und Lizenzen als Rollen repräsentiert. Mit dem User Manager können Kunden diese Rollen den Benutzern zuweisen, um ihnen Zugriff auf die jeweilige Anwendung zu gewähren. Basierend auf der Syneco-Designbibliothek wurde mit Angular eine moderne Benutzeroberfläche entwickelt, die Administratoren einen Überblick über alle Benutzer und ihre zugewiesenen Rollen bietet. Diese Übersicht enthält auch Steuerelemente zum Filtern und Paginieren sowie eine visuelle Darstellung von Hierarchien. Außerdem wurde eine Funktion zum Nachverfolgen der Änderungshistorie von Benutzern implementiert. Darüber hinaus wurden mehrere benutzerdefinierte Keycloak-Attribute eingeführt, um Kundendaten zu erfassen. Lesen Sie in unserem Blog-Artikel zu Keycloak mehr darüber auf welcher Basis wir die optimale Lösung entwickelt haben.
-
Deployment: Um die Feature-Readiness und nahtlose Kompatibilität mit anderen Synection-Anwendungen sicherzustellen, wurde eine robuste Pipeline verwendet, die mehrere Umgebungen umfasst.
-
Kollaboration: Die Zusammenarbeit basierte auf wöchentlichen Meetings mit dem Product Owner von Syneco, ergänzt durch Feedback-Termine bei Bedarf. Dieser Ansatz ermöglichte mehrere Releases während des gesamten Projekts, stellte regelmäßiges Benutzer-Feedback sicher und maximierte den Wert für die Benutzer.