Guida Completa a Keycloak: Installazione e Configurazione per la Gestione Centralizzata di Utenti e Accessi
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.
Sono amante della tecnologia e delle tante sfumature del mondo IT, ho partecipato, sin dai primi anni di università ad importanti progetti in ambito Internet proseguendo, negli anni, allo startup, sviluppo e direzione di diverse aziende; Nei primi anni di carriera ho lavorato come consulente nel mondo dell’IT italiano, partecipando attivamente a progetti nazionali ed internazionali per realtà quali Ericsson, Telecom, Tin.it, Accenture, Tiscali, CNR. Dal 2010 mi occupo di startup mediante una delle mie società techintouch S.r.l che grazie alla collaborazione con la Digital Magics SpA, di cui sono Partner la Campania, mi occupo di supportare ed accelerare aziende del territorio .
Attualmente ricopro le cariche di :
– CTO MareGroup
– CTO Innoida
– Co-CEO in Techintouch s.r.l.
– Board member in StepFund GP SA
Manager ed imprenditore dal 2000 sono stato,
CEO e founder di Eclettica S.r.l. , Società specializzata in sviluppo software e System Integration
Partner per la Campania di Digital Magics S.p.A.
CTO e co-founder di Nexsoft S.p.A, società specializzata nella Consulenza di Servizi in ambito Informatico e sviluppo di soluzioni di System Integration, CTO della ITsys S.r.l. Società specializzata nella gestione di sistemi IT per la quale ho partecipato attivamente alla fase di startup.
Sognatore da sempre, curioso di novità ed alla ricerca di “nuovi mondi da esplorare“.
Comments