Generare e archiviare SBOM

Questo documento descrive come creare e archiviare una distinta materiali software (SBOM) che elenca le dipendenze nelle immagini container.

Quando memorizzi immagini container in Artifact Registry e le analizzi per vulnerabilità con Artifact Analysis, puoi generare un SBOM utilizzando Google Cloud CLI.

Per informazioni sull'utilizzo dell'analisi delle vulnerabilità, consulta le sezioni Analisi automatica e Prezzi.

Artifact Analysis archivia le SBOM in Cloud Storage. Per maggiori informazioni sui costi di Cloud Storage, consulta la pagina Prezzi.

Prima di iniziare

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. 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 (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. Install the Google Cloud CLI.

  6. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  7. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  8. 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 (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

  10. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  11. Install the Google Cloud CLI.

  12. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  13. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init
  14. 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.
  15. 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) nel 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.

    Generare un file SBOM

    Per generare un file SBOM, utilizza il seguente comando:

    gcloud artifacts sbom export --uri=URI
    

    Dove

    • URI è l'URI dell'immagine 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 formato digest. Le immagini fornite in formato tag verranno risolte in formato digest.

    Artifact Analysis archivia la tua SBOM in Cloud Storage.

    Puoi visualizzare gli SBOM utilizzando la console Google Cloud o gcloud CLI. Se vuoi individuare il bucket Cloud Storage che contiene le tue SBOM, devi cercare le SBOM utilizzando gcloud CLI.

    Generare una SBOM senza analisi delle vulnerabilità

    Se vuoi generare una SBOM, ma non vuoi la scansione 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 trasferito l'immagine ad Artifact Registry ed esportato una SBOM, devi disabilitare l'API Container Scanning per evitare l'addebito di ulteriori analisi delle vulnerabilità.

    Passaggi successivi