SBOMs ansehen und filtern

In diesem Dokument wird beschrieben, wie Sie auf Ihre Software-Stücklisten (Software Bill of Materials, SBOM) und zugehörigen Abhängigkeitsmetadaten zugreifen können, um die Komponenten Ihrer in Artifact Registry gespeicherten Container-Images zu verstehen.

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 Container Analysis, Artifact Registry APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    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.

    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 Container Analysis, Artifact Registry APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    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. SBOMs in Cloud Storage gespeichert haben. Weitere Informationen zum Generieren von SBOMs

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Aufrufen von SBOM-Daten und zum Filtern von Ergebnissen 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.

SBOMs in der Google Cloud Console ansehen

So rufen Sie SBOMs und zugehörige Abhängigkeitsmetadaten für Container-Images auf, die in Artifact Registry gespeichert sind:

  1. Öffnen Sie die Seite Repositories in Artifact Registry.

    Zur Seite „Repositories“

    Auf der Seite wird eine Liste Ihrer Repositories angezeigt.

  2. Klicken Sie in der Repository-Liste auf einen Repository-Namen.

    Die Seite Repository-Details wird geöffnet und zeigt eine Liste Ihrer Images an.

  3. Klicken Sie in der Liste der Bilder auf einen Bildnamen.

    Auf der Seite wird eine Liste Ihrer Bild-Digests angezeigt.

  4. Klicken Sie in der Liste der Bild-Digests auf einen Digest-Namen.

    Auf der Seite wird eine Reihe von Tabs angezeigt. Der Tab Übersicht ist geöffnet und enthält Details wie Format, Speicherort, Repository, virtuelle Größe und Tags.

  5. Klicken Sie in der Tab-Zeile auf den Tab Dependencies (Abhängigkeiten).

    Der Tab „Abhängigkeiten“ wird geöffnet und die folgenden Informationen werden angezeigt:

    • SBOM-Abschnitt
    • Abschnitt „Lizenzen“
    • Eine filterbare Liste von Abhängigkeiten

SBOM

Im Abschnitt SBOM-Zusammenfassung werden die folgenden Informationen angezeigt:

  • Datei: Ein klickbarer SBOM-Dateiname, der den Speicherort öffnet, an dem Ihre SBOM in Cloud Storage gespeichert ist.
  • Typ: Der verwendete SBOM-Standardtyp, z. B. Software Package Data Exchange (SPDX) oder Cyclone.
  • Version: Die Version des verwendeten SBOM-Standards.
  • Erstellt von: Der Ursprung der SBOM-Daten, entweder von der Artefaktanalyse generiert oder manuell hochgeladen.

Lizenzen

Im Abschnitt Lizenzen wird ein Balkendiagramm mit dem Namen Häufigste Lizenzen angezeigt. Dies stellt die Lizenztypen dar, die am häufigsten in Ihren Abhängigkeitsinformationen vorkommen. Wenn Sie den Mauszeiger auf einen Balken im Diagramm bewegen, wird in der Konsole die genaue Anzahl der Instanzen dieses Lizenztyps angezeigt.

Abhängigkeiten

Die Liste der Abhängigkeiten enthält den Inhalt Ihres Bild-Digests, einschließlich:

  • Paketname
  • Paketversion
  • Pakettyp
  • Lizenztyp

Sie können die Liste der Abhängigkeiten nach einer dieser Kategorien filtern.

SBOMs in Cloud Build ansehen

Wenn Sie Cloud Build verwenden, können Sie die Metadaten von Images in der Seitenleiste Sicherheitsinformationen in der Google Cloud Console aufrufen.

Die Seitenleiste Sicherheitsinformationen bietet einen allgemeinen Überblick über die Buildsicherheitsinformationen für Artefakte, die in Artifact Registry gespeichert sind. Weitere Informationen zur Seitenleiste und dazu, wie Sie Cloud Build zum Schutz Ihrer Softwarelieferkette verwenden können, finden Sie unter Sicherheitserkenntnisse für Builds ansehen.

SBOMs mit der gcloud CLI ansehen

Verwenden Sie den gcloud-Befehl artifacts sbom list, um nach SBOMs zu suchen, die in Cloud Storage gespeichert sind. Diese Suche gilt für alle Ihre SBOMs in Cloud Storage, einschließlich der von der Artefaktanalyse generierten und aller, die Sie aus einer anderen Quelle in einem unterstützten Format hochladen.

Sie können Filter mit dem gcloud-Befehl verwenden, um die Ergebnisse einzugrenzen und sich auf SBOMs zu konzentrieren, die für ein bestimmtes Sicherheitsproblem oder eine bestimmte Compliance-Anfrage am relevantesten sind.

Der folgende Befehl zeigt beispielsweise, wie Sie Informationen zur SBOM für ein Docker-Image my-image abrufen, das in Artifact Registry gespeichert ist:

gcloud artifacts sbom list \
    --resource="us-east1-docker.pkg.dev/my-project/my-repo/my-image:1.0"

Wobei:

  • --resource gibt den URI der Bildressource an, für die SBOM-Dateireferenzen aufgelistet werden sollen.

Die Ausgabe enthält Folgendes:

  • Der Cloud Storage-Speicherort für die SBOM. Mit dem Cloud Storage-Speicherort können Sie die SBOM in der gcloud CLI ansehen, indem Sie den Befehl gcloud storage cat ausführen.
  • Ob die SBOM noch im Cloud Storage-Bucket ist oder entfernt wurde.
  • Ein Hash der SBOM, mit dem Sie überprüfen können, ob sie geändert wurde.

Filter

Sie können nach bestimmten SBOMs filtern, indem Sie eines der folgenden optionalen Flags verwenden:

Flag Zweck Eingabewert
--dependency Listet alle SBOM-Dateireferenzen auf, in denen auf einer Ressource das angegebene Paket installiert ist. Unterstützte Pakettypen Der Name eines installierten Pakets
--resource SBOM-Dateiverweise auflisten, die sich auf ein bestimmtes Image beziehen. Der Ressourcen-URI
--resource-prefix Listet SBOM-Dateireferenzen auf, die sich auf das Präfix des Ressourcenpfads beziehen. Ein Ressourcenpfad, der als Präfix für die Suche verwendet wird

Filterbeispiele

Ergebnisse nach Ressourcen-URI filtern:

gcloud artifacts sbom list \
--resource="us-east1-docker.pkg.dev/project/repo/my-image@sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356"

Nach Ressourcenpräfix filtern:

gcloud artifacts sbom list \
--resource-prefix="us-east1-docker.pkg.dev/project/repo"

Beschränkungen

Nächste Schritte