Betriebssystempakete 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 scannt jedes Mal auf Sicherheitslücken, wenn ein Image in Artifact Registry hochgeladen wird. Plattformadministratoren und Anwendungsentwickler können diese automatische Scanfunktion nutzen, um Risiken in ihrer Softwarebereitstellungspipeline zu identifizieren.

In dieser Kurzanleitung wird ein einfaches öffentlich verfügbares Paket verwendet, um eine Art des Paketscans zu demonstrieren. Standardmäßig scannt die Artefaktanalyse nach dem Aktivieren der Scanning API mehrere Pakettypen auf Sicherheitslücken. Zu den unterstützten Pakettypen gehören: Betriebssystem, Go, Java (Maven), Python und Node.js (npm).

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Google Cloud-Nutzer sind, erstellen Sie ein Konto, um zu sehen, wie sich unsere Produkte in realen Szenarien schlagen. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Installieren Sie die Google Cloud CLI.

  3. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  4. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  5. Erstellen Sie ein Google Cloud Projekt oder wählen Sie eines aus.

    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 ein beliebiges Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
    • Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“ (roles/resourcemanager.projectCreator), die die resourcemanager.projects.create Berechtigung enthält. Rollen zuweisen.
    • Erstellen Sie ein Google Cloud Projekt:

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch 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_ID durch Ihren Google Cloud Projektnamen.

  6. Prüfen Sie, ob für Ihr Google Cloud Projekt die Abrechnung aktiviert ist.

  7. Aktivieren Sie die Artifact Registry API und die Container Scanning API:

    Erforderliche Rollen zum Aktivieren von APIs

    Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Rollen zuweisen.

    gcloud services enable containerscanning.googleapis.com  artifactregistry.googleapis.com
  8. Installieren Sie die Google Cloud CLI.

  9. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  10. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  11. Erstellen Sie ein Google Cloud Projekt oder wählen Sie eines aus.

    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 ein beliebiges Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
    • Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“ (roles/resourcemanager.projectCreator), die die resourcemanager.projects.create Berechtigung enthält. Rollen zuweisen.
    • Erstellen Sie ein Google Cloud Projekt:

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch 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_ID durch Ihren Google Cloud Projektnamen.

  12. Prüfen Sie, ob für Ihr Google Cloud Projekt die Abrechnung aktiviert ist.

  13. Aktivieren Sie die Artifact Registry API und die Container Scanning API:

    Erforderliche Rollen zum Aktivieren von APIs

    Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Rollen zuweisen.

    gcloud 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.

  1. Öffnen Sie in der Google Cloud console die Seite Repositories.

    Zur Seite „Repositories“

  2. Klicken Sie auf Repository erstellen.

  3. Geben Sie auf der Seite Repository erstellen die folgenden Einstellungen ein:

    • Name: quickstart-docker-repo
    • Format: Docker
    • Modus: Standard
    • Standorttyp: Region
    • Region: us-central1
  4. Klicken Sie auf Erstellen.

Die Seite Repositories wird angezeigt. Ihr Repository quickstart-docker-repo 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 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 abrufen

  1. Wechseln Sie in ein Verzeichnis, in dem Sie Ihr Container-Image speichern möchten.

  2. Kopieren Sie das Image in Ihr lokales Verzeichnis. Sie können beispielsweise mit Docker das neueste Ubuntu-Image aus Docker Hub herunterladen.

    docker pull ubuntu:latest
    

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 ubuntu:latest \
us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1

Wo

  • 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-Tag latest an.

Image in Artifact Registry hochladen

Die Artefaktanalyse scannt neue Images automatisch, wenn sie in Artifact Registry hochgeladen werden.

Führen Sie den folgenden Befehl aus, um das Image in Ihr Docker-Repository in Artifact Registry hochzuladen:

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 Scans auf Sicherheitslücken ansehen

So sehen Sie die Sicherheitslücken in einem Image:

  1. Öffnen Sie in der Artefaktanalyse-Console die Liste Ihrer Artifact Registry-Repositories.

    Zur Seite „Repositories“

  2. Klicken Sie in der Repository-Liste auf ein Repository.

  3. Klicken Sie auf einen Image-Namen.

    Eine Liste der Digests für Ihr Image wird angezeigt.

    Die Gesamtzahl der Sicherheitslücken für jeden Image-Digest wird in der Spalte Vulnerabilities (Sicherheitslücken) angezeigt.

    Screenshot eines Images mit Sicherheitslücken

  4. Klicken Sie in der Spalte Vulnerabilities (Sicherheitslücken) auf die verknüpfte Gesamtzahl der Sicherheitslücken.

    Eine Liste der Sicherheitslücken wird angezeigt.

    Screenshot einer Liste von Bildern und Details zu Sicherheitslücken

    Die Liste der Sicherheitslücken enthält die Anzahl der Scans dieses Images, die Schweregrade der Sicherheitslücken, die Verfügbarkeit einer entsprechenden Lösung, den Namen des Pakets, das die Sicherheitslücke enthält, und den Pakettyp.

  5. Wenn Sie weitere Informationen zu einer bestimmten Sicherheitslücke aus der Sicherheitslückenquelle erhalten möchten, klicken Sie in der Spalte Name auf die verknüpfte CVE-ID.

Weitere Möglichkeiten zum Aufrufen von Ergebnissen

In der Google Cloud Console werden bis zu 1.200 Sicherheitslücken angezeigt. Wenn Ihr Image mehr als 1.200 Sicherheitslücken enthält, verwenden Sie gcloud oder die API, um die vollständige Liste aufzurufen.

Bereinigen

Löschen Sie das Projekt von zusammen mit den Ressourcen, damit Ihrem Google Cloud Konto von die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden. Google Cloud

Wenn Sie für diese Anleitung ein neues Projekt erstellt haben, können Sie es jetzt löschen.

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.

Nächste Schritte