Strategia per la memorizzazione di password / credenziali nel contesto della consegna continua [chiusa]

2

È logico non memorizzare password / credenziali in SCM.

Mi piacerebbe sapere quale sarebbe una buona strategia per l'archiviazione di password / credenziali nel contesto della pubblicazione continua.

  • Dove e come memorizzo le credenziali?
  • Come posso recuperare e utilizzare tali credenziali / password?
posta balteo 06.04.2014 - 14:11
fonte

2 risposte

2

Non è "senso comune" non memorizzare le credenziali nel controllo del codice sorgente. Questo dipende molto dalla tua situazione. È una pratica perfettamente accettabile se gli sviluppatori hanno già accesso alle risorse di produzione o se gli account sono di sola lettura e non c'è alcun problema di privacy o se le credenziali sono crittografate in qualche modo.

Se stai andando a costruire la tua pipeline di implementazione, di solito utilizzi uno strumento di gestione della configurazione che gestirà tutto lo storage, la crittografia, gli utenti / i privilegi, ecc. Ci sono strumenti open source come ESCAPE che forniscono questo in un'API REST e altri strumenti commerciali (e probabilmente anche altri strumenti open source) che forniscono funzionalità simile.

Alcuni team utilizzano software di gestione di rilascio in piena regola come quelli di Atlassian, Red Gate, Thoughtworks, Serena, DevOpsGuys, Octopus, Cachet, ecc. Non ho intenzione di raccomandarne uno specifico perché dipende interamente dalla tua attività struttura e stack tecnologico. Ma basti dire che la maggior parte, se non tutte, integreranno la gestione della configurazione nel processo e ti permetteranno di definire "ambienti" e configurazioni per andare con quegli ambienti; quando si distribuisce un componente specifico in un ambiente specifico, prende i file di configurazione e li sostituisce / li trasforma con le impostazioni corrette per quell'ambiente.

Fondamentalmente dipende dal budget e dal tempo. Se avessi tempo basso / budget basso, continuerei a memorizzarli nel controllo del codice sorgente; crittografarli se necessario. Se avessi un sacco di tempo ma avessi ancora un budget basso, avrei creato una pipeline di distribuzione utilizzando uno strumento di gestione della configurazione disponibile in commercio. E se avessi un sacco di soldi da buttare in giro, avrei solo investito in uno degli strumenti di gestione del rilascio commerciale; fanno davvero risparmiare molto tempo ed è più facile per un team di infrastruttura IT paranoico fidarsi di uno strumento commerciale ben noto piuttosto che fidarsi di qualcosa che hai violato in pochi giorni.

    
risposta data 06.04.2014 - 16:26
fonte
1

Ho trovato buone idee qui come:

  • Cifratura / decrittografia dei dati (vedi post simpatico e dettagliato qui di John Resig)
  • Utilizzo di un repository di dati di configurazione separato
risposta data 06.04.2014 - 14:35
fonte

Leggi altre domande sui tag