IBM Cloud Docs
Configura la tua infrastruttura DevSecOps e la toolchain CI per la distribuzione di un'applicazione sicura

Configura la tua infrastruttura DevSecOps e la toolchain CI per la distribuzione di un'applicazione sicura

Utilizza questa esercitazione per la configurazione e il provisioning automatizzati dell'infrastruttura per le tue toolchain CI e CD utilizzando un modello di avvio rapido basato su Terraform. Il modello utilizza le procedure ottimali DevSecOps di conformità e sicurezza. Il template utilizza uno spazio di lavoroIBM Cloud® Schematics, che automatizza la creazione dell'infrastruttura richiesta per distribuire in modo sicuro la tua applicazione a Kubernetes o Red Hat® OpenShift®. Il template utilizza una struttura di pipeline della toolchain DevSecOps IBM Cloud® Continuous Delivery. La toolchain è preconfigurata per la fornitura continua con integrazione dell'inventario, gestione delle modifiche, raccolta delle prove e distribuzione.

IBM Cloud Schematics fornisce Terraform come servizio, in modo da consentirti di utilizzare un linguaggio di scripting di alto livello per modellare le risorse che desideri impiegare nel tuo ambiente IBM Cloud e permetterti di abilitare lo IaC (Infrastructure as Code). Terraform è un software open source sviluppato da HashiCorp. Terraform consente un provisioning delle risorse prevedibile e coerente per creare rapidamente ambienti cloud complessi e multilivello.

In questa esercitazione, segui tre semplici passi per creare un workspace Schematics, applicare un piano di esecuzione Terraform e aggiornare il valore delle proprietà di ambiente. Quando applichi il piano, lo spazio di lavoro Schematics configura la tua infrastruttura sicura. Questa infrastruttura è condivisibile con il tuo team e funziona per i modelli di toolchain CD e CI DevSecOpsA methodology that integrates security practices with the software development and operations lifecycle. The goal of the merge is to prioritize the balance of development speed and security..

La configurazione dell'infrastruttura automatizzata crea le risorse di cui viene automaticamente eseguito il provisioning utilizzando i valori predefiniti dai modelli CD e CI Ops DevSec. Puoi trovare i valori predefiniti nella sezione Variabili dello spazio di lavoro Schematics. Vengono create le seguenti risorse:

Prima di iniziare

Crea un workspace Schematics

  1. Fare clic su una delle seguenti opzioni per la destinazione di distribuzione cluster. Questa azione ti porta alla pagina Distribuisci a IBM Cloud in cui crei uno workspace Schematics. Completare i campi richiesti in tale pagina e fare quindi clic su Avanti.

    Distribuisci a Kubernetes on IBM Cloud

    Distribuisci a OpenShift on IBM Cloud

    In base all'opzione selezionata, il template Terraform corrispondente da questo repository viene importato automaticamente nel nuovo spazio di lavoro Schematics.

  2. Verificare le informazioni, quindi fare clic su Crea. Viene creato lo spazio di lavoro Schematics e viene visualizzata la pagina delle impostazioni per l'area di lavoro Schematics.

Applica piano di esecuzione Terraform

  1. Nella sezione Variabili della pagina delle impostazioni Schematics, immetti i valori per ogni variabile. I campi obbligatori non hanno valori predefiniti. È possibile sovrascrivere i valori predefiniti.

    Se sovrascrivi il valore sm_service_name, il piano di esecuzione Terraform utilizza la risorsa esistente invece di creare una nuova risorsa.

  2. Per la variabile gitlab_token, immetti il token di accesso personale che hai ottenuto precedentemente.

  3. Per la variabile ibmcloud_api_key, immetti la chiave API IBM Cloud che hai ottenuto precedentemente.

  4. Per la variabile registry_namespace, immetti un valore dello spazio dei nomi del registro del contenitore. Per creare uno spazio dei nomi, vedi Container Registry Namespaces.

  5. Per la variabile kube_version, eseguire: ibmcloud ks versions su una riga comandi per visualizzare le versioni disponibili.

  6. Facoltativo. Se hai già un'istanza Secrets Manager, immettetola come nome per la variabile sm_service_name. Altrimenti, non modificare questa variabile.

  7. Facoltativo. Se vuoi modificare la dimensione o l'ubicazione del tuo cluster, puoi sovrascrivere le seguenti variabili: datacenter, default_pool_size, machine_type, hardware, public_vlan_num o private_vlan_num (i valori predefiniti sono per il data center dal12/us-south ).

  8. Facoltativo. Fare clic su Genera piano. Questa azione crea un piano di esecuzione Terraform e verifica la presenza di errori di sintassi nella configurazione. Nella pagina dei lavori Schematics, puoi esaminare i file di log per rilevare eventuali errori e le risorse IBM Cloud che devono essere create, modificate o eliminate per ottenere lo stato corretto del modello Terraform.

  9. Una volta immessi tutti i valori per le variabili e soddisfatti delle modifiche, fare clic su Applica piano per eseguire il codice dell'infrastruttura.

    Questo passo richiede del tempo per essere completato (generalmente 20-30 minuti, ma può richiedere più tempo), a causa della creazione di un nuovo cluster Kubernetes o OpenShift.

  10. Nella pagina dei lavori Schematics, puoi visualizzare il log espandendo il nome del lavoro.

  11. Una volta applicato il piano, visualizza l'URL della toolchain IBM Cloud DevSecOps CI. L'URL si trova alla fine del file di log su una riga che inizia con View the toolchain at:.

Se applichi il tuo piano una seconda volta, il cluster Kubernetes o il cluster OpenShift precedentemente creato e tutte le applicazioni ad esso distribuite vengono eliminati e viene creato un nuovo cluster. Tuttavia, se si sovrascrive il nome cluster predefinito, viene utilizzato tale cluster.

Distribuisci l'applicazione

Segui questa procedura per eseguire la pipeline.

  1. Vai alla toolchain DevSecOps CI appena creata.
  2. Fai clic su Git tile che inizia con compliance-app.
  3. Per attivare il pr-pipeline, aggiornare del testo nel file README.md e quindi avviare una PR rispetto al ramo main.
  4. Nel campo Diramazione di destinazione, modificare il nome del ramo da main in un altro elemento. Ad esempio, mybranch.
  5. Assicurarsi che la check box "Avvia una nuova richiesta di unione con queste modifiche" sia selezionata.
  6. Fare clic su Conferma modifiche.
  7. Facoltativo. Nella pagina Nuova richiesta di unione, aggiungere una descrizione.
  8. Fare clic su Crea richiesta di unione.

pr - pipeline nella ci-toolchain viene attivato. Verifica che la pipeline sia in esecuzione completando questa procedura:

  1. Ritorna alla tua toolchain CI e fai clic sul tile Delivery Pipeline per il tuo pr-pipeline. Nella pagina del dashboard pr - pipeline, puoi vedere il pr - pipeline in esecuzione.

  2. Per visualizzare l'avanzamento, fare clic sul link pr-pipeline.

    pr - pipeline
    Figura 1. pr - dashboard pipeline

Note:

  1. Se vengono rilevate delle vulnerabilità, il passo code - pr - finish non riesce.

  2. Per trovare le vulnerabilità, vai a code-unit-tests > run-stage per visualizzare i log. (istantanea)

  3. Risolvi le vulnerabilità e poi viene attivato il pr - pipeline.

  4. Torna al tile del repository dell'applicazione.

  5. Nel riquadro di navigazione, fare clic su Unisci richieste.

  6. Selezionare la RdA.

  7. Facoltativo. Fare clic sul pulsante Approva (in caso contrario, viene visualizzato un errore alla fine dell'esecuzione di ci - pipeline).

  8. Selezionare "Elimina ramo di origine."

  9. Fare clic su Unisci.

L'unione di questa RdA attiva automaticamente la ci-pipeline. Per verificare, torna al tile ci - pipeline nella toolchain e verifica che la pipeline sia in esecuzione. Fare clic sul link della pipeline per visualizzare l'avanzamento.

Questo passo distribuisce l'applicazione al cluster appena creato. L'URL dell'applicazione si trova nella parte inferiore del file di log nel passo deploy-dev > run-stage di ci-pipeline.

Passi successivi

Continua alla sezione "Esplora la tua toolchain CI" dell'esercitazione successiva ed esegui le pipeline CI - PR e CI. Quindi, continua attraverso il resto dei passi in tale esercitazione per distribuire un'applicazione sicura.

In qualsiasi momento, è possibile visualizzare tutte le risorse create con questa esercitazione facendo clic sull'icona Menu icona Menu e selezionando Elenco risorse. Puoi visualizzare la tua istanza Schematics, cluster, IBM Cloud Object Storage, il servizio Secrets Manager, il servizio di fornitura continua e la toolchain.