Auf dieser Seite wird beschrieben, wie Sie eine SBOM-Datei (Software Bill of Materials) in Cloud Storage hochladen, um die Komponenten von Container-Images, die Sie in Artifact Registry speichern, nachzuverfolgen und zu bestätigen.
Informationen zu den Preisen für Cloud Storage finden Sie unter Preise.
Hinweise
-
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
- Sie haben ein Docker-Repository in Artifact Registry mit dem Container-Image, das in Ihrer SBOM beschrieben wird. Wenn Sie mit Artifact Registry nicht vertraut sind, lesen Sie die Docker-Kurzanleitung.
- Sie haben eine SBOM-Datei, die Sie in einem der unterstützten Formate hochladen können.
-
Wenn Sie den standardmäßigen Cloud Storage-Bucket verwenden, gehen Sie so vor, um Speicher-Buckets zu verwalten:
Storage Admin(
roles/storage.admin
) -
Wenn Sie einen Cloud Storage-Bucket angeben, benötigen Sie zum Verwalten von Storage-Buckets die Rolle:
Storage-Objekt-Administrator(
roles/storage.objectAdmin
) -
Wenn bereits ein Hinweis für die SBOM-Referenz vorhanden ist:
Hinzufüger von Container Analysis-Hinweisen (
roles/containeranalysis.notes.attacher
) -
So erstellen Sie einen neuen Hinweis für SBOM-Referenzvorkommen im aktuellen Projekt:
Bearbeiter von Container Analysis-Hinweisen(
(roles/containeranalysis.notes.editor
) -
So erstellen Sie ein SBOM-Referenzvorkommen:
Bearbeiter von Container Analysis-Vorkommen(
roles/containeranalysis.occurrences.editor
) - Software Package Data Exchange (SPDX), Version 2.2 oder 2.3
- CycloneDX-Version 1.4 oder 1.5
- SOURCE: Der Pfad zur hochzuladenden SBOM-Datei.
- URI: Der URI für das Docker-Image, das in der SBOM-Datei beschrieben wird. Bilder können entweder im Tag- oder im Kurzfassung-Format vorliegen. Bilder, die im Tag-Format angegeben werden, werden in das Digest-Format aufgelöst.
--destination
: Gibt einen Cloud Storage-Bucket an, der anstelle des Standard-Buckets verwendet werden soll.--kms-key-version
: Stellt eine Schlüsselversion zum Signieren der Nutzlast der SBOM-Referenz-Occurrence bereit. Mit diesem Schlüssel können Sie den Ursprung der SBOM überprüfen.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Verwalten von Cloud Storage-Buckets und SBOM-Dateien benötigen:
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Unterstützte Formate
Ihre SBOM-Datei muss eine JSON-Datei in einem der folgenden Formate sein:
SBOM hochladen
Verwenden Sie den folgenden Befehl, um Ihre SBOM hochzuladen:
gcloud artifacts sbom load /
--source SOURCE /
--uri URI
Wobei:
Optionale Flags
Mit dem folgenden Befehl wird beispielsweise eine JSON-Datei my-sbom.bom.json
hochgeladen, die aus dem getaggten Bild us-east1-docker.pkg.dev/my-image-repo/my-image
generiert wurde, und das SBOM-Referenzvorkommen wird mit der KMS-Schlüsselversion signiert, die mit my-key/cryptoKeyVersions/1
endet.
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
Mit dem folgenden Befehl wird eine JSON-Datei my-sbom.spdx.json
hochgeladen, die mit dem Bild-Digest my-local-image@sha256:abcxyz
verknüpft ist, und die Datei wird im Cloud Storage-Bucket gs://my-sbom-bucket
gespeichert.
gcloud artifacts sbom load /
--source=my-sbom.spdx.json /
--uri=my-local-image@sha256:abcxyz /
--destination=gs://my-sbom-bucket
Bei der Artefaktanalyse wird Ihre SBOM in Cloud Storage hochgeladen und eine Referenz-Occurrence für die SBOM erstellt.
Sie können SBOMs über die Google Cloud -Konsole oder die gcloud CLI aufrufen. Wenn Sie den Cloud Storage-Bucket mit Ihren SBOMs finden möchten, müssen Sie mit der gcloud CLI nach SBOMs suchen.