SBOMs hochladen

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

  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. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  7. To initialize the gcloud CLI, run the following command:

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

    Go to project selector

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

  10. Enable the Artifact Registry, Container Analysis APIs.

    Enable the APIs

  11. Install the Google Cloud CLI.

  12. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  13. To initialize the gcloud CLI, run the following command:

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

    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 im Kurzfassung-Format vorliegen. Bilder, die im Tag-Format angegeben werden, 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: 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.

    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.

    Nächste Schritte