Questo documento descrive come creare e archiviare una distinta base software (SBOM) che elenca le dipendenze nelle immagini container.
Quando archivi le immagini container in Artifact Registry ed esegui la scansione per rilevare le vulnerabilità con Artifact Analysis, puoi generare una SBOM utilizzando Google Cloud CLI.
Per informazioni sull'utilizzo dell'analisi delle vulnerabilità, consulta Scansione automatica e Prezzi.
Artifact Analysis archivia le SBOM in Cloud Storage. Per ulteriori informazioni sui costi di Cloud Storage, consulta la pagina Prezzi.
Prima di iniziare
-
Accedi al tuo Account Google.
Se non ne hai già uno, registrati per un nuovo account.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry, Container Analysis, Container Scanning APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry, Container Analysis, Container Scanning APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init - Crea un repository Docker in Artifact Registry ed esegui il push di un'immagine container nel repository. Se non hai familiarità con Artifact Registry, consulta la guida rapida di Docker.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire i bucket Cloud Storage e caricare i file SBOM, chiedi all'amministratore di concederti il ruolo IAM Storage Admin (roles/storage.admin) per il progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Genera un file SBOM
Per generare un file SBOM, utilizza il seguente comando:
gcloud artifacts sbom export --uri=URI
Dove
- URI è l'URI dell'immagine di Artifact Registry descritta dal file SBOM, simile a
us-east1-docker.pkg.dev/my-image-repo/my-image. Le immagini possono essere in formato tag o digest. Le immagini fornite in formato tag verranno risolte in formato digest.
Artifact Analysis archivia la SBOM in Cloud Storage.
Puoi visualizzare le SBOM utilizzando la Google Cloud console o gcloud CLI. Se vuoi individuare il bucket Cloud Storage che contiene le tue SBOM, devi cercarle utilizzando gcloud CLI.
Genera una SBOM senza l'analisi delle vulnerabilità
Se vuoi generare una SBOM, ma non vuoi l'analisi continua delle vulnerabilità per il tuo progetto, puoi comunque esportare una SBOM se abiliti l'API Container Scanning prima di eseguire il push dell'immagine in Artifact Registry. Dopo aver eseguito il push dell'immagine in Artifact Registry e aver esportato una SBOM, devi disabilitare l'API Container Scanning per evitare addebiti per ulteriori analisi delle vulnerabilità.