Utilizzo della pipeline di immagini protette

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Dopo aver creato la pipeline immagine protetta, puoi automatizzare il flusso di lavoro di generazione delle immagini firmate ogni volta che apporti modifiche al codice sorgente.

Questa pagina spiega come utilizzare la pipeline delle immagini per produrre immagini protette e attese.

Prima di iniziare

Crea la pipeline delle immagini sicure e acquisisci familiarità con le risorse create dalla pipeline.

Utilizzo della pipeline

Il codice sorgente per le immagini di base si trova nel repository baseimgfct-[some number]-containers nell'organizzazione GitHub specificata durante la configurazione della pipeline di immagini sicure. Per aggiornare un'immagine, modifica il file pertinente nel repository e invia una richiesta di pull con le modifiche a un membro del team per la revisione. Quando crei la richiesta di pull, il trigger di Cloud Build in YOUR_PROJECT_NAME-builder crea l'immagine aggiornata ed esegue il push dell'immagine al repository Artifact Registry in YOUR_PROJECT_NAME-stage.

Quando un membro del team ha testato e verificato le immagini in YOUR_PROJECT_NAME-stage, può approvare e unire la tua richiesta di pull. L'azione di unione crea, analizza e attesta le immagini ed esegue il push delle immagini dal progetto di gestione temporanea a YOUR_PROJECT_NAME-verified.

I seguenti passaggi descrivono il flusso di lavoro degli sviluppatori per l'utilizzo della pipeline di immagini protette:

  1. Vai al repository baseimgfact-[un numero]-containers.

  2. Apri la cartella corrispondente all'immagine che vuoi modificare, ad esempio ubuntu_18_0_4.

  3. Apporta le modifiche. Ad esempio, modifica l'elemento Dockerfile per aggiornare un'immagine container.

  4. Seleziona Crea un nuovo ramo per questo commit e avvia una richiesta di pull.

  5. Fai clic su Proponi modifiche.

  6. In Descrizione commento, inserisci /gcbrun. Questo serve a garantire che solo gli utenti autorizzati propongano modifiche al repository.

  7. Fai clic su Crea richiesta di pull.

    Quando crei una richiesta di pull, i trigger di build in YOUR_PROJECT_NAME-builder creano l'immagine e ne eseguono il push a YOUR_PROJECT_NAME-stage.

  8. Aggiungi un membro del team per esaminare la tua richiesta di pull.

  9. Dopo aver verificato manualmente l'immagine, il membro del team approva e unisce la richiesta di pull.

    L'azione di unione crea, verifica e analizza l'immagine per individuare eventuali vulnerabilità, quindi attesta l'immagine se è di tipo container e quindi esegue il push dell'immagine a YOUR_PROJECT_NAME-verified.

Specificare un criterio di sicurezza personalizzato

Se utilizzi la pipeline di immagini sicure per generare e mantenere le immagini di base del container, puoi specificare un criterio di sicurezza personalizzato con cui verificare l'immagine.

YOUR_PROJECT_NAME-stage esegue un'istanza Voucher, uno strumento open source che esegue una suite di controlli per le immagini container e crea attestazioni di autorizzazione binaria per le immagini. Quando un'immagine in YOUR_PROJECT_NAME-stage è stata verificata manualmente e un membro del team unisce la richiesta di pull nel repository di immagini container Container, Voucher verifica la presenza di vulnerabilità, definite nel file di configurazione di Voucher. Al termine del controllo, se tutte le vulnerabilità identificate scendono al di sotto della soglia, Voucher crea un'attestazione di Autorizzazione binaria per l'immagine e viene eseguito il push dell'immagine a YOUR_PROJECT_NAME-verified. Se una delle vulnerabilità identificate soddisfa o supera la soglia, Voucher non crea un attestato. Senza un'attestazione verificata, l'applicazione forzata di Autorizzazione binaria non consente il push dell'immagine a YOUR_PROJECT_NAME-verified.

Puoi definire i controlli eseguiti da Voucher, insieme ad altri criteri, nel file di configurazione del server Voucher. Per istruzioni su come eseguire questa operazione, consulta Creare e configurare un server Voucher.