keycloak-config-cli

Konfiguration Management für Keycloak 

Herausforderung

Die Java-basierte Open Source Identitäts- und Zugangsmöglichkeit-Lösung  Keycloak bietet hohe Systemsicherheit und Social Logins für eine Vielzahl von Anwendungen und Dienstleistungen. 

Im Gegensatz zu einem Webserver verfügt Keycloak über keine Konfigurationsdatei, alle Konfigurationen eines Realms befinden sich in der Datenbank. Änderungen im Keycloak müssen daher stets manuell über der Web UI getätigt werden. Dies ist fehleranfällig und oft ein No-Go in einer vollautomatisierten Umgebung. 

Unsere Lösung

Unser Open Source Entwicklertool keycloak-config-cli ist ein Keycloak-Utility, mit dem die gewünschte Konfiguration für einen Realm basierend auf einer JSON-Datei sichergestellt wird. So besteht die Möglichkeit, ein Keycloak Realm komplett automatisiert über eine Konfigurationsdatei zu konfigurieren.  

Während Keycloak dies nur bei der Erstellung des Realms unterstützt, können mit unserem keycloak-config-cli auch bestehende Realms bequem verwaltet und konfiguriert werden.  Dabei entfällt die manuelle Konfiguration über ein WebUI komplett. 

Besonders bei der agilen Softwareentwicklung kommen die Stärken des “Configuration as Code”- Ansatzes des keycloak-config-cli zum Tragen: Das Provisionieren mehrerer Instanzen auch in diversen Stages wird nun vollständige automatisiert bzw. geskriptet ausgeführt. Nachträgliche konfigurative Änderungen werden ebenfalls über den gleichen Weg wie beim initialen Setup in die Umgebungen automatisiert eingespielt. 

Das Format der JSON-Datei basiert auf dem Exportformat von Keycloak selbst. Die Konfigurationsdateien aus GitHub können wie normaler Code gespeichert und behandelt werden, ein Keycloak Neustart ist nicht erforderlich, um die Konfiguration anzuwenden. 

Vorteile

  • Manuelle Konfiguration in Keycloak Web UI nicht mehr nötig 
  • Konfiguration als Teil des Anwendungscodes 
  • Automatisierte Rollouts/ Config-Updates 
  • Schnellere Konfiguration und verkürzte downtime 

Startbereit?

Weitere Infos gibt es in unserem Open Source Projekt auf GitHub.

Ansprechpartner

Andre Achtstaetter

Andre Achtstaetter

COO

sales@adorsys.com