Keycloak
Download
Auf der offiziellen Seite von Keycloak (Downloads) kann eine vollständige Standalone server distribution
heruntergeladen werden.
Diese beinhaltet einen WildFly application server mit darauf eingesetztem Keycloak Server.
Dokumentation
Ebenso auf der offiziellen Seite von Keycloak (Docs) kann die zugehörige Dokumentation des Produktes gefunden werden.
Installation Keycloak Server
Modus
Keycloak bietet ausgiebige Dokumentation zur Installation des Servers. Eine der wichtigsten Fragen vorab ist in Kapitel 3 - Operating Mode beschrieben. Für die ersten Tests und Entwicklungsumgebungen ist mit Sicherheit der Standalone Mode am sinnvollsten. Dieser Modus ist allerdings, wie in der Dokumentation beschrieben, nicht für produktive Systeme vorgesehen. Es bieten sich der Standalone Clustered Mode oder der Domain Clustered Mode an.
Anzahl Keycloak Instanzen/Cluster
Es ist möglich, an einen Keycloak Cluster mehrere Applikationslandschaften oder -stufen anzubinden. Die Entscheidung über die Anzhal der Cluster sollte davon abhängen, wie häufig Keycloak aktualisiert werden soll bzw. wie stark die Abhängigkeit in diesem Kontext zu den anderen Systemen (Tomcat Cluster) ist.
In der NLI Cloud wird pro Systemstufe ein Keycloak Cluster per Ansible installiert. Es werden allerdings voraussichtlich Entwicklungs und Testsysteme zusammengefasst, so dass sich in diesen Stufen mehrere Systeme am gleichen Keycloak Cluster authentifizieren.
Es ist ebenso möglich, die gesamte Systemlandschaft (Entwicklungs-, Test- und Produktionssystem) an einen Keycloak Cluster anzubinden. Mehr dazu in der Konfiguration.
Datenbanktreiber
Für den Betrieb von Keycloak wird eine Datenbankanbindung empfohlen. Die Nutzung der mitgelieferten H2-Datenbank ist nicht für produktive Systeme geeignet.
Hier wird die Installation in der Server Installation (Relational Database Setup) von Keycloak beschrieben.
Hier eine weitere gute Anleitung am Beispiel Oracle Treiber auf JBoss.
Remote Installation
Admin Account anlegen
Um bei einer Remote-Installation von Keycloak den initialen Admin-Benutzer anzulegen, sollte ein Skript ausgefüht werden. Weitere Details sind hier zu finden:
Create Admin User (Getting Started Guide)
Server Initialization (Server Administration Guide)
Port-Binding anpassen
Da der authentication server auch über Netzwerk, nicht nur auf localhost erreichbar sein sollte, müssen die per default hinterlegten Port Bindings geändert werden. Details und entsprechende Dokumentation der Konfiguration sind hier zu finden:
Network Setup (Server Installation and Configuration Guide)
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:127.0.0.1}"/>
</interface>
</interfaces>
Zugriff auf JBoss / WildFly
Es ist zusätzlich möglich, auf die Management-Oberfläche des JBoss / WildFly, auf welchem Keycloak als Anwendung läuft, zuzugreifen.
Dafür muss über das Skript keycloak-4.8.3.Final\bin\add-user.sh
(Linux) ein Benutzer hinzugefügt werden.
Über den Port 9990
(Default; siehe dazu Port Binding in z.B. standalone.xml
) kann auf die Management-Oberfläche zugegriffen werden.
Dort können z.B. aktuelle Deployments wie Keycloak nachvollzogen werden.
<socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>