Python-Pakete automatisch scannen
Hier erfahren Sie, wie Sie das automatische Scannen aktivieren, ein Container-Image in Artifact Registry hochladen und eine Liste aller im Image gefundenen Sicherheitslücken aufrufen.
Die Artefaktanalyse sucht jedes Mal nach Sicherheitslücken, wenn ein Image per Push an 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 sucht die Artefaktanalyse nach Sicherheitslücken in mehreren Pakettypen, sobald Sie die Scanning API aktivieren. Unterstützte Pakettypen: Betriebssystem, Go, Java (Maven), Python und Node.js (npm).
Hinweis
-
Installieren Sie die Google Cloud CLI.
-
Konfigurieren Sie die gcloud CLI für die Verwendung Ihrer föderierten Identität.
Weitere Informationen finden Sie unter 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 -
Google Cloud Projekt erstellen oder auswählen
Erforderliche Rollen zum Auswählen oder Erstellen eines Projekts
- Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Project Creator“ (
roles/resourcemanager.projectCreator), die die Berechtigungresourcemanager.projects.createenthält. Informationen zum Zuweisen von Rollen
-
So erstellen Sie ein Google Cloud Projekt:
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch einen Namen für das Google Cloud Projekt, das Sie erstellen. -
Wählen Sie das von Ihnen erstellte Google Cloud Projekt aus:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch den Namen Ihres Projekts in Google Cloud .
-
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.
Aktivieren Sie die Artifact Registry und Container Scanning APIs, falls noch nicht geschehen:
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die Berechtigung
serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollengcloud services enable containerscanning.googleapis.com
artifactregistry.googleapis.com
Docker-Repository in Artifact Registry erstellen
Erstellen Sie ein Docker-Repository zum Speichern des Beispiel-Images für diese Kurzanleitung.
Ö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.
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 der 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
Wechseln Sie in das Verzeichnis, in dem Sie Ihr 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.
In diesem Leitfaden geht es nur darum, ein Bild zu scannen und Ergebnisse anzusehen. TensorFlow-Vorkenntnisse 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 übertragen möchten, müssen Sie den Befehl docker push so konfigurieren, dass das Image an einen bestimmten Speicherort übertragen 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:
- PROJECT ist Ihre Projekt-ID von Google Cloud.
Wenn Ihre Projekt-ID einen Doppelpunkt (
:) enthält, lesen Sie den Abschnitt Projekte mit Domainbereich. us-central1ist die Region des Artifact Registry-Repositorys.docker.pkg.devist der Hostname für Docker-Repositories.quickstart-imageist der Image-Name, der im Repository verwendet werden soll. Der Image-Name kann sich vom Image-Namen des lokalen Images unterscheiden.tag1ist ein Tag, das Sie dem Docker-Image hinzufügen. Wenn Sie kein Tag angegeben haben, wendet Docker das Standard-Taglatestan.
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 Ihre Projekt-ID einen Doppelpunkt (:) enthält, lesen Sie den Abschnitt Projekte mit Domainbereich.
Ergebnisse des Scannens auf Sicherheitslücken ansehen
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 Projekt von Google Cloud zusammen mit den Ressourcen, damit Ihrem Konto von Google Cloud die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden.
Wenn Sie ein neues Projekt für diese Anleitung erstellt haben, können Sie es jetzt löschen.- Wechseln Sie in der Google Cloud -Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.