Crea un'applicazione e visualizza insight sulla sicurezza

Questa guida rapida spiega come creare un'applicazione e visualizzare informazioni sulla sicurezza per la build nel riquadro Insight sulla sicurezza di Software Delivery Shield nella console Google Cloud.

Imparerai a:

  • Crea e containerizza un'applicazione Java utilizzando Cloud Build ed esegui il push dell'immagine container nel repository Docker di Artifact Registry.
  • Visualizza i seguenti insight sulla sicurezza per la build:

    • Supply-chain Levels for Software Artifacts (SLSA) livello, che identifica il livello di maturità del processo di compilazione del software in conformità con la specifica SLSA .
    • Vulnerabilità negli artefatti della build.
    • Fattura software (SBOM) per gli elementi della build.
    • Provenienza build, che è una raccolta di metadati verificabili relativi a una build. Include dettagli quali i digest delle immagini create, le posizioni delle origini di input, la Toolchain di build, i passi di build e la durata della build.

Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Installa Google Cloud CLI.
  3. Per initialize gcloud CLI, esegui questo comando:

    gcloud init
  4. Crea o seleziona un progetto Google Cloud.

    • Crea un progetto Google Cloud:

      gcloud projects create PROJECT_ID

      Sostituisci PROJECT_ID con un nome per il progetto Google Cloud che stai creando.

    • Seleziona il progetto Google Cloud che hai creato:

      gcloud config set project PROJECT_ID

      Sostituisci PROJECT_ID con il nome del tuo progetto Google Cloud.

  5. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  6. Abilita le API Cloud Build, Artifact Registry, and Container Scanning.

    gcloud services enable cloudbuild.googleapis.com  artifactregistry.googleapis.com  containerscanning.googleapis.com
  7. Installa Google Cloud CLI.
  8. Per initialize gcloud CLI, esegui questo comando:

    gcloud init
  9. Crea o seleziona un progetto Google Cloud.

    • Crea un progetto Google Cloud:

      gcloud projects create PROJECT_ID

      Sostituisci PROJECT_ID con un nome per il progetto Google Cloud che stai creando.

    • Seleziona il progetto Google Cloud che hai creato:

      gcloud config set project PROJECT_ID

      Sostituisci PROJECT_ID con il nome del tuo progetto Google Cloud.

  10. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  11. Abilita le API Cloud Build, Artifact Registry, and Container Scanning.

    gcloud services enable cloudbuild.googleapis.com  artifactregistry.googleapis.com  containerscanning.googleapis.com

prepara l'ambiente

  1. Imposta l'ID progetto come variabile di ambiente:

    export PROJECT_ID=$(gcloud config get project)
    
  2. Clona il repository che contiene l'esempio di codice Java per creare e containerizzare:

    git clone https://github.com/googlecloudplatform/software-delivery-shield-demo-java.git
    cd software-delivery-shield-demo-java/backend
    

Crea il repository Artifact Registry per la tua immagine

  1. Crea un nuovo repository Docker denominato containers nella località us-central1 con la descrizione "Docker repository" (Repository Docker):

    gcloud artifacts repositories create containers \
        --repository-format=docker \
        --location=us-central1 --description="Docker repository"
    
  2. Verifica che il repository sia stato creato:

    gcloud artifacts repositories list
    

    Dovresti vedere containers nell'elenco dei repository visualizzati.

Crea l'applicazione

Crea e containerizza l'applicazione Java utilizzando Cloud Build. Il seguente comando crea e containerizza l'applicazione Java e archivia il container creato nel repository Docker di Artifact Registry:

gcloud builds submit --config=cloudbuild.yaml --region=us-central1

Al termine della build, viene visualizzato un messaggio di stato di operazione riuscita simile al seguente:

<pre class="none lang-sh">
DONE
-----------------------------------------------------------------------------
ID: 3e08565f-7f57-4449-bc68-51c46cf33d03
CREATE_TIME: 2022-09-19T15:41:07+00:00
DURATION: 54S
SOURCE: gs://sds-docs-project_cloudbuild/source/1663602066.777581-6ebe4b2d6fd741ffa18936d7f78055e9.tgz
IMAGES: us-central1-docker.pkg.dev/sds-docs-project/containers/java-guestbook-backend:quickstart
STATUS: SUCCESS
</pre>

Genera un SBOM per l'immagine creata

Un SBOM è un inventario completo di un'applicazione, che identifica i pacchetti su cui si basa il tuo software. I contenuti possono includere software di terze parti di fornitori, artefatti interni e librerie open source.

Genera l'SBOM per l'immagine che hai creato nella sezione precedente:

gcloud artifacts sbom export
    --uri=us-central1-docker.pkg.dev/${PROJECT_ID}/containers/java-guestbook-backend:quickstart

Visualizza insight sulla sicurezza

L'interfaccia utente di Cloud Build nella console Google Cloud contiene il riquadro Insight sulla sicurezza di Software Delivery Shield, che mostra informazioni sulla sicurezza relative alla build, ad esempio il livello SLSA, eventuali vulnerabilità nelle dipendenze e la provenienza della build.

Per visualizzare il riquadro Approfondimenti sulla sicurezza di Software Delivery Shield:

  1. Apri la pagina Cronologia build nella console Google Cloud:

    Apri la pagina Cronologia build

  2. Seleziona il progetto e fai clic su Apri.

  3. Nel menu a discesa Regione, seleziona us-central1.

  4. Nella tabella con le build, individua la riga con la build che hai appena eseguito.

  5. Nella colonna Approfondimenti sulla sicurezza, fai clic su Visualizza.

Verrà visualizzato il riquadro Informazioni sulla sicurezza per la build:

Screenshot del riquadro Software Delivery Shield

Questo riquadro mostra le seguenti informazioni:

  • Livello SLSA: questa build ha raggiunto il livello SLSA 3. Fai clic sul link Scopri di più per scoprire il significato di questo livello di sicurezza.

  • Vulnerabilità: qualsiasi vulnerabilità trovata negli artefatti. Fai clic sul nome dell'immagine (java-guestbook-backend) per visualizzare gli artefatti che sono stati analizzati per rilevare eventuali vulnerabilità.

  • Dipendenze per l'immagine container creata in Artifact Registry.

  • Dettagli build: dettagli della build come il generatore e il link per visualizzare i log.

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, elimina il progetto Google Cloud con le risorse.

  1. Disabilita l'API Container Scanning:

    gcloud services disable containerscanning.googleapis.com --force
    
  2. Elimina il repository Artifact Registry:

    gcloud artifacts repositories delete containers \
        --location=us-central1 --async
    

    Hai eliminato il repository che hai creato nell'ambito di questa guida rapida.

Passaggi successivi