SBOMs hochladen

Auf dieser Seite wird beschrieben, wie Sie eine Software-Materialliste (Software Bill of Materials, SBOM) 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 von Cloud Storage finden Sie unter Preise.

Hinweis

  1. Melden Sie sich in Ihrem Google-Konto an.

    Wenn Sie noch kein Konto haben, melden Sie sich hier für ein neues Konto an.

  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 role (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 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. Installieren Sie die Google Cloud CLI.

  6. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  7. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    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 role (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 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. Installieren Sie die Google Cloud CLI.

  12. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  13. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  14. Sie benötigen 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.
  15. Halten Sie eine SBOM-Datei in einem der unterstützten Formate bereit, die Sie hochladen können.

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:

  • Wenn Sie den Standard-Cloud Storage-Bucket verwenden, um Speicher-Buckets zu verwalten: Storage Admin(roles/storage.admin)
  • Wenn Sie einen Cloud Storage-Bucket angeben, um Speicher-Buckets zu verwalten: Storage Object Admin(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)

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:

  • 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 Digest-Format vorliegen. Bilder im Tag-Format werden in das Digest-Format aufgelöst.

Optionale Flags

  • --destination: gibt einen Cloud Storage-Bucket an, der anstelle des Standard-Buckets verwendet werden soll.
  • --kms-key-version: gibt eine Schlüsselversion an, mit der die Nutzlast des SBOM-Referenzvorkommens signiert werden soll. Mit diesem Schlüssel können Sie den Ursprung der SBOM bestätigen.

Mit dem folgenden Befehl wird beispielsweise eine JSON-Datei my-sbom.bom.json hochgeladen, die aus dem getaggten Image us-east1-docker.pkg.dev/my-image-repo/my-image generiert wurde. 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 Image-Digest my-local-image@sha256:abcxyz verknüpft ist. 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

Artefaktanalyse lädt Ihre SBOM in Cloud Storage hoch und erstellt ein SBOM Referenzvorkommen.

Sie können SBOMs über die Google Cloud Console 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.

Nächste Schritte