Metadatenverwaltung – Übersicht

Auf dieser Seite werden die wichtigsten Konzepte für die Metadatenverwaltung und ihre Bedeutung in einer sicheren Softwarebereitstellungskette vorgestellt.

Einer der Aspekte einer sicheren Lieferkette besteht darin, die Lebensdauer eines Software-Artefakts im Blick zu behalten. Aus Compliance-Gründen müssen diese Tracking-Informationen möglicherweise auch noch lange nach der Einstellung des Artefakts verfügbar sein. Dazu werden Metadaten generiert und gespeichert, die wichtige Ereignisse zu einem Artefakt oder einer Softwareressource beschreiben: ein Container-Image, eine virtuelle Maschine oder ein Softwarepaket.

Mit Artefaktanalyse können Sie Metadateninformationen zu einer Ressource speichern. Diese Metadaten können später abgerufen werden, um Ihre Software-Lieferkette zu prüfen.

So werden Metadaten bei der Artefaktanalyse gespeichert

Die Artefaktanalyse basiert auf Grafeas, einer Open-Source-Metadaten-API, die als zentrale „Source of Truth“ zum Überwachen und Durchsetzen von Richtlinien verwendet werden kann. Mit Grafeas können Build-, Audit- und Compliance-Tools umfassende Metadaten zu Softwarekomponenten speichern, abfragen und abrufen.

Da Grafeas Open Source ist, sind Sie nicht an einen bestimmten Anbieter gebunden. Grafeas verknüpft Metadaten mit einer eindeutigen Software-ID. Dadurch wird der Speicher für Artefakte entkoppelt, sodass Sie Metadaten zu Komponenten aus vielen verschiedenen Repositories speichern können. Dieselben Prinzipien gelten für die Artefaktanalyse. Sie können sie als zentralen universellen Metadatenspeicher für Softwarekomponenten in Artifact Registry oder an einem anderen Ort verwenden.

Das Grafeas-Modell umfasst zwei Entitäten:

  • Ein Anbieter, der in Notizen gespeicherte Metadaten erstellt.
  • Ein Kunde, der feststellt, ob die in einer Notiz gespeicherten Metadaten auf seine Artefakte zutreffen. In diesem Fall werden die Metadaten als Vorkommen eines Hinweises dargestellt.

Hinweis

Ein Hinweis beschreibt ein übergeordnetes Metadatenelement. Sie können beispielsweise einen Hinweis zu einer bestimmten Sicherheitslücke für ein Linux-Paket erstellen. Sie können auch einen Hinweis verwenden, um Informationen über den Builder eines Build-Prozesses zu speichern. Hinweise gehören in der Regel den Anbietern, die die Analyse durchführen. Kunden, die die Metadaten verwenden möchten, können dann das Vorkommen von Hinweisen in ihren Projekten identifizieren.

Wir empfehlen, Hinweise und Vorkommen in separaten Projekten zu speichern, um eine detailliertere Zugriffssteuerung zu ermöglichen.

Hinweise dürfen nur vom Inhaber des Hinweises bearbeitet werden und nur für Kunden lesbar sein, die Zugriff auf Ereignisse haben, auf die sie verweisen.

Vorkommen

Ein Vorkommen stellt dar, wann ein Hinweis in einem Software-Artefakt gefunden wurde. Man kann es sich als Instanziierung eines Hinweises vorstellen. Ein Hinweis auf eine Sicherheitslücke benennt beispielsweise das Paket, in dem diese gefunden wurde, sowie bestimmte Schritte zur Fehlerbehebung. Alternativ benennt das Vorkommen eines Hinweises zu Build-Details die Container-Images, die aus einem Build resultieren.

In der Regel werden Vorkommen in anderen Projekten als denen gespeichert, in denen Hinweise erstellt werden. Schreibzugriff auf Vorkommen sollte nur Nutzern gewährt werden, die die nötigen Zugangsrechte haben, um einen Hinweis mit einem Vorkommen verknüpfen zu können. Jeder Nutzer kann Lesezugriff auf Vorkommen haben.

Unterstützte Metadatentypen

In der folgenden Tabelle sind die Metadatentypen aufgeführt, die von der Artefaktanalyse unterstützt werden. Metadatendrittanbieter können die folgenden Metadatentypen für die Images ihrer Kunden speichern und abrufen.

Metadatentyp Verwendung in Google Cloud-Diensten
Vulnerability bietet Informationen zu Sicherheitslücken von geprüften Dateien. Die Artefaktanalyse generiert Sicherheitslücken anhand von externen Datenbanken mit öffentlich bekannten Sicherheitsproblemen.
Build bietet Informationen zur Build-Herkunft. Cloud Build generiert diese Metadaten und Artefaktanalyse speichert die Informationen, wenn Sie das Image mit Cloud Build erstellen.
Image enthält die Metadaten zum Container-Image, beispielsweise Informationen zu den verschiedenen Ebenen eines Images.
Package enthält Informationen zu den in Ihrem Image installierten Paketen.
Deployment liefert Informationen zu Image-Bereitstellungsereignissen.
Discovery enthält Informationen zum ersten Scan von Bildern. Die Artefaktanalyse stellt diese Informationen nur für Sicherheitslückenscans bereit.
Attestierung enthält Informationen zur Bildzertifizierung. Ja. Die Binärautorisierung liest diese Informationen und kann sie verwenden, um Bereitstellungen zu steuern.
Upgrade: Beschreibt ein verfügbares Paket-Upgrade.
Compliance: Hier finden Sie Informationen zu einer Compliance-Prüfung.
DSSE-Attestierung: Eine Attestierung, die die Signatur Dead Simple Signing Envelope verwendet.
Unter Sicherheitslückenbewertung wird eine hochgeladene VEX-Erklärung im Grafeas-Format VulnerabilityAssessment gespeichert.
Die SBOM-Referenz enthält zusätzliche Metadaten, mit denen Sie SBOMs finden und überprüfen können.

Nächste Schritte

  • Metadaten für Ihre Bilder bereitstellen.
  • Sie können die Zugriffssteuerung konfigurieren, um eine detaillierte Zugriffssteuerung für Ihre Metadaten zu ermöglichen.