In diesem Dokument wird beschrieben, wie Sie auf Ihre Software-Materiallisten (Software Bill of Materials, SBOM) und zugehörigen Metadaten zu Abhängigkeiten zugreifen können, um die Komponenten Ihrer in Artifact Registry gespeicherten Container-Images zu verstehen.
Hinweis
-
Melden Sie sich in Ihrem Google-Konto an.
Wenn Sie noch kein Konto haben, melden Sie sich hier für ein neues Konto an.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Container Analysis, Artifact Registry APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Container Analysis, Artifact Registry APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Installieren Sie die Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init - SBOMs in Cloud Storage speichern. Anleitung 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:
-
Betrachter von Container Analysis-Vorkommen (
roles/containeranalysis.occurrences.viewer) -
Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer) -
Artifact Registry-Leser (
roles/artifactregistry.reader) -
Zum Überprüfen von SBOMs:
Storage-Objekt-Betrachter (
roles/storage.objectViewer) – ein bestimmter Cloud Storage-Bucket
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 Metadaten zu Abhängigkeiten für Container-Images auf, die in Artifact Registry gespeichert sind:
Öffnen Sie die Seite Repositories von Artifact Registry.
Auf der Seite wird eine Liste Ihrer Repositories angezeigt.
Klicken Sie in der Liste der Repositories auf einen Repository-Namen.
Die Seite Repository-Details wird geöffnet und zeigt eine Liste Ihrer Images an.
Klicken Sie in der Liste der Images auf einen Image-Namen.
Auf der Seite wird eine Liste Ihrer Image-Digests angezeigt.
Klicken Sie in der Liste der Image-Digests auf einen Digest-Namen.
Auf der Seite wird eine Reihe von Tabs angezeigt, wobei der Tab Übersicht geöffnet ist. Dort finden Sie Details wie Format, Speicherort, Repository, virtuelle Größe und Tags.
Klicken Sie in der Reihe von Tabs auf den Tab Abhängigkeiten.
Der Tab „Abhängigkeiten“ wird geöffnet und enthält die folgenden Informationen:
- Bereich „SBOM“
- Bereich „Lizenzen“
- Eine filterbare Liste von Abhängigkeiten
SBOM
Im Übersichtsabschnitt SBOM werden die folgenden Informationen angezeigt:
- Datei: Ein anklickbarer SBOM-Dateiname, der den Speicherort öffnet, an dem Ihre SBOM in Cloud Storage gespeichert ist.
- Typ: Der Typ des verwendeten SBOM-Standards, z. B. Software Package Data Exchange (SPDX) oder Cyclone.
- Version: Die Version des verwendeten SBOM-Standards.
- Generiert von: Die Quelle der SBOM-Daten, entweder von der Artefaktanalyse generiert oder manuell hochgeladen.
Lizenzen
Im Übersichtsabschnitt Lizenzen wird ein Balkendiagramm mit dem Titel Am häufigsten verwendete Lizenzen angezeigt. Darin sind die Lizenztypen dargestellt, die am häufigsten in Ihren Informationen zu Abhängigkeiten vorkommen. Wenn Sie den Mauszeiger auf einen Balken im Diagramm bewegen, wird in der Console die genaue Anzahl der Instanzen dieses Lizenztyps angezeigt.
Abhängigkeiten
Die Liste der Abhängigkeiten enthält die Inhalte Ihres Image-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 Image-Metadaten im Seitenbereich Sicherheitsinformationen in der Google Cloud Console ansehen.
Der Seitenbereich Sicherheitsinformationen bietet einen allgemeinen Überblick über die Informationen zur Buildsicherheit für Artefakte, die in Artifact Registry gespeichert sind. Weitere Informationen zum Seitenbereich und dazu, wie Sie Cloud Build verwenden können, um Ihre Softwarelieferkette zu schützen, finden Sie unter Informationen zur Buildsicherheit ansehen.
SBOMs mit der gcloud CLI ansehen
Verwenden Sie den
gcloud artifacts sbom list
Befehl, 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 derjenigen, die Sie in einem unterstützten Format aus einer anderen Quelle 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:
--resourcegibt den Image-Ressourcen-URI an, für den 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 sich die SBOM noch im Cloud Storage-Bucket befindet oder entfernt wurde.
- Ein Hash der SBOM, mit dem Sie überprüfen können, ob sie nicht geändert wurde.
Filter
Sie können mit einem der folgenden optionalen Flags nach bestimmten SBOMs filtern:
| Flag | Zweck | Eingabewert |
|---|---|---|
--dependency |
Listet alle SBOM-Dateireferenzen auf, in denen ein bestimmtes Paket installiert ist. Siehe unterstützte Pakettypen. | Der Name eines installierten Pakets |
--resource |
Listet SBOM-Dateireferenzen auf, die sich auf ein bestimmtes Image beziehen. | Der Ressourcen-URI |
--resource-prefix |
Listet SBOM-Dateireferenzen auf, die sich auf das Ressourcenpfadpräfix 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
- Lizenzinformationen werden nur für Betriebssystempakete und unterstützte Sprachpakete bereitgestellt.
Nächste Schritte
- SBOMs generieren.
- Informationen zur Verwendung von VEX-Anweisungen zum Bereitstellen zusätzlicher Sicherheits informationen Unterstützte Formate für das Generieren und Speichern von SBOMs