Carica SBOM

Questa pagina descrive come caricare un file SBOM (Software Bill of Materials) su Cloud Storage per monitorare e attestare i componenti delle immagini dei contenitori archiviate in Artifact Registry.

Per informazioni sui prezzi 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.

    Go to project selector

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

  4. Enable the Artifact Registry, Container Analysis APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  9. Enable the Artifact Registry, Container Analysis APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. Avere un repository Docker in Artifact Registry con l'immagine container descritta dalla SBOM. Se non hai dimestichezza con Artifact Registry, consulta la guida rapida di Docker.
  13. Avere un file SBOM pronto per il caricamento in uno dei formati supportati.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per creare e gestire i bucket Cloud Storage e i file SBOM, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:

  • Se utilizzi il bucket Cloud Storage predefinito, per gestire i bucket di archiviazione: Storage Admin(roles/storage.admin)
  • Se specifichi un bucket Cloud Storage, per gestire i bucket di archiviazione: Amministratore oggetti Storage(roles/storage.objectAdmin)
  • Se esiste già una nota per il riferimento SBOM: Container Analysis Notes Attacher (roles/containeranalysis.notes.attacher)
  • Per creare una nuova nota per le occorrenze di riferimento SBOM nel progetto corrente: Container Analysis Notes Editor((roles/containeranalysis.notes.editor)
  • Per creare un'occorrenza di riferimento SBOM: Editor delle occorrenze Container Analysis(roles/containeranalysis.occurrences.editor)

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Formati supportati

Il file SBOM deve essere un file JSON in uno dei seguenti formati:

Carica la SBOM

Utilizza il seguente comando per caricare la tua SBOM:

gcloud artifacts sbom load /
    --source SOURCE /
    --uri URI

Dove:

  • SOURCE: il percorso del file SBOM da caricare.
  • URI: l'URI dell'immagine Docker descritta dal file SBOM. Le immagini possono essere in formato tag o digest. Le immagini fornite in formato tag verranno risolte in formato digest.

Flag facoltativi

  • --destination: specifica un bucket Cloud Storage da utilizzare anziché quello predefinito.
  • --kms-key-version: fornisce una versione della chiave per firmare il payload della occorrenza di riferimento SBOM. Puoi utilizzare questa chiave per verificare l'origine della SBOM.

Ad esempio, il seguente comando carica un file JSON my-sbom.bom.json generato dall'immagine con tag us-east1-docker.pkg.dev/my-image-repo/my-image e firma l'occorrenza di riferimento SBOM con la versione della chiave KMS che termina con my-key/cryptoKeyVersions/1.

gcloud artifacts sbom load /
--source=my-sbom.bom.json
--uri=us-east1-docker.pkg.dev/my-image-repo/my-image
--kms-key-version=projects/my-project/locations/us/keyRings/my-key-ring/cryptoKeys/my-key/cryptoKeyVersions/1

Il seguente comando carica un file JSON my-sbom.spdx.json associato al digest dell'immagine my-local-image@sha256:abcxyz e lo memorizza nel bucket Cloud Storage gs://my-sbom-bucket.

gcloud artifacts sbom load /
    --source=my-sbom.spdx.json /
    --uri=my-local-image@sha256:abcxyz /
    --destination=gs://my-sbom-bucket

L'Artifact Analysis carica la SBOM in Cloud Storage e crea un'occorrenza di riferimento SBOM.

Puoi visualizzare le SBOM utilizzando la console Google Cloud o la gcloud CLI. Se vuoi individuare il bucket Cloud Storage contenente le tue SBOM, devi cercarle utilizzando gcloud CLI.

Passaggi successivi