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


In dieser Anleitung wird beschrieben, wie Sie Compute Engine mit einem Dienstperimeter schützen und eine Ingress-Verletzung beheben, um autorisierten Zugriff auf 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 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 Trusted Cloud Organisationsadministratoren, die die grundlegenden Konzepte von VPC Service Controls kennenlernen möchten.

Lernziele

  • Grundlagen von VPC Service Controls
  • Dienstperimeter erstellen
  • Projekt mit VPC Service Controls schützen
  • Beheben Sie einen Verstoß gegen die VPC Service Controls-Regeln für eingehenden Traffic.

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Trusted Cloud by S3NS:

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.

Neuen Trusted 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 Trusted Cloud -Console die Seite VPC Service Controls auf.

    Zu „VPC Service Controls“

    Prüfen Sie, ob Sie sich im Organisationsbereich befinden.

  2. Klicken Sie auf Richtlinien verwalten.

  3. Erstellen Sie eine neue Zugriffsrichtlinie, die auf den Ordner Exercise beschränkt ist.

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

    • Titel: MyFirstPerimeter

    • Perimetertyp: Regulär

    • Erzwingungsmodus: Erzwungen

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

    • Eingeschränkte Dienste: Compute Engine API

Perimeter überprüfen

In diesem Bereich können Sie Zugriffsanfragen für die Ressourcen in den Projekten stellen, um zu bestätigen, ob der Perimeter die beabsichtigten Ressourcen schützt.

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

    Zu "VM-Instanzen"

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

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

    Sie sollten sehen, dass VPC Service Controls Ihre Anfrage für den Zugriff auf Compute Engine ablehnt, da der MyFirstPerimeter-Perimeter My-Project-2 und die Compute Engine API schützt.

Verstoß 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 My-Project-2-Projekt zu identifizieren und zu beheben.

Audit-Logs ansehen

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

    1. Rufen Sie in der Trusted 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. Wenn Sie die Details zum Verstoß beim Zugriff auf die Compute Engine API im My-Project-2-Projekt aufrufen möchten, sehen Sie sich das letzte Fehlerlog an.

    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 andere Informationen, z. B. ob es sich um einen Ingress- oder Egress-Verstoß handelt.

    In dieser Anleitung finden Sie die 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 Verstoß "NO_MATCHING_ACCESS_LEVEL" tritt auf, wenn die IP-Adresse, der Gerätetyp oder die Nutzeridentität nicht mit den Regeln für eingehenden Traffic oder Zugriffsebenen übereinstimmt, die dem Perimeter zugewiesen sind. Wenn die IP-Adresse des Aufrufers fehlt oder als interne IP-Adresse im Log angezeigt wird, liegt dies möglicherweise an einem Trusted Cloud -Dienst, 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 den Zugriff auf die IP-Adresse Ihres Systems für das Projekt innerhalb des Perimeters zulässt.

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

Im folgenden Abschnitt wird veranschaulicht, wie Sie dieses Problem beheben können, indem Sie eine Zugriffsebene erstellen.

Zugriffsebene erstellen

  1. Rufen Sie in der Trusted Cloud -Console die Seite Access Context Manager im Ordnerbereich 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 Bei erfüllter Bedingung Folgendes zurückgeben die Option Wahr 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.

    Diese Zugriffsebene ermöglicht den Zugriff nur, wenn die IP-Adresse und der geografische Standort übereinstimmen.

  3. Rufen Sie die Seite VPC Service Controls im Organisationsbereich 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 im Ordnerbereich Exercise erstellt haben, dem Perimeter MyFirstPerimeter hinzu.

Zugriff testen

Nachdem Sie die Zugriffsebene hinzugefügt haben, prüfen Sie, ob Sie im Projekt My-Project-2 auf Compute Engine zugreifen und eine VM-Instanz erstellen können.

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

    Zu "VM-Instanzen"

  2. VM-Instanz erstellen

Nach etwa einer Minute erstellt Compute Engine eine VM-Instanz. Dadurch wird bestätigt, dass Sie vollen Zugriff auf Compute Engine haben, die innerhalb des Perimeters geschützt ist.

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 Trusted 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 Trusted 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. Dienstperimeter löschen

  2. Löschen Sie die Zugriffsebene, die Sie für den Exercise-Ordner erstellt haben.

Nächste Schritte