Un account condiviso per l'esecuzione dell'infrastruttura CI?

1

Devo configurare un account condiviso nella nostra infrastruttura CI per renderlo più facile da usare?

Il mio team utilizza l'infrastruttura CI. Quando uno sviluppatore imposta per la prima volta una build, deve inserire le sue credenziali di controllo del codice sorgente in modo che il server possa accedere al codice. Quindi la build è "legata" a un particolare sviluppatore. Personalmente mi piace - penso che ogni build dovrebbe avere un manutentore e che le credenziali del manutentore dovrebbero essere usate.

A volte le cose si rompono a causa di problemi di permessi dell'account, come quando uno sviluppatore cambia la sua password. Penso che questo sia dovuto al fatto che non gestiamo bene gli account utente.

Alcuni membri del team pensano che dovremmo avere un account di controllo del codice sorgente condiviso per prevenire questo tipo di problema. Tutte le build potrebbero utilizzare lo stesso account condiviso per accedere al controllo del codice sorgente.

Sono contrario a questo a causa delle implicazioni sulla sicurezza. Dal momento che le credenziali dell'account condiviso sarebbero di dominio pubblico, chiunque potrebbe usarlo senza tracciabilità per una persona. Non saremmo in grado di limitare l'accesso a determinate parti del controllo del codice sorgente a determinati individui.

Un account di controllo del codice sorgente comune per l'esecuzione di build di elementi della configurazione sarebbe effettivamente un problema? Come gestiscono altri piccoli negozi di software?

    
posta M. Dudley 02.12.2016 - 15:29
fonte

1 risposta

2

Un singolo account condiviso per guidare l'infrastruttura CI offre il grande vantaggio della coerenza, che è la chiave per l'efficacia della CI. Molto più difficile da gestire con una moltitudine di account.

Potresti limitare l'accesso all'account condiviso solo a un determinato gruppo di persone fidate, ad esempio solo alcuni membri del team DevOps. Questo può essere fatto in un modo sicuro / sicuro - autorizzazioni sudo esplicite o chiavi pubbliche SSH, per esempio.

Lo svantaggio sarebbe che non tutti gli sviluppatori ordinari potrebbero configurare build CI. IMHO non è necessariamente una cosa cattiva - una configurazione CI corretta non è una cosa da poco, preferirei lasciarla a individui ben informati piuttosto che eseguire il debug in modo errato nell'impostazione degli ambienti CI.

    
risposta data 02.12.2016 - 19:06
fonte

Leggi altre domande sui tag