Kako stvoriti/dodati korisnike u Jenkins & Upravljanje dozvolama

⚡ Pametni sažetak

Stvaranje korisnika u Jenkins potrebna su četiri klika, ali dodjeljivanje različitih dozvola svakoj od njih zahtijeva dodatak Role-based Authorization Strategy, koji zamjenjuje jednu globalnu ulogu svaki ugrađeni Jenkins račun inače dionice.

  • 🔘 Ugrađeno ograničenje: Jenkins može kreirati mnogo korisnika odmah, ali svaki od njih dobiva iste globalne privilegije.
  • ☑️ Prvo dodatak: Instalirajte Strategiju autorizacije temeljenu na ulogama, a zatim prebacite Autorizaciju na Strategiju temeljenu na ulogama prije nego što se pojavi bilo koji zaslon s ulogama.
  • ✅ Tri vrste uloga: Globalne uloge pokrivaju cijeli kontroler, uloge stavki ciljaju poslove i mape, a uloge agenata ciljaju strojeve za izradu.
  • 🧪 Obrađeni primjer: Uloga razvojnog programera se stvara, daje joj se dopuštenja i dodjeljuje korisniku guru99 na zaslonu Dodijeli uloge.
  • 🛠️ Uspoređivanje uzoraka: Uloga stavke koristi regularni izraz kao što je tester.* tako da svaki odgovarajući posao ili korisnik automatski preuzima ulogu.
  • ️ Sigurnosno pravilo: Neka jedan račun uvijek ima ovlasti Općenito/Administriranje, inače spremanje promjene uloge može blokirati sve.

Kako stvoriti i dodati korisnike u Jenkins i Upravljanje dozvolama

Općenito, u velikoj organizaciji postoji više odvojenih timova za upravljanje i izvršavanje poslova JenkinsAli upravljanje ovom gomilom korisnika i dodjeljivanje uloga njima može biti problematično.

Po defaultu, Jenkins dolazi s vrlo osnovnim opcijama za stvaranje korisnika. Možete stvoriti više korisnika, ali im možete dodijeliti samo iste globalne uloge i privilegije. To nije idealno, posebno za veliku organizaciju.

The Dodatak za strategiju uloga omogućuje vam dodjeljivanje različitih uloga i privilegija različitim korisnicima. Prvo ćete morati instalirati dodatak u svoj Jenkins okruženje, pa donji vodič prvo pokriva stvaranje korisnika, zatim dodatak, a zatim ekrane uloga koje otključava.

Kako stvoriti/dodati korisnika u Jenkins

U nastavku su navedeni koraci za stvaranje novog korisnika u Jenkins:

Korak 1) Prijavite se Jenkins Nadzorna ploča

Prijavite se na svoj Jenkins nadzornu ploču posjetom http://localhost:8080/

Ako niste instalirali Jenkins na vašem lokalnom poslužitelju idite na odgovarajući URL i pristupite svojoj nadzornoj ploči pomoću svojih prijavnih podataka. Nadzorna ploča na koju se nađete prikazana je u nastavku.

Jenkins nadzorna ploča otvorena u pregledniku na Jenkins put instalacije

Korak 2) Odaberite opciju

Sada ćete vidjeti opcije za stvaranje i dodavanje korisnika u Jenkins i upravljati trenutnim korisnicima.

upravljati Jenkins zaslon koji prikazuje opcije za stvaranje i upravljanje korisnicima

Korak 3) Stvorite novog korisnika

  • Pod Upravljanje JenkinsKliknite Stvori korisnika
  • ući Jenkins dodajte korisničke podatke poput lozinke, imena, e-pošte itd.
  • Pritisnite Stvori korisnika

Korak 4) Korisnik je kreiran

Na nadzornoj ploči vidjet ćete da je novi Jenkins Korisnik je kreiran prema unesenim podacima, kao što je prikazano na popisu korisnika u nastavku.

Popis korisnika na Jenkins nadzorna ploča nakon što je novi korisnik kreiran

⚠️ Napomena o verziji: struja Jenkins izdanja navode ovaj zaslon kao upravljati Jenkins > Korisnici više nego Upravljanje korisnicima, Izrada korisnika Gumb i polja na njemu ostaju nepromijenjeni, a zaslon postoji samo dok Jenkins'vlastita korisnička baza podataka je sigurnosno područje - LDAP ili područje jednokratne prijave umjesto toga upravlja računima izvana.'

Kako instalirati dodatak za strategiju uloga Jenkins

Ugrađeni korisnički ekran stvara račune, ali im ne može dati različite dozvole. Ta mogućnost dolazi s dodatkom Strategija autorizacije temeljena na ulogama, koji se instalira na sljedeći način.

Postoje dva načina za instaliranje dodataka u Jenkins:

  1. Instaliranje putem vašeg Jenkins kontrolna ploča
  2. Preuzimanje dodatka s Jenkins web stranicu i njezinu ručnu instalaciju.

Korak 1)

  1. Idi na upravljati Jenkins
  2. Kliknite na opciju Upravljanje dodacima

upravljati Jenkins stranica s istaknutom opcijom upravljanja dodacima

Korak 2)

  1. Na zaslonu s dostupnim odjeljcima potražite "uloga".
  2. Odaberite Uloga-temeljena strategija autorizacije uključiti
  3. Kliknite na "Instalirajte bez ponovnog pokretanja” (provjerite imate li aktivnu internetsku vezu)

Rezultati pretraživanja upravitelja dodataka koji prikazuju dodatak Strategija autorizacije temeljene na ulogama

⚠️ Napomena o verziji: put je sada upravljati Jenkins > Dodaci i kartica je označena Dostupni dodaciOkvir za pretraživanje i naziv dodatka su isti, tako da se gornja dva koraka i dalje primjenjuju.

Korak 3)

Nakon što je dodatak instaliran, prikazat će se status "uspjeh", kao što je prikazano na donjem zaslonu za instalaciju.

Zaslon za instalaciju dodatka koji prikazuje status uspješnosti dodatka za strategiju uloga

Kliknite na Vratite se na početnu stranicu.

Korak 4) Idi na upravljati Jenkins -> Konfiguriraj Globalnu sigurnost -> Pod ovlaštenje, select Strategija temeljena na ulozi. Kliknite na UŠTEDIOdjeljak Autorizacija izgleda ovako.

Odjeljak za autorizaciju na globalnom sigurnosnom zaslonu s odabranom strategijom temeljenom na ulogama

U tekućem Jenkins poveznica na ovu stranicu je upravljati Jenkins > Sigurnost, a sama stranica je još uvijek naslovljena Konfiguriraj globalnu sigurnost s istim padajućim izbornikom Autorizacija.

Vrste uloga u dodatku Strategija uloga

Nakon što je Strategija temeljena na ulogama aktivna, dodatak nudi tri odvojena opsega uloga. Odabir pogrešnog opsega najčešći je razlog zašto dopuštenje nema učinka, stoga je vrijedno znati što svaki od njih pokriva prije nego što bilo što stvorite.

Tip uloge Djelokrug Tipična upotreba
Globalne uloge Cijela Jenkins kontroler i oni nadjačavaju sve što je postavljeno u ulogama stavki administrator, autentificirana uloga samo za čitanje, anonimno
Uloge stavki Poslovi, cjevovodi i mape čije puno ime odgovara uzorku regularnog izraza Davanje prava na izgradnju i konfiguriranje jednom timu samo za vlastite zadatke
Uloge agenta Izgradi agente koji odgovaraju uzorku Omogućavanje timu da poveže ili odspoji vlastite agente

U donjem vodiču se koristi globalna uloga za razvijač i ulogu stavke za uređaj za ispitivanjeObratite pažnju na imenovanje: dodatak sada poziva drugi opseg Uloge stavki, jer pokriva mape i cjevovode kao i obične poslove. Starija izdanja - i snimke zaslona dalje na ovoj stranici - označavaju istu tablicu Uloge u projektu.

Kako upravljati korisnicima i ulogama u Jenkins

Slijede koraci za upravljanje i dodjeljivanje uloga u Jenkins:

Korak 1)

  1. Idi na upravljati Jenkins
  2. odabrati Upravljanje i dodjela uloga

upravljati Jenkins stranica koja prikazuje unos Upravljanje i dodjeljivanje uloga koji je dodao dodatak

Bilješka: da je Upravljanje i dodjela uloga Opcija će biti vidljiva samo ako ste instalirali dodatak za strategiju uloga i prebacili Autorizaciju na Strategiju temeljenu na ulogama.

Korak 2) Kliknite na Upravljanje ulogama za dodavanje novih uloga na temelju vaše organizacije.

Zaslon Upravljanje i dodjeljivanje uloga s opcijom Upravljanje ulogama

Korak 3) Za stvaranje nove uloge pod nazivom "razvojni programer",

  1. Upišite "developer" pod "uloga".
  2. Kliknite na "Dodaj" za stvaranje nove uloge.
  3. Sada odaberite opciju Jenkins korisnička dopuštenja koja želite dodijeliti ulozi "Razvojni programer".
  4. kliknite Spremi

Mreža kućica za potvrdu koja se pojavljuje prikazana je dolje.

Zaslon Upravljanje ulogama s dodanom ulogom razvojnog programera i označenim dopuštenjima

Jenkins Grupe dozvola koje možete dodijeliti ulozi

Potvrdni okviri na zaslonu Upravljanje ulogama grupirani su prema objektu na koji svako dopuštenje djeluje. Tablica u nastavku objašnjava što svaka grupa kontrolira, što znatno olakšava dodjeljivanje minimuma koji je timu zapravo potreban.

Grupa dozvola Što daje
Cjelokupno Administriranje, čitanje i ostala prava za cijeli kontroler. Administrirati ima potpunu kontrolu, stoga je dodjeljujte štedljivo.
akreditiv Pregledavanje, stvaranje i ažuriranje pohranjenih vjerodajnica
Agent Konfiguriranje, povezivanje, odspajanje i brisanje agenata za izgradnju
Posao Izgradnja, Otkazivanje, Konfiguriranje, Stvaranje, Brisanje, Čitanje, Radni prostor i Premještanje poslova
trčanje Brisanje, ponovna reprodukcija i ažuriranje pojedinačnog zapisa o izgradnji
Pogled Izrada, konfiguriranje, brisanje i čitanje prikaza nadzorne ploče
SCM Pokretanje izgradnje iz hook-a za kontrolu izvornog koda

Započnite svaku novu ulogu s Ukupno/Pročitano plus Posao/ČitanjeBez te dvije, prijavljeni korisnik vidi praznu nadzornu ploču čak i kada su označena ostala dopuštenja, što je najčešće prijavljena zbrka s ovim dodatkom.

Kako dodijeliti uloge u Jenkins

Korak 1) Sada kada ste izradili uloge, dodijelimo ih određenim korisnicima.

  1. Idi na upravljati Jenkins
  2. Odaberite Upravljanje i dodjeljivanje uloga

Zaslon Upravljanje i dodjeljivanje uloga otvoren je za pristup opciji Dodjeljivanje uloga

Korak 2) Dodat ćemo novu ulogu "developer" korisniku "guru99"

  1. Označite potvrdni okvir uloge razvojnog programera
  2. kliknite Spremi

Zaslon Dodijeli uloge s označenim potvrdnim okvirom uloge razvojnog programera za korisnika guru99

Možete dodijeliti bilo koju ulogu bilo kojem korisniku, prema vašim potrebama.

Kako stvoriti uloge u projektu u Jenkins

Globalne uloge primjenjuju se svugdje. Kada se dopuštenje treba primjenjivati ​​samo na jedan skup poslova, umjesto toga stvorite ulogu projekta - opseg koji dodatak sada naziva ulogom stavke.

Možete stvoriti uloge specifične za projekt pod Projektne uloge.

Korak 1) In JenkinsUpravljanje i dodjeljivanje uloga

  1. Unesite ulogu kao "tester"
  2. Ovome dodajte uzorak dodavanjem tester.*, tako da će svakom korisničkom imenu koje počinje s "tester" biti dodijeljena projektna uloga koju navedete.
  3. Kliknite Dodaj
  4. Odaberite privilegije
  5. kliknite Spremi

Ispunjena tablica Uloge u projektu prikazana je u nastavku.

Tablica uloga projekta s ulogom testera i unesenim uzorkom točka-zvijezda testera

Uzorak je regularni izraz koji se uspoređuje s punim nazivom stavke, dakle tester.* također odgovara mapi pod nazivom paket za testiranje i sve u njemu. Isprobajte novi uzorak na jednokratnom poslu prije nego što ga primijenite na stvarni posao. projekt slobodnog stila ili posao s cjevovodom.

Sigurnost temeljena na matrici u odnosu na strategiju temeljenu na ulogama

Strategija temeljena na ulogama nije jedina opcija autorizacije u tom padajućem izborniku. Jenkins isporučuje se s ugrađenom sigurnošću temeljenom na matrici, a za malu instalaciju to bi moglo biti sve što je potrebno.

Točka usporedbe Sigurnost temeljena na matrici Strategija temeljena na ulogama
Montaža Ugrađeno Jenkins Potreban je dodatak Strategija autorizacije temeljena na ulogama
Jedinica dodjele Svakom korisniku ili grupi izravno se dodjeljuju dopuštenja Dozvole pripadaju imenovanoj ulozi, a korisnici su pridruženi ulozi
Dodavanje desetog korisnika Cijeli redak s dozvolama ponavlja se ručno Označite jedan potvrdni okvir za ulogu
Kontrola po poslu Autorizacija matrice temeljena na projektu, konfigurirana posao po posao Jedna uloga stavke s uzorkom pokriva svaki odgovarajući posao
Najbolje odgovara Šačica korisnika s gotovo identičnim pristupom Nekoliko timova, mnogo poslova, pristup koji se mijenja kako se ljudi kreću

Pravilo je koliko se puta dopuštenje ponavlja. Nakon što se isti uzorak označavanja unese za trećeg korisnika, uloga je jeftinija za održavanje - isti argument koji gura timove od ad-hoc poslova prema pregledanim CI/CD cjevovod.

Pitanja i odgovori

Dvije stvari moraju biti istinite. Mora biti instaliran dodatak Role-based Authorization Strategy, a autorizacija na sigurnosnom zaslonu mora biti postavljena na Role-based Strategy. Unos ostaje skriven dok se ne spremi drugi korak.

zaustaviti Jenkins, otvoren config.xml u JENKINS_HOME i zamijenite authorizationStrategy element s <authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>, a zatim ponovno pokrenite. Uvijek imajte jedan račun s ukupnim/administracijskim pristupom kako biste izbjegli potrebu za ovim.

Da. Zaslon Dodijeli uloge prihvaća nazive grupa kao i korisnička imena, tako da se LDAP ili Active Directory grupa može jednom pridružiti ulozi, a članstvo se zatim u potpunosti obrađuje u direktoriju.

Alati za strojno učenje uspoređuju dodijeljena dopuštenja s onim što svaki račun zapravo koristi i označavaju neiskorištena, što otkriva previše privilegirane uloge puno brže nego ručno čitanje matrice dopuštenja.

GitHub kopilot piše Groovy ili REST pozive koji skupno stvaraju uloge i izrađuju skice izraza uzoraka za uloge stavki. Revpregledati sve što proizvede prije nego što se pokrene, jer pogrešan uzorak tiho proširuje pristup.

Računi se nalaze pod JENKINS_HOME/users, jedna mapa po korisniku s config.xml unutra. Uloge i njihova dopuštenja nalaze se u glavnoj JENKINS_HOME/config.xml, pa sigurnosna kopija te mape čuva oboje.

Izbrišite račun s popisa korisnika, čime se uklanja prijava, ali ne i povijest izrade. Da biste opozvali pristup bez brisanja ičega, poništite potvrdni okvir uloge za tog korisnika na zaslonu Dodijeli uloge i spremite.

Da. Grupa dozvola Vjerodajnice na zaslonu Upravljanje ulogama pokriva pregled, stvaranje i ažuriranje pohranjenih tajnih podataka, tako da se ulozi može dopustiti pokretanje zadatka, a istovremeno joj se blokira čitanje vjerodajnica koje koristi.

Sažmite ovu objavu uz: