Keycloak installieren: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
Zeile 23: Zeile 23:
* Dann werden ein paar Konfigurationen an der Datei <code>keycloak/conf/keycloak.conf</code> vorgenommen, um die Postgresql Datenbank einzurichten, und um den Proxymodus auf edge zu setzen und den Hostname zu setzen.
* Dann werden ein paar Konfigurationen an der Datei <code>keycloak/conf/keycloak.conf</code> vorgenommen, um die Postgresql Datenbank einzurichten, und um den Proxymodus auf edge zu setzen und den Hostname zu setzen.
* Nun wird die Keycloak Instanz initialisiert, mit dem Befehl: <code>keycloak/bin/kc.sh --profile=prod build</code>
* Nun wird die Keycloak Instanz initialisiert, mit dem Befehl: <code>keycloak/bin/kc.sh --profile=prod build</code>
* Es muss der Server einmal gestartet werden, während der Admin Benutzer mit Passwort in einer Umgebungsvariable gesetzt ist, damit der Benutzer eingerichtet wird.
* Es wird Monit konfiguriert, um den Keycloak Service zu starten, der auf einem internen Port lauscht.
* Es wird Monit konfiguriert, um den Keycloak Service zu starten, der auf einem internen Port lauscht.
* Im Startskript für Keycloak wird der Admin Benutzer mit Passwort in einer Umgebungsvariable gesetzt, damit der Zugriff auf https://keycloak.example.org/admin möglich ist.
* Es wird der Apache in der htaccess Datei konfiguriert, damit die aufgeschaltete Domain über Proxy auf den Keycloak Dienst verweist.
* Es wird der Apache in der htaccess Datei konfiguriert, damit die aufgeschaltete Domain über Proxy auf den Keycloak Dienst verweist.



Version vom 7. April 2022, 10:12 Uhr

Allgemein

Keycloak [1] ist eine Open Source Lösung, die ein Single Sign On für verschiedene Anwendungen ermöglicht. Dabei ermöglicht es sowohl die Identitätsverwaltung als auch Zugriffsmanagement.

Es kann die Benutzer entweder aus einem existierenden Verzeichnisdienst (LDAP, Active Directory) auslesen, oder die Gruppen und Benutzer auch selber verwalten.

Technische Details

Keycloak ist in Java geschrieben. Bisher lief es in einem Wildfly Server, aber seit Version 17 (Februar 2022) benutzt es Quarkus, welches ein leichtgewichtiges Java Framework ist.

Es gibt ein Ansible Skript, das die Installationsschritte für Keycloak automatisiert durchführt.

Die Quellen für das Ansible Skript können hier eingesehen werden: [2]

Momentan (April 2022) gibt es noch ein paar Probleme mit der Version 17.0.1, aber mit der Version 17.0.0 scheint es zu funktionieren.

Installation

Was das Ansible Skript macht, lässt sich mit diesen Worten beschreiben:

  • Es wird ein Linux Benutzer eingerichtet.
  • Es wird eine Postgresql Datenbank eingerichtet.
  • Es wird eine Domain aufgeschaltet.
  • Es wird Keycloak als Zip Datei heruntergeladen, z.B. [3], und ins Verzeichnis $HOME/keycloak-17.0.0 entpackt.
  • Dann werden ein paar Konfigurationen an der Datei keycloak/conf/keycloak.conf vorgenommen, um die Postgresql Datenbank einzurichten, und um den Proxymodus auf edge zu setzen und den Hostname zu setzen.
  • Nun wird die Keycloak Instanz initialisiert, mit dem Befehl: keycloak/bin/kc.sh --profile=prod build
  • Es muss der Server einmal gestartet werden, während der Admin Benutzer mit Passwort in einer Umgebungsvariable gesetzt ist, damit der Benutzer eingerichtet wird.
  • Es wird Monit konfiguriert, um den Keycloak Service zu starten, der auf einem internen Port lauscht.
  • Es wird der Apache in der htaccess Datei konfiguriert, damit die aufgeschaltete Domain über Proxy auf den Keycloak Dienst verweist.

Beispiel einer Einrichtung

  • Auf https://keycloak.example.org/admin anmelden.
  • Es soll nicht mit der master Realm gearbeitet werden, sondern sollte eine weitere Realm eingerichtet werden, z.B. "Meine Firma"
  • TODO

Links