Cum se creează/adăugă utilizatori în Jenkins & Gestionare permisiuni

⚡ Rezumat inteligent

Crearea utilizatorilor în Jenkins durează patru clicuri, dar atribuirea de permisiuni diferite fiecăruia dintre ele necesită pluginul Role-based Authorization Strategy, care înlocuiește rolul global unic din fiecare funcție încorporată. Jenkins cont altfel partajat.

  • 🔘 Limită încorporată: Jenkins poate crea mulți utilizatori din cutie, însă fiecare dintre ei primește aceleași privilegii globale.
  • ☑️ Pluginul mai întâi: Instalați Strategia de autorizare bazată pe roluri, apoi comutați de la Autorizare la Strategia bazată pe roluri înainte de a apărea orice ecran cu roluri.
  • ✅ Trei tipuri de roluri: Rolurile globale acoperă întregul controler, rolurile elementelor vizează joburile și folderele, iar rolurile agenților vizează mașinile de compilare.
  • 🧪 Exemplu lucrat: Un rol de dezvoltator este creat, i se acordă permisiuni și este atribuit utilizatorului guru99 în ecranul Atribuire roluri.
  • 🛠️ Potrivire de model: Un rol de element folosește o expresie regulată, cum ar fi tester.*, astfel încât fiecare job sau utilizator potrivit alege automat rolul.
  • ⚙️ Regula de siguranță: Păstrați un singur cont cu drepturi de administrare/general în permanență, altfel salvarea unei schimbări de rol poate bloca pe toată lumea.

Cum se creează și se adaugă utilizatori în Jenkins și Gestionați permisiunile

În general, într-o organizație mare, există mai multe echipe separate pentru gestionarea și executarea sarcinilor. JenkinsÎnsă gestionarea acestei mulțimi de utilizatori și atribuirea de roluri acestora se poate dovedi dificilă.

În mod implicit, Jenkins vine cu opțiuni de creare a utilizatorilor foarte simple. Puteți crea mai mulți utilizatori, dar le puteți atribui doar aceleași roluri și privilegii globale. Acest lucru nu este ideal, mai ales pentru o organizație mare.

Plugin de strategie de rol vă permite să atribuiți roluri și privilegii diferite diferiților utilizatori. Mai întâi va trebui să instalați pluginul în Jenkins mediu, așadar ghidul de mai jos acoperă mai întâi crearea utilizatorului, apoi pluginul și apoi ecranele de rol pe care le deblochează.

Cum se creează/adăugă un utilizator în Jenkins

Mai jos sunt pașii pentru a crea un utilizator nou în Jenkins:

Pasul 1) Conectați-vă la Jenkins Panou

Conectare la dvs. Jenkins tabloul de bord accesând http://localhost:8080/

Dacă nu ați instalat Jenkins pe serverul local, accesați secțiunea corespunzătoare URL și accesați tabloul de bord utilizând datele de autentificare. Tabloul de bord pe care ajungeți este afișat mai jos.

Jenkins tabloul de bord s-a deschis în browser la Jenkins calea de instalare

Pasul 2) Alegeți opțiunea

Acum veți vedea opțiuni pentru a crea și adăuga un utilizator în Jenkins și gestionează utilizatorii actuali.

Administrare Jenkins ecran care afișează opțiunile pentru crearea și gestionarea utilizatorilor

Pasul 3) Creați un utilizator nou

  • Sub gestionare Jenkins, Faceți clic pe Creare utilizator
  • Intrați Jenkins adăugați detalii despre utilizator, cum ar fi parola, numele de utilizator, adresa de e-mail etc.
  • Faceți clic pe Creare utilizator

Pasul 4) Este creat utilizatorul

Veți vedea pe tabloul de bord că o nouă Jenkins Utilizatorul a fost creat conform detaliilor introduse, așa cum se vede în lista de utilizatori de mai jos.

Lista de utilizatori de pe Jenkins tabloul de bord după ce noul utilizator a fost creat

⚠️ Notă privind versiunea: curent Jenkins lansările listează acest ecran ca Administrare Jenkins > Utilizatori mai degrabă decât Gestionați utilizatorii. Creaza utilizator butonul și câmpurile de pe acesta rămân neschimbate, iar ecranul există doar cât timp JenkinsBaza de date proprie de utilizatori este domeniul de securitate — un domeniu LDAP sau de autentificare unică gestionează conturile extern.

Cum se instalează pluginul Role Strategy în Jenkins

Ecranul de utilizator încorporat creează conturi, dar nu le poate acorda permisiuni diferite. Această funcționalitate este disponibilă odată cu pluginul Role-based Authorization Strategy, instalat după cum urmează.

Există două metode pentru instalarea pluginurilor în Jenkins:

  1. Instalarea prin intermediul dvs. Jenkins tablou de bord
  2. Descărcarea pluginului de la Jenkins site-ul web și instalarea acestuia manual.

Pas 1)

  1. Accesează Administrare Jenkins
  2. Faceți clic pe opțiunea Gestionare pluginuri

Administrare Jenkins pagină cu opțiunea de gestionare a pluginurilor evidențiată

Pas 2)

  1. În ecranul cu secțiuni disponibile, căutați „rol”.
  2. Selectați Rol-strategie de autorizare bazată pe conecteaza
  3. Click pe "Instalați fără repornire” (asigurați-vă că aveți o conexiune activă la internet)

Rezultatele căutării în managerul de pluginuri care afișează pluginul Strategie de autorizare bazată pe roluri

⚠️ Notă privind versiunea: calea este acum Administrare Jenkins > Pluginuri și fila este etichetată Pluginuri disponibileCaseta de căutare și numele pluginului sunt aceleași, așadar cei doi pași de mai sus se aplică în continuare.

Pas 3)

Odată ce pluginul este instalat, va fi afișat statusul „succes”, așa cum se arată în ecranul de instalare de mai jos.

Ecranul de instalare a pluginului care arată starea de succes a pluginului de strategie de rol

Faceţi clic pe Reveniți la pagina de sus.

Pas 4) Accesează Administrare Jenkins -> Configurați securitatea globală -> Sub Autorizare, selecta Strategie bazată pe roluri. Faceţi clic pe Economisește Secțiunea Autorizare arată astfel.

Secțiunea de autorizare a ecranului de securitate globală cu opțiunea Strategie bazată pe roluri selectată

În curs Jenkins linkul către această pagină este Administrare Jenkins > Securitate, iar pagina în sine are încă titlul Configurați securitatea globală cu aceeași listă derulantă Autorizare.

Tipuri de roluri în pluginul Role Strategy

Odată ce Strategia Bazată pe Roluri este activă, pluginul oferă trei domenii de aplicare separate pentru roluri. Alegerea domeniului de aplicare greșit este cel mai frecvent motiv pentru care o permisiune pare să nu aibă efect, așa că merită să știi ce acoperă fiecare înainte de a crea ceva.

Tipul rolului domeniu Utilizare tipică
Roluri globale Întreg Jenkins controler și acestea suprascriu orice setat în rolurile elementelor admin, un rol autentificat doar pentru citire, anonim
Roluri de articole Joburi, conducte și foldere al căror nume complet corespunde unui model de expresie regulată Acordarea drepturilor de Construire și Configurare unei singure echipe doar pentru propriile sarcini
Roluri de agent Construiți agenți potriviți printr-un model Permiterea unei echipe să conecteze sau să deconecteze proprii agenți

Tutorialul de mai jos folosește un rol global pentru dezvoltator și un rol de element pentru laborantRețineți denumirea: pluginul apelează acum al doilea domeniu de aplicare. Roluri de articole, deoarece acoperă atât foldere și conducte, cât și joburi simple. Versiunile mai vechi — și capturile de ecran mai jos pe această pagină — etichetează același tabel Roluri de proiect.

Cum să gestionezi utilizatorii și rolurile în Jenkins

Următorii sunt pașii pentru gestionarea și atribuirea rolurilor în Jenkins:

Pas 1)

  1. Accesează Administrare Jenkins
  2. Selectați Gestionați și atribuiți roluri

Administrare Jenkins pagină care afișează intrarea Gestionare și Atribuire Roluri adăugată de plugin

Notă: faptul că Gestionați și atribuiți roluri Opțiunea va fi vizibilă doar dacă ați instalat pluginul Role Strategy și ați comutat Autorizarea la Role Based Strategy.

Pas 2) Faceţi clic pe Gestionați rolurile pentru a adăuga noi roluri în funcție de organizația dvs.

Ecranul Gestionare și atribuire roluri cu opțiunea Gestionare roluri

Pas 3) Pentru a crea un nou rol numit „dezvoltator”,

  1. Introduceți „dezvoltator” sub „rol”.
  2. Faceți clic pe „Adăugați” pentru a crea un rol nou.
  3. Acum, selectați tasta Jenkins permisiunile de utilizator pe care doriți să le atribuiți rolului de „Dezvoltator”.
  4. Faceți clic pe Salvare

Grila de căsuțe de bifat care apare este afișată mai jos.

Ecranul Gestionare roluri cu rolul de dezvoltator adăugat și permisiunile aferente bifate

Jenkins Grupuri de permisiuni pe care le puteți atribui unui rol

Casetele de bifare de pe ecranul Gestionare roluri sunt grupate în funcție de obiectul asupra căruia acționează fiecare permisiune. Tabelul de mai jos explică ce controlează fiecare grup, ceea ce face mult mai ușoară acordarea minimului de care o echipă are nevoie.

Grup de permisiuni Ceea ce acordă
Salopete Administrare, Citire și alte drepturi la nivel de controler. Administra are control deplin, așa că acordați-l cu moderație.
Studii si calificari Vizualizarea, crearea și actualizarea acreditărilor stocate
Agent Configurarea, conectarea, deconectarea și ștergerea agenților de compilare
Loc de munca Construire, Anulare, Configurare, Creare, Ștergere, Citire, Spațiu de lucru și Continuare joburi
Alerga Ștergerea, redarea și actualizarea unei înregistrări individuale de construcție
Vizualizare Crearea, configurarea, ștergerea și citirea vizualizărilor tabloului de bord
CSM Declanșarea unei construcții dintr-un hook de control al sursei

Începeți fiecare rol nou cu General/Citește la care se adauga Lucrare/CitireFără aceste două, un utilizator conectat vede un tablou de bord gol chiar și atunci când sunt bifate alte permisiuni, aceasta fiind cea mai frecvent raportată confuzie cu acest plugin.

Cum se atribuie roluri în Jenkins

Pas 1) Acum că ați creat roluri, permiteți-ne să le atribuim anumitor utilizatori.

  1. Accesează Administrare Jenkins
  2. Selectați Gestionați și atribuiți roluri

Ecranul Gestionare și Atribuire Roluri s-a deschis pentru a accesa opțiunea Atribuire Roluri

Pas 2) Vom adăuga noul rol „dezvoltator” utilizatorului „guru99Matei 22:21

  1. Bifați caseta de selectare pentru rolul de dezvoltator
  2. Faceți clic pe Salvare

Ecranul Atribuire roluri cu caseta de selectare pentru rolul de dezvoltator bifată pentru utilizatorul guru99

Puteți atribui orice rol oricărui utilizator, în funcție de nevoile dvs.

Cum se creează roluri de proiect în Jenkins

Rolurile globale se aplică peste tot. Când o permisiune ar trebui să se aplice unui singur set de sarcini, creați în schimb un rol de proiect — domeniul de aplicare pe care pluginul îl apelează acum ca un rol de element.

Puteți crea roluri specifice proiectului sub Roluri de proiect.

Pas 1) In JenkinsGestionarea și atribuirea rolurilor

  1. Introduceți un rol ca „tester”
  2. Adăugați un model la aceasta adăugând tester.*, astfel încât oricărui nume de utilizator care începe cu „tester” i se va atribui rolul de proiect pe care îl specificați.
  3. Faceți clic pe Adăugare
  4. Selectați privilegii
  5. Faceți clic pe Salvare

Tabelul Roluri în Proiect completat este prezentat mai jos.

Tabelul Roluri de proiect cu un rol de tester și modelul de stea punctată al testerului introdus

Modelul este o expresie regulată care se potrivește cu numele complet al elementului, deci tester.* se potrivește și cu un folder numit suită de testere și tot ce se află în interiorul său. Testați un model nou pe o lucrare de unică folosință înainte de a-l aplica pe o lucrare reală proiect de freestyle sau un job în conductă.

Securitate bazată pe matrice vs. strategie bazată pe roluri

Strategia bazată pe roluri nu este singura opțiune de autorizare din meniul derulant. Jenkins este livrat cu securitate bazată pe matrice încorporată, iar pentru o instalație mică poate fi tot ce este necesar.

Punct de comparație Securitate bazată pe matrice Strategie bazată pe roluri
Instalare Încorporat în Jenkins Necesită pluginul Strategie de autorizare bazată pe roluri
Unitate de atribuire Fiecare utilizator sau grup primește permisiuni direct Permisiunile aparțin unui rol denumit, iar utilizatorii sunt atașați rolului.
Adăugarea celui de-al zecelea utilizator Întregul rând de permisiuni este repetat manual Bifați o casetă de selectare pentru un rol
Control per job Autorizare matriceală bazată pe proiect, configurată job cu job Un rol de element cu un model acoperă fiecare job corespunzător
Cel mai potrivit O mână de utilizatori cu acces aproape identic Mai multe echipe, multe locuri de muncă, acces care se schimbă pe măsură ce oamenii se mută

Regula generală este numărul de repetări ale unei permisiuni. Odată ce același model de bifare este introdus pentru un al treilea utilizator, un rol este mai ieftin de întreținut - același argument care împinge echipele de la joburi ad-hoc la un rol revizuit. Conducta CI/CD.

Întrebări frecvente

Două lucruri trebuie să fie adevărate. Pluginul Role-based Authorization Strategy trebuie instalat, iar opțiunea Authorization din ecranul de securitate trebuie setată la Role Based Strategy. Intrarea rămâne ascunsă până la salvarea celui de-al doilea pas.

Stop Jenkins, deschis config.xml în JENKINS_HOME și înlocuiți authorizationStrategy element cu <authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>, apoi reporniți. Păstrați întotdeauna un singur cont care să conțină General/Administrare pentru a evita necesitatea acestui lucru.

Da. Ecranul Atribuire roluri acceptă atât nume de grupuri, cât și nume de utilizatori, astfel încât un grup LDAP sau Active Directory poate fi atașat la un rol o singură dată, iar apartenența poate fi apoi gestionată în întregime în director.

Instrumentele de învățare automată compară permisiunile acordate cu ceea ce folosește efectiv fiecare cont și le marchează pe cele neutilizate, ceea ce scoate la iveală roluri supraprivilegiate mult mai rapid decât citirea manuală a unei matrice de permisiuni.

Copilotul GitHub scrie Groovy sau apeluri REST care creează roluri în bloc și creează expresii de model pentru rolurile elementelor. Revvizualizați tot ce produce înainte de a rula, deoarece un model greșit lărgește în mod silențios accesul.

Conturile se află sub JENKINS_HOME/users, un folder per utilizator cu un config.xml în interior. Rolurile și permisiunile aferente se află în fișierul principal JENKINS_HOME/config.xml, deci copierea de rezervă a folderului respectiv le păstrează pe ambele.

Ștergeți contul din lista de utilizatori, ceea ce elimină datele de conectare, dar nu și istoricul de construire al acestuia. Pentru a revoca accesul fără a șterge nimic, debifați caseta de selectare a rolului pentru utilizatorul respectiv din ecranul Atribuire roluri și salvați.

Da. Grupul de permisiuni Acreditări din ecranul Gestionare roluri acoperă vizualizarea, crearea și actualizarea secretelor stocate, astfel încât unui rol i se poate permite să execute un job în timp ce este blocat să citească acreditările pe care le utilizează.

Rezumați această postare cu: