Compute Engine mit einem VPC Service Controls-Perimeter schützen


In dieser Anleitung erfahren Sie, wie Sie die Compute Engine mit einem Dienstperimeter schützen und eine Ingress-Verletzung beheben, um autorisierten Zugriff auf die Compute Engine zu ermöglichen.

Mit VPC Service Controls können Sie einen Dienstperimeter für Ressourcen aus von Google verwalteten Diensten festlegen, um die Kommunikation mit und zwischen diesen Diensten zu steuern. Sie können einen Zero-Trust-Perimeter um Ihre sensiblen Ressourcen herum einrichten und den Zugriff auf autorisierte IP-Adressen, Nutzer und Geräte beschränken. Mit dieser Funktion können Sie Sicherheitsrichtlinien definieren, die den Zugriff auf von Google verwaltete Dienste außerhalb eines vertrauenswürdigen Perimeters verhindern, den Zugriff auf Daten von nicht vertrauenswürdigen Standorten blockieren und das Risiko der Daten-Exfiltration verringern.

Diese Anleitung richtet sich an Google Cloud Organisationsadministratoren, die die grundlegenden Konzepte von VPC Service Controls kennenlernen möchten.

Lernziele

  • Grundlagen von VPC Service Controls
  • Dienstperimeter erstellen
  • Schützen Sie ein Projekt mit VPC Service Controls.
  • Probleme mit einem VPC Service Controls-Eingangsverstoß beheben

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen. Neuen Google Cloud-Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.

Hinweise

Dienstperimeter erstellen

Erstellen Sie einen Dienstperimeter, der die Compute Engine API im Projekt My-Project-2 schützt:

  1. Rufen Sie in der Google Cloud Console die Seite VPC Service Controls auf.

    Zu „VPC Service Controls“

    Sie müssen sich auf Organisationsebene befinden.

  2. Klicken Sie auf Richtlinien verwalten.

  3. Erstellen Sie eine neue Zugriffsrichtlinie, die sich auf den Ordner Exercise bezieht.

  4. Erstellen Sie einen neuen Perimeter mit den folgenden Details:

    • Titel: MyFirstPerimeter

    • Perimetertyp: Regulär

    • Erzwingungsmodus: Erzwungen

    • Zu schützende Ressourcen: My-Project-2-Projekt

    • Eingeschränkt verfügbare Dienste: Compute Engine API

Perimeter prüfen

In diesem Abschnitt können Sie Zugriffsanfragen an die Ressourcen in den Projekten stellen, um zu prüfen, ob der Perimeter die gewünschten Ressourcen schützt.

  1. Rufen Sie das Projekt My-Project-1 auf und prüfen Sie, ob Sie auf die Compute Engine zugreifen können. Rufen Sie dazu die Seite VM-Instanzen auf.

    Zu "VM-Instanzen"

    Sie sollten darauf zugreifen können, da My-Project-1 nicht durch den zuvor erstellten Perimeter geschützt ist.

  2. Rufen Sie das Projekt My-Project-2 auf und prüfen Sie, ob Sie auf die Compute Engine zugreifen können. Rufen Sie dazu die Seite VM-Instanzen auf.

    Sie sollten sehen, dass VPC Service Controls Ihren Zugriffsanfrage auf die Compute Engine ablehnt, da der Perimeter MyFirstPerimeter My-Project-2 und die Compute Engine API schützt.

Fehler bei Verstößen beheben

VPC Service Controls-Audit-Logs enthalten Details zu Anfragen an geschützte Ressourcen und den Grund für die Ablehnung der Anfrage durch VPC Service Controls. Sie benötigen diese Informationen, um den Verstoß im Projekt My-Project-2 zu identifizieren und zu beheben.

Audit-Logs ansehen

  1. Suchen Sie in den Prüfprotokollen des Projekts My-Project-2 nach der eindeutigen ID des VPC Service Controls-Verstoßes:

    1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

      Zum Log-Explorer

      Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Logging ist.

    2. Wählen Sie das Projekt My-Project-2 aus.

    3. Wenn Sie alle Audit-Logs aufrufen möchten, geben Sie die folgende Abfrage in das Feld des Abfrageeditors ein:

      resource.type="audited_resource"
      protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
      
    4. Klicken Sie auf Abfrage ausführen.

    Mit dieser Abfrage werden alle VPC Service Controls-Audit-Logs angezeigt. Die Details zum Verstoß beim Zugriff auf die Compute Engine API im Projekt My-Project-2 finden Sie im letzten Fehlerprotokoll.

    Weitere Informationen finden Sie unter Logs ansehen.

  2. Klicken Sie im Bereich Abfrageergebnisse neben der Ablehnung, die Sie beheben möchten, auf VPC Service Controls und dann auf Abgelehnte Fehlerbehebung.

    Die Seite Fehlerbehebung für VPC Service Controls wird geöffnet. Auf dieser Seite sehen Sie den Grund für den Verstoß und weitere Informationen, z. B. ob es sich um einen Ein- oder einen Ausstiegsverstoß handelt.

    Suchen Sie in dieser Anleitung nach den folgenden Informationen:

    "principalEmail": "USER@DOMAIN"
    "callerIp": "PUBLIC_IP_ADDRESS"
    "serviceName": "compute.googleapis.com"
    "servicePerimeterName":
    "accessPolicies/POLICY_NUMBER/servicePerimeters/MyFirstPerimeter
    "ingressViolations": [
            {
    "targetResource": "projects/PROJECT_NUMBER",
    "servicePerimeter": "accessPolicies/POLICY_NUMBER/servicePerimeters/MyFirstPerimeter"
            }
          ],
    "violationReason": "NO_MATCHING_ACCESS_LEVEL",
    "resourceNames": "PROJECT_ID"
    

    Der Grund für den Verstoß ist "NO_MATCHING_ACCESS_LEVEL". Der "NO_MATCHING_ACCESS_LEVEL"-Verstoß tritt auf, wenn die IP-Adresse, der Gerätetyp oder die Nutzeridentität nicht mit den Regeln für eingehenden Traffic oder den Zugriffsebenen übereinstimmt, die mit dem Perimeter verknüpft sind. Wenn die IP-Adresse des Aufrufers fehlt oder im Protokoll als interne IP-Adresse angezeigt wird, kann dieser Verstoß auf einen Google Cloud Dienst zurückzuführen sein, der nicht von VPC Service Controls unterstützt wird.

Sie haben zwei Möglichkeiten, diese Ablehnung im Projekt My-Project-2 zu beheben:

  • Erstellen Sie eine Zugriffsebene, die dem Projekt innerhalb des Perimeters Zugriff auf Ihre System-IP-Adresse gewährt.

  • Erstellen Sie eine Regel für eingehenden Traffic, die den Zugriff auf Ressourcen innerhalb eines Perimeters von einem API-Client außerhalb des Perimeters zulässt.

Im folgenden Abschnitt wird beschrieben, wie Sie dieses Problem beheben, indem Sie eine Zugriffsebene erstellen.

Zugriffsebene erstellen

  1. Rufen Sie in der Google Cloud Console die Seite Access Context Manager auf Ordnerebene Exercise auf.

    Zu Access Context Manager

  2. Erstellen Sie eine Zugriffsebene mit den folgenden Details:

    • Wählen Sie unter Bedingungen erstellen in die Option Basismodus aus.

    • Wählen Sie für Wenn Bedingung erfüllt ist, folgenden Wert zurückgeben die Option True aus.

    • Wählen Sie das Attribut IP-Subnetzwerke aus und geben Sie die öffentliche IP-Adresse Ihres Systems an.

    • Wählen Sie das Attribut Geografische Standorte aus und geben Sie Ihren geografischen Standort an.

    Bei dieser Zugriffsebene ist der Zugriff nur möglich, wenn die IP-Adresse mit dem geografischen Standort übereinstimmt.

  3. Rufen Sie die Seite VPC Service Controls auf Organisationsebene auf.

    Zu „VPC Service Controls“

  4. Wählen Sie die Zugriffsrichtlinie aus, die Sie zuvor in dieser Anleitung erstellt haben.

  5. Fügen Sie die Zugriffsebene, die Sie auf Ordnerebene Exercise erstellt haben, dem Perimeter MyFirstPerimeter hinzu.

Zugriff testen

Prüfen Sie nach dem Hinzufügen der Zugriffsebene, ob Sie im Projekt My-Project-2 auf die Compute Engine zugreifen und eine VM-Instanz erstellen können.

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zu "VM-Instanzen"

  2. Erstellen Sie eine VM-Instanz.

Nach etwa einer Minute erstellt die Compute Engine eine VM-Instanz. Dadurch wird überprüft, ob Sie innerhalb des Perimeter-Schutzes vollständigen Zugriff auf die Compute Engine haben.

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.

Projekt löschen

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Einzelne Ressourcen löschen

VM-Instanzen löschen

  1. In the Google Cloud console, go to the VM instances page.

    Go to VM instances

  2. Select the checkbox for the instance that you want to delete.
  3. To delete the instance, click More actions, click Delete, and then follow the instructions.

VPC Service Controls-Ressourcen löschen

  1. Löschen Sie den Dienstperimeter.

  2. Löschen Sie die Zugriffsebene, die Sie auf Ordnerebene für Exercise erstellt haben.

Nächste Schritte