Come configurare l'autenticazione LDAP Jenkins FreeIPA
In questa guida, ti mostrerò come configurare il tuo server Jenkins per autenticare gli utenti rispetto al server LDAP FreeIPA. FreeIPA è un sistema di gestione delle identità open source sponsorizzato da Red Hat.
L'installazione predefinita del server Jenkins utilizza un database utente interno che non funziona per i team operativi e di sviluppo di grandi dimensioni. È necessario creare manualmente ciascun utente.
Il modo consigliato per gestire gli utenti nelle aziende è con LDAP o Microsoft Active Directory (AD). Ciò ti offre Single Sign-On (SSO) per tutti i servizi interni che richiedono autenticazione e autorizzazione. Fortunatamente, Jenkins ha un plug-in LDAP nativo che può essere utilizzato per autenticare gli utenti rispetto a un server LDAP esterno, come OpenLDAP, FreeIPA e.t.c.
Configurare l'autenticazione Jenkins FreeIPA (LDAP).
I prerequisiti per questa configurazione sono:
- Esecuzione del server Jenkins
- Esecuzione del server FreeIPA
Se sei interessato a eseguire una nuova installazione di FreeIPA o del server Jenkins, puoi fare riferimento alle nostre guide di seguito:
Guide all'installazione di FreeIPA Server:
- Come installare FreeIPA Server su CentOS 7
- Come installare FreeIPA Server su Ubuntu
- Come installare e configurare il server FreeIPA su RHEL/CentOS 8
Guide all'installazione di Jenkins Server:
- Come installare Jenkins su CentOS/RHEL 7/8
- Come installare Jenkins su Ubuntu
Se hai installato sia FreeIPA che il server Jenkins, segui questi passaggi per configurare l'autenticazione Jenkins FreeIPA.
Passaggio 1: crea un utente di associazione LDAP su FreeIPA
Avremo bisogno di un utente per l'associazione al server FreeIPA. Accedi al tuo server FreeIPA e crea un utente chiamato jenkins
Vai a Identità > Utenti > Aggiungi
Inserisci i dettagli richiesti e fai clic su "Aggiungi"
Passaggio 2: configurare il server Jenkins
Se non hai un nome di dominio per FreeIPA Server configurato su DNS, aggiungi la riga al file /etc/hosts
.
$ sudo vim /etc/hosts
192.168.10.3 ldap.example.com
2.
Conferma di poter raggiungere la porta LDAP dal server Jenkins.
$ telnet ldap.example.com 389
Trying 192.168.10.3…
Connected to ldap.example.com.
Escape character is '^]'.
3.
Accedi al tuo server Jenkins come utente amministratore e vai a "Jenkins > Configura sicurezza globale".
4.
Seleziona LDAP in "Controllo accesso".
5.
Inserisci l'IP del server LDAP (FreeIPA) e la porta del servizio.
6.
Fai clic su "Configurazione server avanzata" per espandere le opzioni di configurazione.
7.
Compila i dettagli del server LDAP FreeIPA per individuare utenti e gruppi.
LDAP Server: ldap://ldap.example.com:389
root DN: dc=example,dc=com
User search base: cn=users,cn=accounts
User search filter: uid={0}
Group search base: cn=groups,cn=accounts
Group membership > Search for LDAP groups containing user
Group membership filter: (| (member={0}) (uniqueMember={0}) (memberUid={1}))
Manager DN: uid=jenkins,cn=users,cn=accounts,dc=example,dc=com
Manager Password: UserPassword
Display Name LDAP attribute: displayname
Email Address LDAP attribute: mail
Sostituire :
dc=example,dc=com
con i componenti del dominio del server LDAP.UserPassword
con password utente Jenkins (creata nel passaggio 1)
La tua configurazione dovrebbe essere simile alla seguente.
Una volta compilate le informazioni, fai clic su "Verifica impostazioni LDAP" per convalidare le tue impostazioni.
Fornire nome utente e password con cui eseguire il test.
Se ricevi la ricerca riuscita. Applica le impostazioni a Salva.
Passaggio 3: accedi a Jenkins come utente LDAP
Il primo utente LDAP che accede otterrà i diritti di Amministratore.
Passaggio 4: configura i ruoli utente su Jenkins
Per impostazione predefinita, la policy utente Jenkins consente agli utenti registrati di accedere a qualsiasi cosa. Questo non dovrebbe essere il caso ed è necessario impostare policy utente adeguate. Consulta la nostra politica Jenkins e la guida alla gestione degli utenti di seguito.
- Come gestire utenti e ruoli in Jenkins
Consenti ad altri utenti di accedere con le loro credenziali LDAP e assegna loro ruoli che definiscono cosa possono fare sul server Jenkins.
Conclusione
Dovresti aver configurato correttamente il server Jenkins per autenticare l'utente tramite il server LDAP. Tieni presente che una volta attivata l'autenticazione LDAP, il database utente interno locale di Jenkins viene disabilitato. Per qualche ragione, entrambi non possono coesistere e sembra che al momento non ci sia una soluzione.
Visualizza articoli correlati:
- Come configurare l'autenticazione GitLab FreeIPA
- Come gestire utenti e ruoli in Jenkins
- Configura Jenkins dietro il proxy inverso Nginx e Let's Encrypt SSL