Guida Completa a Keycloak: Installazione e Configurazione per la Gestione Centralizzata di Utenti e Accessi

LINUX, TUTORIAL

Installazione e Configurazione di Keycloak

Keycloak è una soluzione open-source di Identity e Access Management, sviluppata dalla community di RedHat, progettata per facilitare la gestione di applicazioni e servizi moderni. Questo software supporta funzionalità come Single Sign-On (SSO), autenticazione e autorizzazione, login tramite social, autenticazione multifattoriale e gestione centralizzata degli utenti.

Prerequisiti

Prima di installare Keycloak, è necessario disporre di Java 8 o versioni successive. Per verificare la versione di Java installata, eseguire il comando:

java -version

Se Java non è installato, il sistema mostrerà l’errore java: command not found. In tal caso, procedere con l’installazione tramite:

sudo apt-get update
sudo apt-get install default-jdk -y

Verificare nuovamente l’installazione di Java con java -version.

Passo 1: Scaricare e Estrarre Keycloak

Accedere alla directory /opt e scaricare la versione più recente di Keycloak dal sito ufficiale. Nell’esempio seguente utilizziamo la versione 6.0.1:

cd /opt
sudo wget https://downloads.jboss.org/keycloak/6.0.1/keycloak-6.0.1.tar.gz

Estrarre il pacchetto e rinominare la directory estratta:

sudo tar -xvzf keycloak-6.0.1.tar.gz
sudo mv keycloak-6.0.1 /opt/keycloak

Passo 2: Creare Utente e Gruppo per Keycloak

Per ragioni di sicurezza, Keycloak non dovrebbe essere eseguito come utente root. Creare un gruppo e un utente dedicato a Keycloak:

sudo groupadd keycloak
sudo useradd -r -g keycloak -d /opt/keycloak -s /sbin/nologin keycloak

Passo 3: Impostare i Permessi sulla Directory di Installazione

Modificare i permessi della directory /opt/keycloak e rendere eseguibili i file nella cartella bin:

sudo chown -R keycloak: /opt/keycloak
sudo chmod o+x /opt/keycloak/bin/

Passo 4: Creare un File di Servizio per Systemd

Creare una directory di configurazione per Keycloak:

cd /etc/
sudo mkdir keycloak

Copiare il file di configurazione wildfly.conf e il file di avvio launch.sh nella loro rispettiva posizione:

sudo cp /opt/keycloak/docs/contrib/scripts/systemd/wildfly.conf /etc/keycloak/keycloak.conf
sudo cp /opt/keycloak/docs/contrib/scripts/systemd/launch.sh /opt/keycloak/bin/
sudo chown keycloak: /opt/keycloak/bin/launch.sh

Aggiornare il percorso di installazione nel file launch.sh, modificandolo in base alla posizione effettiva dell’installazione.

Creare e configurare il file keycloak.service per il servizio systemd:

[Unit]
Description=The Keycloak Server
After=syslog.target network.target
Before=httpd.service

[Service]
Environment=LAUNCH_JBOSS_IN_BACKGROUND=1
EnvironmentFile=/etc/keycloak/keycloak.conf
User=keycloak
Group=keycloak
LimitNOFILE=102642
PIDFile=/var/run/keycloak/keycloak.pid
ExecStart=/opt/keycloak/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND
StandardOutput=null

[Install]
WantedBy=multi-user.target

Ricaricare systemd e abilitare il servizio:

sudo systemctl daemon-reload
sudo systemctl enable keycloak
sudo systemctl start keycloak

Verificare lo stato del servizio:

sudo systemctl status keycloak

Passo 5: Creare l’Account Amministrativo Iniziale

Accedere alla console di amministrazione di Keycloak, creando un utente amministrativo:

sudo /opt/keycloak/bin/add-user-keycloak.sh -r master -u <username> -p <password>

Riavviare il servizio per applicare le modifiche:

sudo systemctl restart keycloak

Passo 6: Disabilitare SSL nel Realm Master

Se si sta utilizzando Keycloak senza SSL su un indirizzo IP esterno, sarà necessario disabilitare il requisito SSL del realm master:

sudo /opt/keycloak/bin/kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user <admin-username> --password <admin-password>
sudo /opt/keycloak/bin/kcadm.sh update realms/master -s sslRequired=NONE

Passo 7: Configurare la Console di Gestione di Keycloak

Modificare i file di configurazione keycloak.conf, launch.sh e keycloak.service per abilitare l’accesso remoto alla console di gestione. Ricaricare systemd e riavviare il servizio.

Abbiamo completato l’installazione e la configurazione base di Keycloak. La console di amministrazione è ora accessibile e consente di creare nuovi realm, configurare autenticazioni e gestire utenti e ruoli in maniera centralizzata.

 

Se vuoi farmi qualche richiesta o contattarmi per un aiuto riempi il seguente form

    Comments