Flusso di lavoro dell'implementazione di riferimento di DevSecOps

L'architettura di riferimento dell' DevSecOps semplifica la conformità e la preparazione agli audit utilizzando elementi costitutivi come la libreria di attività Tekton e i modelli di toolchain.

Poiché i processi di integrazione continua, distribuzione continua e conformità continua sono standardizzati, i team di sviluppo delle applicazioni possono essere certi di seguire le best practice di sicurezza. L'architettura di riferimento DevSecOpsUna metodologia che integra le pratiche di sicurezza con lo sviluppo software e il ciclo di vita delle operazioni. L'obiettivo della fusione è quello di dare priorità all'equilibrio tra velocità di sviluppo e sicurezza. fornisce una serie di modelli predefiniti di integrazione continua, distribuzione continua e catena di strumenti di conformità continua. Questi template utilizzano una raccolta di integrazioni di strumenti e pipeline Tekton di riferimento personalizzabili per build, scansione, test, gestione modifiche e distribuzione. Le definizioni delle pipeline vengono gestite e aggiornate periodicamente da IBM a meno che non modifichi l'impostazione predefinita quando crei le toolchain.

Le pipeline Tekton forniscono un framework di script personalizzati che è possibile utilizzare per garantire l'orchestrazione automatica e conforme delle modifiche di codice e configurazione. Le pipeline possono anche aiutare a gestire un inventario di release GitOps, mentre raccoglie e memorizza le prove che possono essere utilizzate per generare richieste di modifica controllabili.

Puoi utilizzare le pipeline per la distribuzione in ambienti di destinazione ibridi o cloud pubblico utilizzando i nodi di lavoro pipeline privati Tekton. Le pipeline Tekton vengono eseguite in immagini contenitore predefinite insieme ad alcuni script utente. È possibile eseguire qualsiasi cosa che può essere scritta, entro i limiti delle pipeline Tekton.

Approccio di integrazione precoce: integrazione continua, progettazione di distribuzione continua

Il diagramma seguente mostra il flusso di lavoro di implementazione e le caratteristiche principali dell'architettura DevSecOps.

Flusso di lavoro di implementazione di riferimento
Flusso di lavoro di implementazione di riferimento

  • La convalida della richiesta di pull o di unione utilizza una pipeline di richiesta di pull specifica che riporta lo stato alla richiesta di pull. Questa funzione consente agli sviluppatori di trovare i problemi all'inizio del ciclo di sviluppo.
  • L'integrazione si ottiene utilizzando una pipeline di integrazione continua che implementa molti controlli in modo automatico e raccoglie le prove normalizzate per queste integrazioni in un armadietto delle prove (COS bucket). Scrive anche i metadati sulle risorse da distribuire in un repository di inventario delle risorse utente, che abilita le pratiche GitOps.
  • La consegna viene eseguita utilizzando una pipeline di distribuzione continua per elaborare il contenuto dall'inventario delle risorse utente e raccogliere le prove per generare una richiesta di modifica per ciascuna distribuzione. Può anche registrare fatti di conformità, che possono essere valutati rispetto a un profilo di conformità.

Come parte di una distribuzione di staging di distribuzione continua, le pipeline di integrazione continua generalmente emettono al ramo master dell'inventario utilizzando le richieste di pull per promuovere le modifiche a un ramo di staging. Quindi, quando si è pronti, le modifiche vengono promosse di nuovo dallo staging alla produzione con una successiva promozione del ramo. Per guidare una distribuzione coordinata dei rilasci, è possibile disporre di più pipeline di distribuzione continua che producono l'output a un inventario condiviso e a un armadietto delle prove.

Viene creata una sola richiesta di modifica quando vengono promosse più risorse utente in tale inventario.

È possibile disporre di più pipeline di distribuzione continua che attingono da un inventario e da un archivio prove condivisi, il che consente di indirizzare più ambienti dallo stesso input di integrazione continua.