La seguretat és un aspecte crític en qualsevol sistema de CI/CD, i Jenkins no és una excepció. Configurar correctament la seguretat de Jenkins ajuda a protegir les dades, els processos i els recursos de la teva organització. En aquesta secció, aprendrem com configurar la seguretat a Jenkins, incloent-hi l'autenticació, l'autorització, la gestió d'usuaris i la configuració de permisos.
- Autenticació
L'autenticació és el procés de verificar la identitat dels usuaris que intenten accedir a Jenkins. Jenkins ofereix diverses opcions d'autenticació, incloent-hi l'autenticació interna, LDAP, SSO, i més.
Configurant l'Autenticació Interna
-
Accedeix a la configuració de seguretat:
- Navega a
Manage Jenkins
>Configure Global Security
.
- Navega a
-
Habilita la seguretat:
- Marca la casella
Enable security
.
- Marca la casella
-
Configura el mètode d'autenticació:
- Selecciona
Jenkins' own user database
per utilitzar l'autenticació interna. - Marca la casella
Allow users to sign up
si vols permetre que els usuaris es registrin.
- Selecciona
-
Guarda els canvis:
- Fes clic a
Save
.
- Fes clic a
Configurant l'Autenticació LDAP
-
Accedeix a la configuració de seguretat:
- Navega a
Manage Jenkins
>Configure Global Security
.
- Navega a
-
Habilita la seguretat:
- Marca la casella
Enable security
.
- Marca la casella
-
Configura el mètode d'autenticació:
- Selecciona
LDAP
i introdueix els detalls del servidor LDAP, incloent-hi l'URL del servidor, el DN base, i les credencials d'accés.
- Selecciona
-
Guarda els canvis:
- Fes clic a
Save
.
- Fes clic a
- Autorització
L'autorització determina què poden fer els usuaris un cop han estat autenticats. Jenkins ofereix diversos models d'autorització, incloent-hi la seguretat basada en rols i la seguretat basada en projectes.
Configurant la Seguretat Basada en Rols
-
Instal·la el plugin de seguretat basada en rols:
- Navega a
Manage Jenkins
>Manage Plugins
>Available
i cercaRole-based Authorization Strategy
. - Instal·la el plugin i reinicia Jenkins si és necessari.
- Navega a
-
Configura l'estratègia d'autorització:
- Navega a
Manage Jenkins
>Configure Global Security
. - Selecciona
Role-Based Strategy
com a estratègia d'autorització.
- Navega a
-
Defineix rols i permisos:
- Navega a
Manage Jenkins
>Manage and Assign Roles
>Manage Roles
. - Defineix els rols (per exemple,
admin
,developer
,viewer
) i assigna els permisos corresponents a cada rol.
- Navega a
-
Assigna rols als usuaris:
- Navega a
Manage Jenkins
>Manage and Assign Roles
>Assign Roles
. - Assigna els rols definits als usuaris o grups d'usuaris.
- Navega a
- Gestió d'Usuaris
La gestió d'usuaris implica crear, modificar i eliminar usuaris a Jenkins. Això es pot fer fàcilment des de la interfície d'administració.
Creant Usuaris
-
Accedeix a la gestió d'usuaris:
- Navega a
Manage Jenkins
>Manage Users
.
- Navega a
-
Crea un nou usuari:
- Fes clic a
Create User
. - Introdueix el nom d'usuari, la contrasenya, el nom complet i l'adreça de correu electrònic.
- Fes clic a
Create User
.
- Fes clic a
Modificant Usuaris
-
Accedeix a la gestió d'usuaris:
- Navega a
Manage Jenkins
>Manage Users
.
- Navega a
-
Modifica un usuari existent:
- Fes clic al nom d'usuari que vols modificar.
- Fes clic a
Configure
i realitza els canvis necessaris. - Fes clic a
Save
.
Eliminant Usuaris
-
Accedeix a la gestió d'usuaris:
- Navega a
Manage Jenkins
>Manage Users
.
- Navega a
-
Elimina un usuari:
- Fes clic a
Delete
al costat del nom d'usuari que vols eliminar. - Confirma l'eliminació.
- Fes clic a
- Configuració de Permisos
Els permisos determinen les accions específiques que els usuaris poden realitzar a Jenkins. Aquests permisos es poden configurar a nivell global o a nivell de projecte.
Configurant Permisos Globals
-
Accedeix a la configuració de seguretat:
- Navega a
Manage Jenkins
>Configure Global Security
.
- Navega a
-
Defineix els permisos globals:
- A la secció
Authorization
, defineix els permisos globals per a cada rol o usuari.
- A la secció
Configurant Permisos de Projecte
-
Accedeix a la configuració del projecte:
- Navega al projecte que vols configurar i fes clic a
Configure
.
- Navega al projecte que vols configurar i fes clic a
-
Defineix els permisos del projecte:
- A la secció
Authorization
, defineix els permisos específics per a cada rol o usuari.
- A la secció
Exercici Pràctic
Objectiu
Configurar la seguretat de Jenkins per utilitzar l'autenticació interna i la seguretat basada en rols.
Passos
-
Habilita la seguretat i configura l'autenticació interna:
- Navega a
Manage Jenkins
>Configure Global Security
. - Marca la casella
Enable security
. - Selecciona
Jenkins' own user database
. - Marca la casella
Allow users to sign up
. - Fes clic a
Save
.
- Navega a
-
Instal·la el plugin de seguretat basada en rols:
- Navega a
Manage Jenkins
>Manage Plugins
>Available
i cercaRole-based Authorization Strategy
. - Instal·la el plugin i reinicia Jenkins si és necessari.
- Navega a
-
Configura l'estratègia d'autorització:
- Navega a
Manage Jenkins
>Configure Global Security
. - Selecciona
Role-Based Strategy
com a estratègia d'autorització. - Fes clic a
Save
.
- Navega a
-
Defineix rols i permisos:
- Navega a
Manage Jenkins
>Manage and Assign Roles
>Manage Roles
. - Defineix els rols
admin
,developer
iviewer
. - Assigna els permisos corresponents a cada rol.
- Navega a
-
Assigna rols als usuaris:
- Navega a
Manage Jenkins
>Manage and Assign Roles
>Assign Roles
. - Assigna els rols definits als usuaris o grups d'usuaris.
- Navega a
Solució
1. Habilita la seguretat i configura l'autenticació interna: - Navega a `Manage Jenkins` > `Configure Global Security`. - Marca la casella `Enable security`. - Selecciona `Jenkins' own user database`. - Marca la casella `Allow users to sign up`. - Fes clic a `Save`. 2. Instal·la el plugin de seguretat basada en rols: - Navega a `Manage Jenkins` > `Manage Plugins` > `Available` i cerca `Role-based Authorization Strategy`. - Instal·la el plugin i reinicia Jenkins si és necessari. 3. Configura l'estratègia d'autorització: - Navega a `Manage Jenkins` > `Configure Global Security`. - Selecciona `Role-Based Strategy` com a estratègia d'autorització. - Fes clic a `Save`. 4. Defineix rols i permisos: - Navega a `Manage Jenkins` > `Manage and Assign Roles` > `Manage Roles`. - Defineix els rols `admin`, `developer` i `viewer`. - Assigna els permisos corresponents a cada rol. 5. Assigna rols als usuaris: - Navega a `Manage Jenkins` > `Manage and Assign Roles` > `Assign Roles`. - Assigna els rols definits als usuaris o grups d'usuaris.
Conclusió
En aquesta secció, hem après com configurar la seguretat a Jenkins, incloent-hi l'autenticació, l'autorització, la gestió d'usuaris i la configuració de permisos. La seguretat és un aspecte fonamental per garantir que només els usuaris autoritzats puguin accedir i realitzar accions a Jenkins. Amb aquests coneixements, estàs preparat per protegir el teu entorn de Jenkins i assegurar-te que els teus processos de CI/CD es desenvolupin de manera segura.
Jenkins: De Principiant a Avançat
Mòdul 1: Introducció a Jenkins
Mòdul 2: Conceptes Bàsics de Jenkins
- Visió General del Tauler de Jenkins
- Creant i Executant Feines
- Entenent les Pipelines de Jenkins
- Utilitzant Plugins de Jenkins
Mòdul 3: Pipelines de Jenkins
- Pipeline com a Codi
- Pipelines Declaratives vs Scriptades
- Creant una Pipeline Simple
- Sintaxi de Pipeline
Mòdul 4: Pipelines Avançades de Jenkins
- Etapes i Passos de Pipeline
- Execució Paral·lela en Pipelines
- Utilitzant Variables d'Entorn
- Millors Pràctiques de Pipeline
Mòdul 5: Administració de Jenkins
- Gestionant Nodes de Jenkins
- Configurant la Seguretat
- Còpia de Seguretat i Restauració de Jenkins
- Monitorant Jenkins
Mòdul 6: Integrant Jenkins
- Integració amb Sistemes de Control de Versions
- Integració amb Eines de Compilació
- Integració amb Eines de Prova
- Integració amb Eines de Desplegament
Mòdul 7: Jenkins per a la Integració i el Lliurament Continu (CI/CD)
- Entenent CI/CD
- Configurant una Pipeline de CI
- Configurant una Pipeline de CD
- Automatitzant Desplegaments
Mòdul 8: Temes Avançats de Jenkins
- Utilitzant Jenkins amb Docker
- Jenkins i Kubernetes
- Jenkins com a Codi amb Jenkinsfile
- Escalant Jenkins