In diesem Dokument werden SBOM-Konzepte vorgestellt und die Funktionen der Artefaktanalyse beschrieben, mit denen Sie die Abhängigkeiten in Ihrer Softwarelieferkette besser nachvollziehen können.
Wenn Sie ein Container-Image in Artifact Registry speichern, können Sie eine Software-Bestellliste (Software Bill of Materials, SBOM) erstellen, die den Inhalt dieses Images beschreibt. Wenn Sie die Abhängigkeiten Ihrer Software kennen, können Sie Ihre Sicherheitslage verbessern. Mit einer SBOM können Sie auch die Zusammensetzung Ihrer Software bestätigen, um die Einhaltung von Sicherheitsvorschriften wie der Executive Order (EO) 14028 zu unterstützen.
SBOMs
Ein SBOM ist ein maschinenlesbares Inventar einer Anwendung, in dem die Pakete aufgeführt sind, auf die Ihre Software angewiesen ist. Der Inhalt kann Software von Drittanbietern, interne Artefakte und Open-Source-Bibliotheken umfassen.
Mit der Artefaktanalyse können Sie SBOMs generieren oder eigene hochladen.
Unabhängig davon, ob Sie Ihre SBOM mit der Artefaktanalyse generieren oder Ihre eigene hochladen, bietet die Artefaktanalyse einheitliche Speicher- und Abrufprozesse, mit denen Sie alle Abhängigkeitsinformationen an einem Ort koordinieren und bewerten können.
SBOM-Format
Die Artefaktanalyse erstellt SBOMs im Format Software Package Data Exchange (SPDX) 2.3.
Wenn Sie eine vorhandene SBOM von außerhalb von Google Cloud hochladen möchten, werden zusätzliche Formate unterstützt. Weitere Informationen finden Sie unter SBOMs hochladen.
SBOM-Speicher
Bei der Artefaktanalyse werden Ihre SBOMs in Cloud Storage in Ihrem Google Cloud-Projekt gespeichert. SBOMs bleiben in Cloud Storage gespeichert, es sei denn, Sie löschen die SBOM-Objekte oder löschen den Bucket. Informationen zu den Preisen finden Sie unter Cloud Storage – Preise.
Unterstützte Pakettypen
Die SBOM enthält eine Liste aller Pakete, die durch die Artefaktanalyse erkannt werden können. Pakete müssen containerisiert und in einem Docker-Repository in Artifact Registry gespeichert werden.
Artefaktanalyse unterstützt die folgenden Pakettypen:
- Betriebssystem
- Java (Maven)
- Go
- Python
- Node.js (npm)
SBOM-Referenzauftreten
Zusätzlich zur containerspezifischen SBOM generiert die Artefaktanalyse ein Grafeas-SBOM-Referenzereignis mit den folgenden Informationen:
- Den Cloud Storage-Speicherort der SBOM
- Ein Hash der SBOM
- Eine Unterschrift über dem
SbomReferenceIntotoPayload
Mit der Signatur können Sie prüfen, ob die SBOM mit der Artefaktanalyse generiert wurde.
Für die Signatur wird das DSSE-Signaturprotokoll mit dem Nutzlasttyp application/vnd.in-toto+json
verwendet.Die Nutzlast ist der JSON-Wert des SbomReferenceIntotoPayload
.
Paketvorfall
Um weitere Abhängigkeitsinformationen bereitzustellen, generiert die Artefaktanalyse für jedes installierte Paket auch ein Grafeas-Paketauftreten. Paketvorkommnisse enthalten die folgenden Informationen:
- Paketversion
- Pakettyp
- Lizenzinformationen für installierte Pakete
Beschränkungen
- Das Tracking installierter Pakete wird nur für Container-Images unterstützt, die an Artifact Registry gepusht und von der Container Scanning API bewertet werden. In der Folge funktioniert die Suche in der gcloud CLI, die auf installierten Paketen basiert, nur mit in Artifact Registry gespeicherten Images, da installierte Pakete nur in diesen Images erfasst werden.
- Container Registry-Repositories (verworfen) werden nicht unterstützt. Weitere Informationen zur Umstellung von Container Registry