Come creare/aggiungere utenti in Jenkins e Gestisci le autorizzazioni

⚡ Riepilogo intelligente

Creazione di utenti in Jenkins richiede quattro clic, ma l'assegnazione di autorizzazioni diverse a ciascuna di esse richiede il plugin Strategia di autorizzazione basata sui ruoli, che sostituisce il singolo ruolo globale di ogni integrato Jenkins conto altrimenti azioni.

  • 🔘 Limite predefinito: Jenkins È possibile creare molti utenti predefiniti, ma ognuno di essi riceve gli stessi privilegi globali.
  • ☑️ Prima di tutto, installa il plugin: Installa la strategia di autorizzazione basata sui ruoli, quindi passa alla strategia di autorizzazione basata sui ruoli prima che venga visualizzata qualsiasi schermata di ruolo.
  • ✅ Tre tipologie di ruoli: I ruoli globali riguardano l'intero controller, i ruoli degli elementi si applicano a processi e cartelle, mentre i ruoli degli agenti si applicano alle macchine di compilazione.
  • 🧪 Esempio pratico: Nella schermata Assegna ruoli, viene creato un ruolo sviluppatore, a cui vengono assegnate le autorizzazioni e che viene assegnato all'utente guru99.
  • ️ Abbinamento di modelli: Un ruolo per un elemento utilizza un'espressione regolare come tester.* in modo che ogni lavoro o utente corrispondente assuma automaticamente tale ruolo.
  • ⚙️ Regola di sicurezza: Assicurati che ci sia sempre un account con i privilegi di Amministratore/Generale, altrimenti il ​​salvataggio di una modifica del ruolo potrebbe bloccare l'accesso a tutti.

Come creare e aggiungere utenti in Jenkins e Gestisci le autorizzazioni

Generalmente, in una grande organizzazione, ci sono più team separati per gestire e svolgere lavori in JenkinsGestire però questa moltitudine di utenti e assegnare loro dei ruoli può rivelarsi problematico.

Per impostazione predefinita, Jenkins Offre opzioni di creazione utente molto basilari. È possibile creare più utenti, ma assegnare loro solo gli stessi ruoli e privilegi globali. Questo non è l'ideale, soprattutto per una grande organizzazione.

Migliori Plugin per la strategia dei ruoli ti consente di assegnare ruoli e privilegi diversi a utenti diversi. Dovrai prima installare il plugin nel tuo Jenkins ambiente, quindi la procedura guidata seguente illustra prima la creazione dell'utente, poi il plugin e infine le schermate dei ruoli che esso sblocca.

Come creare/aggiungere un utente in Jenkins

Di seguito sono riportati i passaggi per creare un nuovo utente in Jenkins:

Passaggio 1) Accedi a Jenkins Cruscotto

Accedi al tuo Jenkins dashboard visitando http://localhost:8080/

Se non hai installato Jenkins nel tuo server locale, vai all'appropriato URL e accedi alla tua dashboard utilizzando le tue credenziali di accesso. La dashboard che visualizzerai è mostrata qui sotto.

Jenkins dashboard aperto nel browser all' Jenkins percorso di installazione

Passaggio 2) Scegli l'opzione

Ora vedrai le opzioni per creare e aggiungere un utente in Jenkins e gestire gli utenti attuali.

gestire Jenkins schermata che mostra le opzioni per la creazione e la gestione degli utenti

Passaggio 3) Crea un nuovo utente

  • In Gestisci Jenkins, Fare clic su Crea utente
  • entra Jenkins aggiungi i dettagli dell'utente come password, nome, email ecc.
  • Fare clic su Crea utente

Passaggio 4) L'utente viene creato

Vedrai sulla dashboard che un nuovo Jenkins L'utente è stato creato in base ai dati inseriti, come mostrato nell'elenco utenti sottostante.

Elenco utenti su Jenkins dashboard dopo la creazione del nuovo utente

⚠️ Nota sulla versione: corrente Jenkins Le versioni elencano questa schermata come gestire Jenkins > Utenti anziché Gestisci utenti. Crea utente il pulsante e i campi su di esso rimangono invariati e lo schermo esiste solo finché JenkinsIl database utenti interno costituisce l'ambito di sicurezza; un ambiente LDAP o di single sign-on gestisce gli account esternamente.

Come installare il plugin Role Strategy in Jenkins

La schermata utente integrata crea account ma non può assegnare loro autorizzazioni diverse. Questa funzionalità è disponibile con il plugin Strategia di autorizzazione basata sui ruoli, installabile come segue.

Esistono due metodi per installare i plugin in Jenkins:

  1. Installandolo tramite il tuo Jenkins cruscotto
  2. Scaricare il plugin da Jenkins sito web e installarlo manualmente.

Passo 1)

  1. Vai su gestire Jenkins
  2. Fai clic sull'opzione Gestisci plugin

gestire Jenkins pagina con l'opzione di gestione dei plugin evidenziata

Passo 2)

  1. Nella schermata della sezione disponibile, cerca "ruolo".
  2. Seleziona RuoloStrategia di autorizzazione basata su principi plug-in
  3. Clicca su "Installa senza riavviare" (assicurati di avere una connessione Internet attiva)

Risultati della ricerca in Gestione plugin che elencano il plugin Strategia di autorizzazione basata sui ruoli

⚠️ Nota sulla versione: il percorso è ora gestire Jenkins > Plugin e la scheda è etichettata Plugin disponibiliLa casella di ricerca e il nome del plugin sono identici, quindi i due passaggi precedenti rimangono validi.

Passo 3)

Una volta installato il plugin, verrà visualizzato lo stato "successo", come mostrato nella schermata di installazione qui sotto.

Schermata di installazione del plugin che mostra lo stato di successo del plugin per la strategia dei ruoli.

Fare clic su Torna alla pagina principale.

Passo 4) Vai su gestire Jenkins -> Configura sicurezza globale -> Sotto Autorizzazione, select Strategia basata sui ruoli. Fare clic su SalvaLa sezione Autorizzazione si presenta in questo modo.

Sezione Autorizzazioni della schermata di sicurezza globale con Strategia basata sui ruoli selezionata

In corrente Jenkins Il link a questa pagina è gestire Jenkins > Sicurezzae la pagina stessa è ancora intestata Configurare la sicurezza globale con lo stesso menu a tendina di autorizzazione.

Tipologie di ruoli nel plugin Strategia dei ruoli

Una volta attivata la strategia basata sui ruoli, il plugin offre tre ambiti di ruolo distinti. La scelta dell'ambito sbagliato è la causa più comune per cui un'autorizzazione sembra non avere effetto, quindi è importante sapere cosa copre ciascuno di essi prima di creare qualsiasi cosa.

Tipo di ruolo Obbiettivo Utilizzo tipico
ruoli globali Il tutto Jenkins controller e sovrascrivono qualsiasi impostazione definita nei ruoli degli elementi amministratore, un ruolo di sola lettura autenticato, anonimo
Ruoli degli articoli Processi, pipeline e cartelle il cui nome completo corrisponde a un modello di espressione regolare Assegnare a un team i diritti di Build e Configure solo sui propri job
Ruoli dell'agente Crea agenti abbinati secondo uno schema Consentire a un team di connettere o disconnettere i propri agenti

Il tutorial seguente utilizza un ruolo globale per sviluppatore e un ruolo di elemento per tester. Nota la denominazione: il plugin ora chiama il secondo ambito Ruoli degli articoli, perché copre cartelle e pipeline oltre ai semplici job. Le versioni precedenti — e gli screenshot più in basso in questa pagina — etichettano la stessa tabella Ruoli nel progetto.

Come gestire utenti e ruoli in Jenkins

Di seguito sono riportati i passaggi su come gestire e assegnare i ruoli in Jenkins:

Passo 1)

  1. Vai su gestire Jenkins
  2. Seleziona Gestire e assegnare ruoli

gestire Jenkins pagina che mostra la voce Gestisci e assegna ruoli aggiunta dal plugin

Nota: che l' Gestire e assegnare ruoli Questa opzione sarà visibile solo se hai installato il plugin per la strategia dei ruoli e hai impostato l'autorizzazione sulla strategia basata sui ruoli.

Passo 2) Fare clic su Gestisci ruoli per aggiungere nuovi ruoli in base alla tua organizzazione.

Schermata Gestisci e assegna ruoli con l'opzione Gestisci ruoli

Passo 3) Per creare un nuovo ruolo chiamato “sviluppatore”,

  1. Digitare "sviluppatore" in "ruolo".
  2. Fare clic su "Aggiungi" per creare un nuovo ruolo.
  3. Ora seleziona il Jenkins Autorizzazioni utente che si desidera assegnare al ruolo "Sviluppatore".
  4. Fare clic su Salva

La griglia di caselle di spunta che appare è mostrata qui sotto.

Schermata Gestisci ruoli con il ruolo sviluppatore aggiunto e le relative autorizzazioni selezionate.

Jenkins Gruppi di autorizzazioni che è possibile assegnare a un ruolo

Le caselle di spunta nella schermata Gestisci ruoli sono raggruppate in base all'oggetto su cui agisce ciascuna autorizzazione. La tabella seguente spiega cosa controlla ciascun gruppo, semplificando notevolmente la concessione delle autorizzazioni minime effettivamente necessarie a un team.

Gruppo di autorizzazioni Ciò che concede
Totale Diritti di amministrazione, lettura e altri diritti validi per l'intero controller. Amministrare ha il pieno controllo, quindi concedilo con parsimonia.
Credenziali Visualizzazione, creazione e aggiornamento delle credenziali memorizzate
Agente Configurazione, connessione, disconnessione ed eliminazione degli agenti di build
Lavoro Costruisci, Annulla, Configura, Crea, Elimina, Leggi, Area di lavoro e Sposta sui lavori
Correre Eliminazione, riproduzione e aggiornamento di un singolo record di build
Visualizzare Creazione, configurazione, eliminazione e lettura delle viste del dashboard
SCM Attivazione di una build tramite un hook di controllo versione

Inizia ogni nuovo ruolo con Generale/Leggi più Lavoro/LeggiSenza questi due elementi, un utente autenticato visualizza una dashboard vuota anche quando altre autorizzazioni sono selezionate, e questa è la principale causa di confusione segnalata con questo plugin.

Come assegnare i ruoli in Jenkins

Passo 1) Ora che hai creato i ruoli, assegniamoli a utenti specifici.

  1. Vai su gestire Jenkins
  2. Seleziona Gestisci e assegna ruoli

Si è aperta la schermata Gestisci e assegna ruoli per accedere all'opzione Assegna ruoli

Passo 2) Aggiungeremo il nuovo ruolo "sviluppatore" all'utente "guru99".

  1. Seleziona la casella di controllo del ruolo sviluppatore
  2. Fare clic su Salva

Nella schermata Assegna ruoli, la casella di controllo del ruolo sviluppatore è selezionata per l'utente guru99.

Puoi assegnare qualsiasi ruolo a qualsiasi utente, secondo le tue necessità.

Come creare ruoli di progetto in Jenkins

I ruoli globali si applicano ovunque. Quando un'autorizzazione deve essere applicata solo a un insieme di attività, crea invece un ruolo di progetto, che il plugin ora chiama ruolo di elemento.

Puoi creare ruoli specifici del progetto in Ruoli del progetto.

Passo 1) In Jenkins' Gestisci e assegna ruoli

  1. Inserisci un ruolo come “tester”
  2. Aggiungi un motivo a questo aggiungendo tester.*, in modo che a qualsiasi nome utente che inizia con "tester" verrà assegnato il ruolo del progetto specificato.
  3. Fare clic su Aggiungi
  4. Seleziona i privilegi
  5. Fare clic su Salva

La tabella completa dei ruoli del progetto è riportata di seguito.

Tabella dei ruoli del progetto con il ruolo di tester e il modello a stella puntinato del tester inserito

Il modello è un'espressione regolare confrontata con il nome completo dell'elemento, quindi tester.* corrisponde anche a una cartella denominata suite di test e tutto ciò che contiene. Testa un nuovo modello su un lavoro di prova prima di applicarlo a un lavoro reale. progetto freestyle lavoro di conduttura.

Sicurezza basata su matrice vs strategia basata sui ruoli

La strategia basata sui ruoli non è l'unica opzione di autorizzazione presente in quel menu a tendina. Jenkins È dotato di sicurezza integrata basata su matrice e, per una piccola installazione, potrebbe essere tutto ciò che serve.

Punto di confronto sicurezza basata su matrici Strategia basata sui ruoli
Installazione Costruito dentro Jenkins Richiede il plugin Strategia di autorizzazione basata sui ruoli
Unità di assegnazione A ciascun utente o gruppo vengono concesse le autorizzazioni direttamente Le autorizzazioni appartengono a un ruolo denominato e gli utenti sono associati a tale ruolo.
Aggiunta del decimo utente L'intera riga dei permessi è ripetuta a mano Seleziona una casella di controllo del ruolo
Controllo per lavoro Autorizzazione a matrice basata sui progetti, configurata lavoro per lavoro Un ruolo di articolo con un modello copre ogni lavoro corrispondente
miglior vestibilità Una manciata di utenti con accesso quasi identico Diverse squadre, molti lavori, accesso che cambia man mano che le persone si spostano

La regola empirica è il numero di volte in cui un permesso viene ripetuto. Una volta che lo stesso schema di spunta viene inserito per un terzo utente, un ruolo è più economico da mantenere: lo stesso argomento che spinge i team da lavori ad hoc verso un ruolo rivisto Conduttura CI/CD.

DOMANDE FREQUENTI

Devono essere vere entrambe due condizioni. Il plugin Strategia di autorizzazione basata sui ruoli deve essere installato e l'autorizzazione nella schermata di sicurezza deve essere impostata su Strategia basata sui ruoli. La voce rimane nascosta finché non viene salvato il secondo passaggio.

Fermare Jenkins, Aperto config.xml in JENKINS_HOME e sostituire il authorizationStrategy elemento con <authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>, quindi riavvia. Mantieni sempre un account con i privilegi di Amministratore/Generale per evitare di doverlo fare.

Sì. La schermata Assegna ruoli accetta sia nomi di gruppo che nomi utente, quindi un gruppo LDAP o di Active Directory può essere associato a un ruolo una sola volta e l'appartenenza verrà poi gestita interamente nella directory.

Gli strumenti di apprendimento automatico confrontano le autorizzazioni concesse con quelle effettivamente utilizzate da ciascun account e segnalano quelle inutilizzate, individuando così i ruoli con privilegi eccessivi molto più rapidamente rispetto alla lettura manuale di una matrice di autorizzazioni.

Copilota GitHub scrive l' Groovy o chiamate REST che creano ruoli in blocco e bozze di espressioni di pattern per i ruoli degli elementi. RevControlla tutto ciò che produce prima di eseguirlo, perché uno schema errato amplia silenziosamente l'accesso.

I conti sono sotto JENKINS_HOME/users, una cartella per utente con un config.xml all'interno. Ruoli e permessi risiedono nel file principale. JENKINS_HOME/config.xml, quindi il backup di quella cartella preserva entrambi.

Elimina l'account dall'elenco degli utenti: in questo modo verranno rimossi i dati di accesso, ma non la cronologia delle build. Per revocare l'accesso senza eliminare nulla, deseleziona la casella di controllo del ruolo per quell'utente nella schermata Assegna ruoli e salva.

Sì. Il gruppo di autorizzazioni Credenziali nella schermata Gestisci ruoli consente di visualizzare, creare e aggiornare i segreti memorizzati, quindi un ruolo può essere autorizzato a eseguire un processo pur essendo bloccato dall'accesso alle credenziali utilizzate.

Riassumi questo post con: