Keycloak installieren oder Docker Image verwenden

Einleitung

Für die Anbindung der neuen Oberflächen ist eine Instanz des Zugangsmanagement-Systems Keycloak notwendig.

Offizielle Webseite

Der Login eines Benutzers auf der neuen Oberfläche wird an Keycloak delegiert. Weiterhin kann die bestehende B2B, für welche sich der Benutzer bisher am Apache Tomcat authentifiziert, ebenso an Keycloak zur Authentifizierung angebunden werden.

Mit Keycloak kann in der weiteren Konfiguration dafür gesorgt werden, dass ein einfacher Single-Sign-On für die Benutzer möglich wird. Es können verschiedene Benutzerdatenbanken angebunden werden. Um die Umstellungsaufwände möglichst gering zu halten, haben wir die Möglichkeit dokumentiert, die bisher benutzte B2B-Datenbank anzubinden.

Keycloak Status

Bisher war hier dokumentiert, wie eine Keycloak-Instanz installiert werden kann. Einfacher und schneller geht es mit Docker. Wir nehmen das bestehende Docker Image von Keycloak und erweitern es um wichtige Funktionalitäten aus der manuellen Installation.

Konkret fügen wir dem Docker Image direkt das nlitheme sowie den Keycloak B2B-DB-Adapter hinzu.

Zusätzlich hat das von Keycloak ausgelieferte (und von uns erweiterte) Docker Image folgende weitere Vorteile:

  • einfach zu installieren, da es ein Docker Image ist
  • es muss deutlich weniger Dokumentation von Keycloak berücksichtigt und gelesen werden
  • diverse Datenbanktreiber werden direkt mit unterstützt und müssen nicht mehr manuell hinzugefügt werden
  • wir können einen Realm als Template direkt im Image mitliefern
  • oben genannte Komponenten werden mit im Image ausgeliefert

Modus der Installation

Wie in der Installationsanleitung für Keycloak unter Modus beschrieben, empfehlen wir, Keycloak im Standalone Clustered Mode zu betreiben. Das ausschlaggebende Merkmal dieser Installation ist die separierte Datenbank, es wird also nicht die in Keycloak integrierte H2-Datenbank (in-memory) verwendet. Keycloak empfiehlt selbst, diese H2-Datenbank nicht für die Produktion zu verwenden.

Bezug Docker

Bei Benutzung des Docker-Images kann konfiguriert werden, welche Datenbank verwendet werden soll. Es kann ebenso ein Docker-Image z.B. für eiune PostgreSQL-Datenbank verwendet werden, es kann allerdings ebenso eine bereits eingesetzte Datenbank verwendet werden.

View Me   Edit Me