Logo miniOrange

Prodotti

Servizi

plugin

Prezzi

Risorse

Azienda

Guida tecnica alla gestione dei gruppi e alle politiche MFA in Jenkins

27th marzo, 20265 Min Read

Tempo di lettura: 8 minuti

Il plugin Jenkins MFA di miniOrange sostituisce la gestione dei gruppi basata su sessioni con l'archiviazione persistente dei gruppi, una dashboard di gestione centralizzata, la creazione nativa dei gruppi e l'applicazione delle policy MFA a livello di gruppo, offrendo agli amministratori il controllo completo sull'autenticazione degli utenti in tutti gli ambienti Jenkins.

Jenkins è uno dei server di automazione open source più utilizzati negli ambienti DevOps. Sebbene supporti una vasta gamma di Security Realms, tra cui LDAP, Active Directory e SAML, la sua gestione nativa dei dati di gruppo è stata storicamente limitata alla durata della sessione di un utente.

Il plugin miniOrange Jenkins MFA colma questa lacuna introducendo la gestione persistente dei gruppi e l'applicazione delle policy di autenticazione a più fattori (MFA) a livello di gruppo . Questo articolo spiega nel dettaglio come il plugin gestisce la persistenza dei gruppi, cosa offre la dashboard di gestione centralizzata, come funzionano i gruppi nativi di Jenkins e come è possibile applicare le policy MFA a livello di gruppo.

Qual è il problema con la gestione dei gruppi basata sulle sessioni in Jenkins?

Il problema principale con la gestione predefinita dei gruppi in Jenkins è il seguente:

  • Quando un utente si autentica tramite un realm di sicurezza (LDAP, Active Directory, SAML, ecc.), Jenkins riceve le informazioni di gruppo dal provider di identità.
  • Questi dati di gruppo sono disponibili solo durante la sessione utente attiva, viene trattato come un attributo temporaneo, just-in-time (JIT).
  • Al termine della sessione, Jenkins elimina completamente le informazioni relative al gruppo.
  • Poiché i gruppi non vengono memorizzati come entità persistenti, gli amministratori non possono gestire le appartenenze ai gruppi, applicare criteri a livello di gruppo o mantenere la visibilità sulle relazioni tra utenti e gruppi tra una sessione e l'altra.

Questo modello basato sulle sessioni rende difficile applicare politiche di sicurezza coerenti, in particolare l'autenticazione a più fattori (MFA), a specifici gruppi di utenti.

Come funziona il plugin MFA di Jenkins?

Il plugin Jenkins MFA di miniOrange introduce la gestione persistente dei gruppi, una dashboard di amministrazione centralizzata e l'applicazione di policy MFA a livello di gruppo, funzionalità che vanno oltre quanto offerto di serie da Jenkins.

1. Creazione e persistenza automatica dei gruppi

Cosa fa il plugin Jenkins MFA:

Una delle funzionalità fondamentali introdotte dal plugin è la creazione automatica e permanente di gruppi.

  • Quando un utente effettua l'accesso tramite un qualsiasi realm di sicurezza configurato, Jenkins riceve le informazioni sul gruppo dal provider di identità.
  • Se tali gruppi non esistono già all'interno di Jenkins, il plugin li crea automaticamente come entità persistenti.
  • I gruppi non vengono più eliminati al termine di una sessione, ma vengono memorizzati e gestiti all'interno di Jenkins come oggetti di primaria importanza.
  • Questo passaggio dalla gestione dei gruppi basata su sessioni (JIT) all'archiviazione persistente dei gruppi consente agli amministratori di gestire gli utenti e applicare le policy in modo coerente nel tempo.

Perché è importante:

Comportamento Senza plugin MFA Con il plugin MFA
Disponibilità del gruppo Solo sessione (JIT) Persistente, memorizzato in Jenkins
visibilità del gruppo Non accessibile dopo la sessione Sempre accessibile tramite l'interfaccia utente di amministrazione.
Applicazione della politica Non possibile a livello di gruppo Completamente supportato
Controllo amministrativo Limitato Centralizzato e continuo

Il plugin MFA di miniOrange per Jenkins converte i dati di gruppo ricevuti dai provider di identità in entità persistenti e di prim'ordine all'interno di Jenkins, sostituendo il modello di gruppo predefinito just-in-time, basato esclusivamente sulla sessione.

2. Pannello di controllo centralizzato per la gestione del gruppo

Cosa possono fare gli amministratori:

Il plugin introduce una dashboard dedicata alla gestione dei gruppi che offre agli amministratori un'unica interfaccia per gestire tutte le operazioni relative ai gruppi.

Da questa dashboard, gli amministratori possono:

  • Visualizza tutti i gruppi persistenti Attualmente archiviate in Jenkins, indipendentemente dal fatto che provengano da un provider di identità esterno o siano state create nativamente all'interno di Jenkins.
  • Esamina gli utenti all'interno di ciascun gruppo, vedere esattamente quali utenti sono membri di un determinato gruppo in un dato momento.
  • Rimuovere gli utenti dai gruppirevocare manualmente l'appartenenza al gruppo quando non è più appropriata, senza attendere l'aggiornamento del provider di identità.
  • Assegna manualmente gli utenti ai gruppi, aggiungi utenti ai gruppi direttamente tramite la dashboard, indipendentemente da quanto riportato dal servizio di directory esterno.
  • Gestire autonomamente l'iscrizione al gruppo del provider di identità esterno, offrendo agli amministratori flessibilità durante l'onboarding, l'offboarding o le revisioni degli accessi.

Perché è importante:

Prima di questa dashboard, gli amministratori di Jenkins non disponevano di un'interfaccia centralizzata per la gestione dei gruppi. L'appartenenza ai gruppi veniva determinata implicitamente dal provider di identità a ogni accesso. La dashboard offre agli amministratori un controllo attivo , anziché la mera accettazione passiva delle impostazioni fornite dal provider di identità.

Pertanto, la dashboard consente agli amministratori di visualizzare, assegnare e rimuovere le appartenenze ai gruppi direttamente all'interno di Jenkins, senza dover dipendere esclusivamente dal provider di identità esterno.

3. Supporto per i gruppi nativi di Jenkins

Che cosa sono i gruppi nativi di Jenkins?

Oltre ai gruppi importati da Security Realms esterni, il plugin supporta anche la creazione e la gestione di gruppi che esistono solo all'interno di Jenkins.

  • Gli amministratori possono crea nuovi gruppi direttamente all'interno di Jenkins, senza alcuna dipendenza da LDAP, Active Directory, SAML o qualsiasi altro sistema esterno.
  • Questi gruppi nativi vengono gestiti interamente tramite l'interfaccia del plugin.
  • Gli utenti possono essere aggiunti o rimossi dai gruppi nativi in ​​qualsiasi momento.
  • I gruppi nativi consentono alle organizzazioni di creare raggruppamenti logici che riflettono i ruoli specifici di Jenkins o criteri, anche quando tali raggruppamenti non esistono nel servizio di directory esterno.

4. Applicazione delle politiche di autenticazione a più fattori basata sui gruppi

Come funzionano le politiche di MFA a livello di gruppo:

Lo scopo principale della gestione dei gruppi persistenti nel plugin MFA di Jenkins è quello di consentire un controllo granulare delle policy MFA . Poiché i gruppi vengono ora memorizzati come entità persistenti, gli amministratori possono applicare le impostazioni MFA in modo affidabile e coerente.

Gli amministratori possono configurare le seguenti policy MFA per gruppo:

  • Abilita MFA Per un gruppo specifico, tutti gli utenti di tale gruppo dovranno completare l'autenticazione a più fattori al momento dell'accesso.
  • Disabilitare l'autenticazione a più fattori (MFA) Per un gruppo specifico, utile per account di servizio, utenti di automazione o ruoli a basso rischio che non richiedono l'autenticazione a più fattori (MFA).
  • Reimposta MFA Configurazione per tutti gli utenti all'interno di un gruppo, utile durante incidenti di sicurezza, rotazioni delle chiavi o flussi di lavoro di onboarding.

Esempi di scenari politici:

Gruppo Politica MFA raccomandata Ragione
Amministratori di Jenkins Autenticazione a più fattori abilitata Il privilegio più elevato richiede la massima protezione.
Ingegneri DevOps Autenticazione a più fattori abilitata Accesso alle pipeline di distribuzione
Utenti QA/Test Autenticazione a più fattori facoltativa Livello di accesso a basso rischio
Conti di servizio MFA Disabile Processi automatizzati, autorizzazione umana non applicabile
Appaltatori / Esterni Autenticazione a più fattori abilitata L'accesso da parte di terzi richiede misure di sicurezza aggiuntive.

5. Vantaggi della gestione MFA di gruppo in Jenkins

La combinazione di gruppi persistenti, gestione centralizzata e applicazione delle policy di autenticazione a più fattori a livello di gruppo offre i seguenti vantaggi operativi e di sicurezza:

Vantaggi per la sicurezza:

  • L'applicazione granulare dell'autenticazione a più fattori (MFA) garantisce che gli utenti con privilegi elevati (come amministratori e ingegneri DevOps) siano sempre protetti.
  • Riduce la superficie di attacco applicando un'autenticazione più robusta in modo selettivo, in base alla sensibilità dei ruoli.
  • Elimina le lacune causate dalla gestione dei gruppi basata su sessioni, in cui le policy non potevano essere applicate in modo affidabile tra una sessione e l'altra.

Vantaggi operativi:

  • Gli amministratori hanno visibilità completa sulle relazioni tra utenti e gruppi in ogni momento.
  • L'appartenenza al gruppo può essere modificata indipendentemente dal provider di identità esterno, il che risulta utile durante le verifiche degli accessi, la cessazione del rapporto di lavoro o la revoca d'emergenza.
  • I gruppi nativi di Jenkins consentono ai team di sicurezza di definire raggruppamenti di accesso che rispecchiano le politiche interne anziché la struttura delle directory.
  • La gestione del ciclo di vita dell'autenticazione a più fattori (attivazione, disattivazione, ripristino) è semplificata per i team numerosi grazie alla dashboard.

Come la persistenza del gruppo e la politica MFA interagiscono: un flusso end-to-end

  1. Un utente accede a Jenkins utilizzando credenziali LDAP, Active Directory o SAML.
  2. Il provider di identità restituisce le informazioni sull'appartenenza al gruppo come parte della risposta di autenticazione.
  3. Il plugin MFA di Jenkins legge questi dati di gruppo e verifica se i gruppi esistono già in Jenkins.
  4. In caso contrario, il plugin crea automaticamente i gruppi come entità persistenti.
  5. L'utente è associato ai propri gruppi all'interno di Jenkins e tale associazione viene mantenuta anche al di fuori della sessione.
  6. Un amministratore può visualizzare l'appartenenza dell'utente ai gruppi nella Dashboard di gestione dei gruppi.
  7. Se è attiva una policy MFA a livello di gruppo, all'utente viene richiesto di completare l'autenticazione a più fattori al momento dell'accesso.
  8. Gli amministratori possono aggiornare le appartenenze ai gruppi, creare gruppi nativi o modificare le politiche di autenticazione a più fattori (MFA) in qualsiasi momento, il tutto dalla stessa dashboard.

Domande frequenti

1. Che cos'è la persistenza di gruppo in Jenkins?

La persistenza dei gruppi si riferisce alla capacità di memorizzare le informazioni sui gruppi ricevute da un provider di identità (come LDAP o Active Directory) come entità permanenti all'interno di Jenkins, anziché eliminarle al termine della sessione utente.

2. Posso creare gruppi in Jenkins senza LDAP o Active Directory?

Sì. Il plugin Jenkins MFA supporta la creazione nativa di gruppi direttamente all'interno di Jenkins. Questi gruppi vengono gestiti indipendentemente da qualsiasi provider di identità esterno.

3. È possibile abilitare l'autenticazione a più fattori (MFA) solo per gruppi specifici in Jenkins?

Sì. Il plugin consente agli amministratori di abilitare, disabilitare o reimpostare l'autenticazione a più fattori (MFA) per ciascun gruppo, rendendo possibile applicare l'MFA in modo selettivo in base al ruolo o al team dell'utente.

4. Cosa succede ai dati di gruppo al termine di una sessione utente?

Con il plugin MFA installato, i dati relativi al gruppo vengono salvati in Jenkins anche al termine della sessione. Senza il plugin, le informazioni sul gruppo sono disponibili solo durante la sessione utente attiva.

5. Gli amministratori possono gestire l'appartenenza ai gruppi senza accedere al provider di identità?

Sì. La dashboard di gestione dei gruppi consente agli amministratori di aggiungere o rimuovere utenti dai gruppi direttamente all'interno di Jenkins, indipendentemente da quanto riportato dal provider di identità esterno.

L'autore


Pallavi Narang

Content Writer

Pallavi Narang è una copywriter con oltre 4 anni di esperienza. È specializzata nel promuovere la notorietà del marchio e la generazione di lead attraverso uno storytelling avvincente e campagne di marketing strategiche. Grazie alla sua formazione in ambito SaaS, cybersecurity e analisi dei dati, Pallavi eccelle nel tradurre concetti complessi in narrazioni coinvolgenti. Nel tempo libero si dedica all'apprendimento di nuove lingue o alla lettura.

Lascia un tuo commento