Keycloak installieren anhand der Keycloak-Dokumentation

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.

In lokalen Test- und Entwicklungsumgebungen, arbeiten wir mit dem Standalone Mode. In unserer Cloud werden wir voraussichtlich mit dem Standalone Clustered Mode arbeiten.

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.

Sollte später die B2B-Datenbank angebunden werden, ist der Datenbanktreiber notwendig.

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.

Wählen sie bei der Installation des Datenbanktreibers einen von uns später verwendeten ‘Namen’ (siehe folgender Abschnitt).

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>
Wir empfehlen ebenso eine HTTPS-Anbindung.

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}"/>
View Me   Edit Me