Für besondere geschäftliche Anforderungen können Sie Artefaktanalyse Ihre eigenen Metadaten zur Verfügung stellen. Beispielsweise kann ein Unternehmen, das Sicherheitsmanagement für die Docker-Container seiner Kunden bereitstellt, mithilfe von Artefaktanalyse sicherheitsbezogene Metadaten für diese Images speichern und abrufen.
Führen Sie die folgenden Schritte aus, um mit der Artifact Analysis API benutzerdefinierte Metadaten für Sicherheitslücken für Ihre Images bereitzustellen. Dieselbe Anleitung gilt für das Speichern und Abrufen jeder Art von Metadaten, die in der Artefaktanalyse unterstützt werden.
Hinweise
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Container Analysis API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Container Analysis API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Weitere Informationen zum Einrichten der Zugriffssteuerung für Metadaten in Ihrem Projekt Überspringen Sie diesen Schritt, wenn Sie nur Metadaten von Sicherheitslücken verwenden, die durch das Container-Scannen der Artefaktanalyse erstellt wurden.
Notizen und Vorkommen für Projekte erstellen
In diesem Abschnitt wird beschrieben, wie Sie Hinweise und Vorkommen erstellen. In diesem Beispiel verwenden Sie die Art VULNERABILITY
.
Als Anbieter erstellen Sie für jede Sicherheitslücke einen Hinweis in Ihrem Projekt und außerdem ein Vorkommen im Projekt Ihres Kunden für ein Auftreten dieser Sicherheitslücke.
Notizen erstellen
So erstellen Sie eine Notiz und geben ihr eine Notiz-ID:
API
Erstellen Sie eine Datei namens
note.json
mit einer Beschreibung und Details zur Sicherheitslücke. Der folgende Code zeigt einenote.json
-Beispieldatei:{ "shortDescription": "A brief Description of the note", "longDescription": "A longer description of the note", "kind": "VULNERABILITY", "vulnerability": { "details": [ { "affectedPackage": "libexempi3", "affectedCpeUri": "cpe:/o:debian:debian_linux:7", "affectedVersionStart": { "name": "2.5.7", "revision": "1", "kind": "MINIMUM"}, "affectedVersionEnd": { "name": "2.5.9", "revision": "1", "kind": "MINIMUM"}, }, { "affectedCpeUri": "cpe:/o:debian:abc:10", "affectedPackage": "anotherPackage", } ] } }
Weitere Informationen zur JSON-Darstellung von Notizen finden Sie in der API-Dokumentation für Notizen.
Führen Sie den folgenden curl-Befehl aus, um eine Notiz zu erstellen:
curl -v -H "Content-Type: application/json" -H \ "Authorization: Bearer $(gcloud auth print-access-token)" \ https://containeranalysis.googleapis.com/v1/projects/PROVIDER_PROJECT_ID/notes?note_id=NOTE_ID -d @note.json
Wobei:
- PROVIDER_PROJECT_ID ist die Projekt-ID.
- NOTE_ID gibt eine Kennung für Ihre Notiz an. Verwenden Sie einen String mit einer maximalen Länge von 100 Zeichen.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für die Artefaktanalyse finden Sie unter Clientbibliotheken für die Artefaktanalyse. Weitere Informationen finden Sie in der Referenzdokumentation zur Artifact Analysis Java API.
Richten Sie zur Authentifizierung bei der Artefaktanalyse Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für die Artefaktanalyse finden Sie unter Clientbibliotheken für die Artefaktanalyse. Weitere Informationen finden Sie in der Referenzdokumentation zur Artifact Analysis Go API.
Richten Sie zur Authentifizierung bei der Artefaktanalyse Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für die Artefaktanalyse finden Sie unter Clientbibliotheken für die Artefaktanalyse. Weitere Informationen finden Sie in der Referenzdokumentation zur Artifact Analysis Node.js API.
Richten Sie zur Authentifizierung bei der Artefaktanalyse Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Informationen zum Installieren und Verwenden der Clientbibliothek für die Artefaktanalyse finden Sie unter Clientbibliotheken für die Artefaktanalyse. Weitere Informationen finden Sie in der Referenzdokumentation zur Artifact Analysis Ruby API.
Richten Sie zur Authentifizierung bei der Artefaktanalyse Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für die Artefaktanalyse finden Sie unter Clientbibliotheken für die Artefaktanalyse. Weitere Informationen finden Sie in der Referenzdokumentation zur Artifact Analysis Python API.
Richten Sie zur Authentifizierung bei der Artefaktanalyse Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Vorkommen für Notizen erstellen
Vorkommen für einen Hinweis erstellen:
API
Erstellen Sie eine Datei mit dem Namen
occurrence.json
und mit folgendem Inhalt:{ "resourceUri": "<resource_url>", "noteName": "projects/<provider-project-id>/notes/<note_id>", "kind": "VULNERABILITY", "vulnerability": { "packageIssue": [{ "affectedCpeUri": "cpe:/o:debian_linux:7", "affectedPackage": "packageName", "affectedVersion": { "kind": "NORMAL", "name": "8.1", "revision": "3" }, "fixedCpeUri": "cpe:/o:debian_linux:7", "fixedPackage": "packageName", "fixedVersion": { "kind": "MAXIMUM" } }] "severity": "LOW" } }
Wobei:
- resource_url ist die URL der Ressource, die mit dem Vorkommen verknüpft ist, z. B.
https://us-central1-docker.pkg.dev/my-project/my-repository/my-image@sha256:123
. - note_id gibt eine Kennung für Ihre Notiz an. Verwenden Sie einen String mit einer maximalen Länge von 100 Zeichen.
Weitere Informationen zur JSON-Darstellung von Vorkommen finden Sie in der Dokumentation zur Occurrences API.
- resource_url ist die URL der Ressource, die mit dem Vorkommen verknüpft ist, z. B.
Führen Sie den folgenden curl-Befehl aus, wobei CUSTOMER_PROJECT_ID die Projekt-ID Ihres Kunden ist:
curl -v -H "Content-Type: application/json" -H \ "Authorization: Bearer $(gcloud auth print-access-token)" \ https://containeranalysis.googleapis.com/v1/projects/CUSTOMER_PROJECT_ID/occurrences -d @occurrence.json
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für die Artefaktanalyse finden Sie unter Clientbibliotheken für die Artefaktanalyse. Weitere Informationen finden Sie in der Referenzdokumentation zur Artifact Analysis Java API.
Richten Sie zur Authentifizierung bei der Artefaktanalyse Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für die Artefaktanalyse finden Sie unter Clientbibliotheken für die Artefaktanalyse. Weitere Informationen finden Sie in der Referenzdokumentation zur Artifact Analysis Go API.
Richten Sie zur Authentifizierung bei der Artefaktanalyse Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für die Artefaktanalyse finden Sie unter Clientbibliotheken für die Artefaktanalyse. Weitere Informationen finden Sie in der Referenzdokumentation zur Artifact Analysis Node.js API.
Richten Sie zur Authentifizierung bei der Artefaktanalyse Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Informationen zum Installieren und Verwenden der Clientbibliothek für die Artefaktanalyse finden Sie unter Clientbibliotheken für die Artefaktanalyse. Weitere Informationen finden Sie in der Referenzdokumentation zur Artifact Analysis Ruby API.
Richten Sie zur Authentifizierung bei der Artefaktanalyse Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für die Artefaktanalyse finden Sie unter Clientbibliotheken für die Artefaktanalyse. Weitere Informationen finden Sie in der Referenzdokumentation zur Artifact Analysis Python API.
Richten Sie zur Authentifizierung bei der Artefaktanalyse Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Alle Vorkommen für einen bestimmten Hinweis abrufen
Mit notes.occurrences.list()
können Sie alle Vorkommen einer bestimmten Sicherheitslücke in sämtlichen Projekten Ihres Kunden aufrufen.
API
Senden Sie zum Auflisten aller Vorkommen für einen Hinweis folgende GET-Anfrage:
GET https://containeranalysis.googleapis.com/v1/projects/PROJECT_ID/notes/NOTE_ID/occurrences
Ausführliche Informationen finden Sie unter dem API-Endpunkt projects.notes.occurrences.list
.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für die Artefaktanalyse finden Sie unter Clientbibliotheken für die Artefaktanalyse. Weitere Informationen finden Sie in der Referenzdokumentation zur Artifact Analysis Java API.
Richten Sie zur Authentifizierung bei der Artefaktanalyse Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für die Artefaktanalyse finden Sie unter Clientbibliotheken für die Artefaktanalyse. Weitere Informationen finden Sie in der Referenzdokumentation zur Artifact Analysis Go API.
Richten Sie zur Authentifizierung bei der Artefaktanalyse Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für die Artefaktanalyse finden Sie unter Clientbibliotheken für die Artefaktanalyse. Weitere Informationen finden Sie in der Referenzdokumentation zur Artifact Analysis Node.js API.
Richten Sie zur Authentifizierung bei der Artefaktanalyse Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Informationen zum Installieren und Verwenden der Clientbibliothek für die Artefaktanalyse finden Sie unter Clientbibliotheken für die Artefaktanalyse. Weitere Informationen finden Sie in der Referenzdokumentation zur Artifact Analysis Ruby API.
Richten Sie zur Authentifizierung bei der Artefaktanalyse Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für die Artefaktanalyse finden Sie unter Clientbibliotheken für die Artefaktanalyse. Weitere Informationen finden Sie in der Referenzdokumentation zur Artifact Analysis Python API.
Richten Sie zur Authentifizierung bei der Artefaktanalyse Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Nächste Schritte
Eine Anleitung zum Aufrufen und Filtern von Hinweisen und Vorkommen für Container-Images finden Sie unter Sicherheitslücken-Vorkommen ansehen.
Eine Anleitung zum Einrichten von Benachrichtigungen finden Sie unter Pub/Sub-Benachrichtigungen.