Python-Pakete automatisch scannen
Hier erfahren Sie, wie Sie das automatische Scannen aktivieren, ein Container-Image in Artifact Registry übertragen und eine Liste der im Image gefundenen Sicherheitslücken aufrufen.
Die Artefaktanalyse scannt jedes Mal auf Sicherheitslücken, wenn ein Image per Push-Funktion in die Artifact Registry übertragen wird. Plattformadministratoren und Anwendungsentwickler können diese automatische Scanfunktion nutzen, um Risiken in ihrer Softwarebereitstellungspipeline zu erkennen.
In dieser Kurzanleitung wird ein einfaches öffentlich verfügbares Paket verwendet, um eine Art von Paketscanning zu demonstrieren. Standardmäßig scannt die Artefaktanalyse mehrere Pakettypen auf Sicherheitslücken, sobald Sie die Scanning API aktivieren. Zu den unterstützten Pakettypen gehören: Betriebssystem, Go, Java (Maven), Python und Node.js (npm).
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.
-
Install the 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 folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry and Container Scanning APIs:
gcloud services enable containerscanning.googleapis.com
artifactregistry.googleapis.com -
Install the 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 folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Artifact Registry and Container Scanning APIs:
gcloud services enable containerscanning.googleapis.com
artifactregistry.googleapis.com Öffnen Sie in der Google Cloud Console die Seite Repositories.
Klicken Sie auf Repository erstellen.
Geben Sie auf der Seite Repository erstellen die folgenden Einstellungen ein:
- Name:
quickstart-docker-repo
- Format: Docker
- Modus: Standard
- Standorttyp: Region
- Region:
us-central1
- Name:
Klicken Sie auf Erstellen.
Wechseln Sie in ein Verzeichnis, in dem Sie das Container-Image speichern möchten.
Kopieren Sie ein Bild in Ihr lokales Verzeichnis. Sie können beispielsweise TensorFlow verwenden. Dieses Bild enthält Python und weist einige Sicherheitslücken auf.
- PROJECT ist Ihre Google Cloud
Projekt-ID.
Wenn die Projekt-ID einen Doppelpunkt (
:
) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte. us-central1
ist die Region des Artifact Registry-Repositorys.docker.pkg.dev
ist der Hostname für Docker-Repositories.quickstart-image
ist der Image-Name, der im Repository verwendet werden soll. Der Image-Name kann sich vom Image-Namen des lokalen Images unterscheiden.tag1
ist ein Tag, das Sie dem Docker-Image hinzufügen. Wenn Sie kein Tag angegeben haben, wendet Docker das Standard-Taglatest
an.Rufen Sie die Liste der Repositories ab.
Klicken Sie in der Liste der Repositories auf ein Repository.
Klicken Sie in der Liste der Bilder auf einen Bildnamen.
Alle Sicherheitslücken für jeden Image-Digest werden in der Spalte Sicherheitslücken angezeigt.
Wenn Sie die Liste der Sicherheitslücken für ein Image aufrufen möchten, klicken Sie auf den Link in der Spalte Vulnerabilities (Sicherheitslücken).
Im Bereich Scanergebnisse wird eine Zusammenfassung der gescannten Pakettypen, der Gesamtzahl der Sicherheitslücken, der Sicherheitslücken mit verfügbaren Korrekturen, der Sicherheitslücken ohne Korrekturen und des effektiven Schweregrads angezeigt.
In der Tabelle mit den Sicherheitslücken sind für jede gefundene Sicherheitslücke der Name der Common Vulnerabilities and Exposures (CVE), der effektive Schweregrad, die CVSS-Punktzahl (Common Vulnerability Scoring System), Korrekturen (sofern verfügbar), der Name des Pakets, das die Sicherheitslücke enthält, und der Pakettyp aufgeführt.
Sie können diese Dateien filtern und sortieren, um eine bestimmte Datei, ein bestimmtes Verzeichnis oder einen bestimmten Dateityp nach Dateiendung zu prüfen.
In derGoogle Cloud -Konsole werden in dieser Tabelle bis zu 1.200 Sicherheitslücken angezeigt. Wenn Ihr Image mehr als 1.200 Sicherheitslücken aufweist, müssen Sie die vollständige Liste mit gcloud oder der API aufrufen.
Klicken Sie auf den Namen der CVE, um Details zu einer bestimmten CVE aufzurufen.
Wenn Sie Details zum Auftreten von Sicherheitslücken wie Versionsnummer und betroffene Stelle aufrufen möchten, klicken Sie in der Zeile mit dem Namen der Sicherheitslücke auf Anzeigen oder Behobene anzeigen. Der Linktext lautet Ansehen für Sicherheitslücken ohne Korrektur und Behobene ansehen für Sicherheitslücken, bei denen eine Korrektur angewendet wurde.
Docker-Repository in Artifact Registry erstellen
Erstellen Sie ein Docker-Repository zum Speichern des Beispiel-Images für diese Kurzanleitung.
Die Seite Repositories wird angezeigt. Ihr quickstart-docker-repo
-Repository wird der Repository-Liste hinzugefügt.
Authentifizierung konfigurieren
Bevor Sie Images mit Artifact Registry hoch- oder herunterladen können, müssen Sie Docker so konfigurieren, dass die Google Cloud CLI zum Authentifizieren von Anfragen an Artifact Registry verwendet wird.
Richten Sie in Cloud Shell oder in Ihrer lokalen Shell die Authentifizierung für Docker-Repositories in der Region us-central1
ein:
gcloud auth configure-docker us-central1-docker.pkg.dev
Paket erhalten
In diesem Leitfaden geht es nur darum, ein Bild zu scannen und Ergebnisse anzusehen. Vorkenntnisse in TensorFlow sind nicht erforderlich.
Führen Sie den folgenden Befehl aus, um das Bild zu erhalten:
docker pull amancevice/pandas:1.2.5-jupyter
Paket mit einem Repository-Namen taggen
Wenn Sie ein Paket in Artifact Registry hochladen möchten, müssen Sie den Befehl docker push
so konfigurieren, dass das Image an einen bestimmten Speicherort hochgeladen wird.
Führen Sie den folgenden Befehl aus, um das Image als quickstart-image:tag1
zu taggen:
docker tag amancevice/pandas:1.2.5-jupyter \ us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Wobei:
Image in Artifact Registry hochladen
Die Artefaktanalyse scannt automatisch neue Python-Pakete in Container-Images, wenn sie in Artifact Registry hochgeladen werden.
Führen Sie den folgenden Befehl aus, um Ihr Image per Push in Ihr Docker-Repository in Artifact Registry zu übertragen:
docker push us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
Ersetzen Sie PROJECT durch Ihre Google Cloud
Projekt-ID.
Wenn die Projekt-ID einen Doppelpunkt (:
) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte.
Ergebnisse des Scannens auf Sicherheitslücken ansehen
So sehen Sie die Sicherheitslücken in einem Image:
Weitere Möglichkeiten zum Ansehen von Ergebnissen
In der Google Cloud Console werden bis zu 1.200 Sicherheitslücken angezeigt. Wenn Ihr Image mehr als 1.200 Sicherheitslücken aufweist, müssen Sie die vollständige Liste mit gcloud oder der API aufrufen.
Bereinigen
Löschen Sie das Google Cloud -Projekt mit den Ressourcen, damit Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden.
Wenn Sie für diese Anleitung ein neues Projekt erstellt haben, können Sie es jetzt löschen.Delete a Google Cloud project:
gcloud projects delete PROJECT_ID