Felhasználók létrehozása/hozzáadása a Jenkins Engedélyek kezelése

⚡ Okos összefoglaló

Felhasználók létrehozása itt: Jenkins négy kattintást igényel, de mindegyikhez különböző jogosultságok hozzárendelése a Szerepköralapú Authorization Strategy bővítményt igényli, amely minden beépített modulban lecseréli az egyetlen globális szerepkört. Jenkins a számla egyébként megosztja.

  • 🔘 Beépített korlát: Jenkins sok felhasználót hozhat létre azonnal, mégis mindegyikük ugyanazokat a globális jogosultságokat kapja.
  • ☑️ Először a bővítmény: Telepítse a szerepköralapú engedélyezési stratégiát, majd váltson az engedélyezésről szerepköralapú stratégiára, mielőtt megjelenne bármelyik szerepkör-képernyő.
  • Három szerepkör típus: A globális szerepkörök lefedik a teljes vezérlőt, az elem szerepkörök a feladatokra és mappákra, az ügynök szerepkörök pedig az építési gépekre vonatkoznak.
  • 🧪 Működő példa: Létrejön egy fejlesztői szerepkör, jogosultságokat kap, és a Szerepkörök hozzárendelése képernyőn hozzárendelődik a guru99 felhasználóhoz.
  • 🇧🇷 Mintaillesztés: Egy elem szerepkör reguláris kifejezést használ, például a tester.*-ot, így minden egyező feladat vagy felhasználó automatikusan felveszi a szerepkört.
  • 🇧🇷 Biztonsági szabály: Mindig egyetlen fiókot használj, amely az Általános/Adminisztrációs jogosultságot tartalmazza, különben egy szerepkör-változás mentése mindenki kizárását okozhatja.

Felhasználók létrehozása és hozzáadása a Jenkins és az engedélyek kezelése

Egy nagy szervezetben általában több különálló csapat kezeli és futtatja a feladatokat. JenkinsDe ennek a felhasználói tömegnek a kezelése és a szerepkörök hozzárendelése hozzájuk nehézkesnek bizonyulhat.

Alapértelmezésben, Jenkins nagyon alapvető felhasználó-létrehozási lehetőségekkel rendelkezik. Több felhasználót is létrehozhat, de csak ugyanazokat a globális szerepköröket és jogosultságokat rendelheti hozzájuk. Ez nem ideális, különösen egy nagy szervezet számára.

Az Szerepstratégiai beépülő modul lehetővé teszi különböző szerepkörök és jogosultságok hozzárendelését a különböző felhasználókhoz. Először telepítenie kell a bővítményt a Jenkins környezet, így az alábbi útmutató először a felhasználók létrehozását, majd a bővítményt, végül pedig a feloldott szerepkör-képernyőket tárgyalja.

Felhasználó létrehozása/hozzáadása a Jenkins

Az alábbiakban bemutatjuk egy új felhasználó létrehozásának lépéseit a következőben: Jenkins:

1. lépés) Bejelentkezés Jenkins Műszerfal

Jelentkezzen be Jenkins irányítópult felkeresésével http://localhost:8080/

Ha még nem telepítette Jenkins a helyi szerveren, menj a megfelelő oldalra URL és a bejelentkezési adataiddal férj hozzá az irányítópulthoz. Az irányítópult, amelyre most jutsz, alább látható.

Jenkins irányítópult megnyitva a böngészőben a következő helyen: Jenkins telepítési útvonal

2. lépés) Válassza ki a lehetőséget

Mostantól látni fogod a felhasználók létrehozásának és hozzáadásának lehetőségeit. Jenkins és kezelheti a jelenlegi felhasználókat.

kezel Jenkins képernyő, amelyen a felhasználók létrehozásának és kezelésének lehetőségei láthatók

3. lépés) Hozzon létre egy új felhasználót

  • Kezelés alatt JenkinsKattintson a Felhasználó létrehozása gombra
  • belép Jenkins felhasználói adatok hozzáadása, például név, e-mail cím, jelszó stb.
  • Kattintson a Felhasználó létrehozása elemre

4. lépés) Felhasználó létrehozása

Látni fogja az irányítópulton, hogy egy új Jenkins A felhasználó a megadott adatok alapján jött létre, ahogy az alábbi felhasználói listában látható.

Felhasználói lista a Jenkins irányítópult az új felhasználó létrehozása után

⚠️ Verzió megjegyzés: jelenlegi Jenkins kiadások listázzák ezt a képernyőt a következőként kezel Jenkins > Felhasználók helyett Felhasználók kezelése Az Felhasználó létrehozása gomb és a rajta lévő mezők változatlanok maradnak, és a képernyő csak akkor létezik, amikor JenkinsA saját felhasználói adatbázis a biztonsági tartomány – egy LDAP vagy egyszeri bejelentkezési tartomány külsőleg kezeli a fiókokat.

Hogyan telepítsük a Role Strategy bővítményt? Jenkins

A beépített felhasználói képernyő fiókokat hoz létre, de nem tud nekik eltérő jogosultságokat adni. Ez a képesség a Role-based Authorization Strategy bővítménnyel érkezik, amely az alábbiak szerint telepíthető.

Kétféleképpen lehet telepíteni a bővítményeket Jenkins:

  1. Telepítés a Jenkins műszerfal
  2. A bővítmény letöltése innen: Jenkins weboldalt, és manuálisan telepíti.

Step 1)

  1. Tovább kezel Jenkins
  2. Kattintson a Bővítmények kezelése opcióra

kezel Jenkins oldal, amelyen a bővítménykezelési opció kiemelve van

Step 2)

  1. Az elérhető képernyőszekcióban keressen rá a „szerepkör” kifejezésre.
  2. Válassza a Szerep lehetőséget-alapú engedélyezési stratégia csatlakoztat
  3. Kattintson "Telepítés újraindítás nélkül” (győződjön meg arról, hogy van aktív internetkapcsolata)

A Szerepköralapú Authorizációs Stratégia bővítményt listázó bővítménykezelő keresési eredményei

⚠️ Verzió megjegyzés: az út most kezel Jenkins > Bővítmények és a fül felirata Elérhető bővítményekA keresőmező és a bővítmény neve megegyezik, így a fenti két lépés továbbra is érvényes.

Step 3)

A bővítmény telepítése után a „sikeres” állapot jelenik meg, ahogy az alábbi telepítési képernyőn is látható.

A beépülő modul telepítési képernyője, amely a szerepkörstratégiai beépülő modul sikerességének állapotát mutatja.

Kattints a Menjen vissza a felső oldalra.

Step 4) Tovább kezel Jenkins -> Globális biztonság konfigurálása -> Alatt felhatalmazás, válasszuk Szerep alapú stratégia. Kattints a MegtakarításAz Engedélyezési szakasz így néz ki.

A globális biztonsági képernyő Engedélyezési szakasza, ahol a Szerepköralapú stratégia van kiválasztva

Jelenlegi Jenkins az oldal linkje ez kezel Jenkins > Biztonság, és maga az oldal továbbra is a következő címmel rendelkezik: Globális biztonság konfigurálása ugyanazzal a Felhatalmazás legördülő menüvel.

Szerepkörök típusai a Szerepkörstratégia bővítményben

Miután a Szerepköralapú Stratégia aktív, a bővítmény három különálló szerepkör-hatókört kínál. A rossz hatókör kiválasztása a leggyakoribb oka annak, hogy egy engedély látszólag hatástalannak tűnik, ezért érdemes tudni, hogy mit fed le mindegyik, mielőtt bármit is létrehoznánk.

Szereptípus Kör Tipikus felhasználás
Globális szerepkörök Az egész Jenkins vezérlő, és felülírnak mindent, amit az elem szerepkörökben beállítottak admin, hitelesített, csak olvasható szerepkör, anonim
Elem szerepkörök Jobok, folyamatok és mappák, amelyek teljes neve megegyezik egy reguláris kifejezés mintával Egy csapatnak Build és Configure jogosultságokat ad, csak a saját feladataira vonatkozóan
Ügynök szerepek Minta alapján illesztett ügynökök létrehozása Csapat saját ügynökeinek csatlakoztatása vagy leválasztása

Az alábbi oktatóanyag egy globális szerepkört használ a következőhöz: fejlesztő és egy elem szerepe a következőhöz: vizsgálóFigyeljük meg az elnevezést: a bővítmény mostantól meghívja a második hatókört. Elem szerepkörök, mivel a sima feladatok mellett a mappákat és a folyamatokat is lefedi. A régebbi kiadásokban – és az ezen az oldalon lejjebb található képernyőképeken – ugyanaz a táblázat szerepel. Projekt szerepkörök.

Felhasználók és szerepkörök kezelése a Jenkins

A következő lépések bemutatják a szerepkörök kezelését és kiosztását a következőben: Jenkins:

Step 1)

  1. Tovább kezel Jenkins
  2. választ Szerepek kezelése és kiosztása

kezel Jenkins a bővítmény által hozzáadott Szerepkörök kezelése és hozzárendelése bejegyzést mutató oldal

Jegyzet: hogy a Szerepek kezelése és kiosztása Ez a beállítás csak akkor lesz látható, ha telepítette a szerepkör-stratégia bővítményt, és a hitelesítést szerepkör-alapú stratégiára állította.

Step 2) Kattints a Szerepek kezelése új szerepkörök hozzáadásához a szervezete alapján.

Szerepkörök kezelése és kiosztása képernyő a Szerepkörök kezelése opcióval

Step 3) Egy új, „fejlesztő” nevű szerepkör létrehozásához

  1. Írja be a „fejlesztő” kifejezést a „szerepkör” alá.
  2. Új szerepkör létrehozásához kattintson a „Hozzáadás” gombra.
  3. Most válassza ki a Jenkins a „Fejlesztő” szerepkörhöz hozzárendelni kívánt felhasználói jogosultságok.
  4. Kattintson a Mentés gombra

A megjelenő jelölőnégyzetek rácsa alább látható.

Szerepkörök kezelése képernyő, amelyen a fejlesztői szerepkör hozzáadva és az engedélyei bejelölve vannak

Jenkins Szerepkörhöz hozzárendelhető jogosultságcsoportok

A Szerepkörök kezelése képernyőn a jelölőnégyzetek az egyes engedélyek által érintett objektumok szerint vannak csoportosítva. Az alábbi táblázat elmagyarázza, hogy mit szabályoz az egyes csoportok, ami sokkal könnyebbé teszi a csapat számára szükséges minimum megadását.

Engedélycsoport Mit biztosít
Összeségében Adminisztrálás, Olvasás és egyéb, vezérlőszintű jogosultságok. Igazgatás teljes mértékben uralja a helyzetet, ezért csak mértékkel add meg.
Hitelesítő adatok Tárolt hitelesítő adatok megtekintése, létrehozása és frissítése
Ügynök Build ügynökök konfigurálása, csatlakoztatása, leválasztása és törlése
Munka Feladatok építése, visszavonása, konfigurálása, létrehozása, törlése, olvasása, munkaterület és áthelyezése
futás Egyedi build rekord törlése, visszajátszása és frissítése
Kilátás Irányítópult nézetek létrehozása, konfigurálása, törlése és olvasása
SCM Build indítása egy verziókövetési hookból

Minden új szerepkört ezzel kezdj Összességében/Olvasva plusz Feladat/OlvasásE kettő nélkül a bejelentkezett felhasználó üres irányítópultot lát, még akkor is, ha más engedélyek be vannak jelölve, ami a bővítménnyel kapcsolatban leggyakrabban jelentett zavar.

Hogyan lehet szerepköröket kiosztani a Jenkins

Step 1) Most, hogy létrehozta a szerepköröket, rendelje hozzá azokat adott felhasználókhoz.

  1. Tovább kezel Jenkins
  2. Válassza a Szerepkörök kezelése és hozzárendelése lehetőséget

Megnyílt a Szerepkörök kezelése és kiosztása képernyő, ahol elérhető a Szerepkörök kiosztása opció.

Step 2) Az új „fejlesztő” szerepkört hozzáadjuk a „felhasználóhoz”guru99"

  1. Jelölje be a fejlesztői szerepkör jelölőnégyzetet
  2. Kattintson a Mentés gombra

Szerepkörök hozzárendelése képernyő, ahol a guru99 felhasználó fejlesztői szerepköre be van jelölve.

Bármely felhasználóhoz bármilyen szerepet hozzárendelhet, igénye szerint.

Projekt szerepkörök létrehozása a Jenkins

A globális szerepkörök mindenhol érvényesek. Ha egy engedélynek csak egy feladatcsoportra kell vonatkoznia, akkor hozz létre egy projekt szerepkört – ezt a hatókört a bővítmény mostantól elem szerepkörnek nevezi.

Az alatt projektspecifikus szerepköröket hozhat létre Projektszerepek.

Step 1) In JenkinsSzerepkörök kezelése és kiosztása

  1. Adjon meg egy szerepet „tesztelőként”
  2. Adjon hozzá egy mintát a hozzáadással vizsgáló.*, így minden „tesztelő” karakterrel kezdődő felhasználónév hozzá lesz rendelve az Ön által megadott projektszerephez.
  3. Kattintson a Hozzáadás gombra
  4. Válassza ki a jogosultságokat
  5. Kattintson a Mentés gombra

A kitöltött Projekt Szerepkörök táblázata alább látható.

Projekt Szerepkörök táblázata egy tesztelői szerepkörrel és a tesztelő pontcsillag mintázat megadásával

A minta egy reguláris kifejezés, amely az elem teljes nevéhez van illesztve, tehát tester.* nevű mappára is illeszkedik tesztelői csomag és mindent, ami benne van. Teszteljen egy új mintát egy eldobható munkán, mielőtt egy élő munkán alkalmazná. szabadstílusú projekt vagy folyamatfeladat.

Mátrixalapú biztonság vs. szerepköralapú stratégia

A Szerepköralapú stratégia nem az egyetlen jogosultságkezelési lehetőség ebben a legördülő menüben. Jenkins beépített mátrix alapú biztonsággal szállítják, és egy kisebb telepítéshez lehet, hogy ez minden, amire szükség van.

Összehasonlítási pont Mátrix alapú biztonság Szerepköralapú stratégia
Telepítés Beépítve Jenkins Szükséges a Szerepköralapú Authorization Strategy bővítmény
Feladat egysége Minden felhasználó vagy csoport közvetlenül kap jogosultságokat A jogosultságok egy elnevezett szerepkörhöz tartoznak, és a felhasználók a szerepkörhöz vannak rendelve.
A tizedik felhasználó hozzáadása A teljes jogosultságsor kézzel ismétlődik Jelöljön be egy szerepkört
Feladatonkénti vezérlés Projekt alapú mátrixengedélyezés, jobról jobra konfigurálható Egyetlen, mintával ellátott elemszerepkör lefedi az összes egyező munkát
Legjobban illeszkedő Néhány felhasználó közel azonos hozzáféréssel Több csapat, sok munka, hozzáférés, ami az emberek mozgásával változik

Az ökölszabály az, hogy hányszor ismételjük meg egy engedélyt. Ha ugyanazt a pipamintát egy harmadik felhasználónál is megadják, egy szerepkör fenntartása olcsóbb – ugyanaz az érv, ami a csapatokat az eseti munkákról az áttekinthető feladatok felé tereli. CI/CD csővezeték.

GYIK

Két dolognak kell egyszerre teljesülnie. Telepíteni kell a Szerepköralapú Authorization Strategy bővítményt, és a biztonsági képernyőn a Hitelesítés beállításnak Szerepköralapú Stratégia értékre kell állnia. A bejegyzés rejtve marad, amíg a második lépést el nem mentik.

megáll Jenkins, nyisd ki config.xml a JENKINS_HOME könyvtárban, és cserélje ki a authorizationStrategy elem <authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>, majd indítsa újra. Mindig egyetlen fiókot tartson meg az Összes/Adminisztráció részben, hogy elkerülje ezt.

Igen. A Szerepkörök hozzárendelése képernyő a felhasználónevek mellett csoportneveket is elfogad, így egy LDAP vagy Active Directory csoport egyszer csatolható egy szerepkörhöz, és a tagság teljes egészében a címtárban kezelhető.

A gépi tanulási eszközök összehasonlítják a megadott engedélyeket az egyes fiókok tényleges használatával, és megjelölik a nem használtakat, ami sokkal gyorsabban felszínre hozza a túlzottan privilégiumos szerepköröket, mint egy jogosultsági mátrix kézi olvasása.

GitHub másodpilóta írja a Groovy vagy REST hívások, amelyek tömegesen hoznak létre szerepköröket, és mintakifejezéseket készítenek az elemszerepkörökhöz. RevNézze meg bármit, amit létrehoz, mielőtt futna, mert egy rossz minta csendben kiszélesíti a hozzáférést.

A számlák alatt vannak JENKINS_HOME/users, felhasználónként egy mappa egy config.xml belül. A szerepkörök és azok jogosultságai a fő JENKINS_HOME/config.xml, így a mappa biztonsági mentése mindkettőt megőrzi.

Törölje a fiókot a felhasználók listájából, amivel eltávolítja a bejelentkezést, de a létrehozási előzményeket nem. A hozzáférés törlésének visszavonásához a Szerepkörök hozzárendelése képernyőn törölje a felhasználóhoz tartozó szerepkör jelölőnégyzetének jelölését, majd mentse el a műveletet.

Igen. A Szerepkörök kezelése képernyőn található Hitelesítő adatok jogosultságcsoport a tárolt titkos adatok megtekintését, létrehozását és frissítését fedi le, így egy szerepkör számára engedélyezhető egy feladat futtatása, miközben a használt hitelesítő adatok olvasása blokkolva van.

Foglald össze ezt a bejegyzést a következőképpen: