Questa pagina descrive come caricare un file SBOM (Software Bill of Materials) in Cloud Storage per monitorare e attestare i componenti delle immagini container che memorizzi in Artifact Registry.
Per informazioni sui prezzi di Cloud Storage, consulta la pagina Prezzi.
Prima di iniziare
-
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Container Analysis APIs.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry, Container Analysis APIs.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Avere un repository Docker in Artifact Registry con l'immagine container descritta dalla SBOM. Se non hai familiarità con Artifact Registry, consulta la guida rapida di Docker.
- Prepara un file SBOM da caricare in uno dei formati supportati.
-
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:
Editor delle note di Container Analysis(
(roles/containeranalysis.notes.editor
) -
Per creare un'occorrenza di riferimento SBOM:
Editor occorrenze Container Analysis(
roles/containeranalysis.occurrences.editor
) - Software Package Data Exchange (SPDX) versione 2.2 o 2.3
- CycloneDX versione 1.4 o 1.5
- 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 riepilogo. Le immagini fornite nel formato tag verranno risolte nel formato digest.
--destination
: specifica un bucket Cloud Storage da utilizzare al posto di quello predefinito.--kms-key-version
: fornisce una versione della chiave per firmare il payload dell'occorrenza del riferimento SBOM. Puoi utilizzare questa chiave per verificare l'origine della SBOM.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare e gestire bucket Cloud Storage e file SBOM, chiedi all'amministratore di concederti i seguenti ruoli IAM 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.
Formati supportati
Il file SBOM deve essere un file JSON in uno dei seguenti formati:
Caricare la SBOM
Utilizza il seguente comando per caricare la SBOM:
gcloud artifacts sbom load /
--source SOURCE /
--uri URI
Dove:
Flag facoltativi
Ad esempio, il seguente comando carica un file JSON my-sbom.bom.json
generato dall'immagine taggata us-east1-docker.pkg.dev/my-image-repo/my-image
e firma l'occorrenza del 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 archivia 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
Artifact Analysis carica la tua SBOM in Cloud Storage e crea un'occorrenza di riferimento della SBOM.
Puoi visualizzare le 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.