Crea un'applicazione e visualizza insight sulla sicurezza

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

Imparerai a:

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

    • Livelli della catena di fornitura per gli artefatti software (SLSA) , che identifica livello di maturità del tuo processo di compilazione del software in base Specifica SLSA .
    • Vulnerabilità negli elementi della build.
    • Software Bill of Materials (SBOM) per gli elementi di compilazione.
    • Provenienza della build, ovvero una raccolta di metadati verificabili sulla una build. Sono inclusi dettagli come i digest delle immagini create, le località delle origini di input, la toolchain di compilazione, i passaggi di compilazione e la durata della compilazione.

Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.
  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Cloud Build, Artifact Registry, and Container Scanning APIs:

    gcloud services enable cloudbuild.googleapis.com  artifactregistry.googleapis.com  containerscanning.googleapis.com
  7. Install the Google Cloud CLI.
  8. To initialize the gcloud CLI, run the following command:

    gcloud init
  9. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  10. Make sure that billing is enabled for your Google Cloud project.

  11. Enable the Cloud Build, Artifact Registry, and Container Scanning APIs:

    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 containerize:

    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 l'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 comando seguente crea e containerizza l'applicazione Java archivia il container creato nel repository Docker di Artifact Registry:

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

Al termine della build, verrà visualizzato un messaggio di stato dell'operazione riuscita simile al seguenti:

<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>

Generare un SBOM per l'immagine compilata

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

Genera l'SBOM per l'immagine creata 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 Approfondimenti sulla sicurezza di Software Delivery Shield che mostra informazioni sulla sicurezza relative alla build, come 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 di 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 creato. eseguito.

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

Viene visualizzato il riquadro Approfondimenti sulla sicurezza per la build:

Screenshot di Software Delivery Shield
pannello

Questo riquadro mostra le seguenti informazioni:

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

  • Vulnerabilità: eventuali vulnerabilità trovate nei tuoi artefatti. Fai clic sul nome dell'immagine (java-guestbook-backend) per visualizzare gli elementi sottoposti a scansione per rilevare le vulnerabilità.

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

  • Dettagli build: dettagli della build, ad esempio 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 su 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 procedura Guida rapida.

Passaggi successivi