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.
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
Sie benötigen eine Google Cloud Organisationsressource. Wenn Sie noch kein Google Workspace- oder Cloud Identity-Konto haben, müssen Sie ein solches Konto erstellen. Dadurch wird automatisch eine Organisationsressource für Sie erstellt.
Erstellen Sie einen Ordner,
Exercise
, auf Organisationsebene.Erstellen Sie zwei Projekte,
My-Project-1
undMy-Project-2
, im OrdnerExercise
in derselben Organisation.Sie benötigen die folgenden Berechtigungen und Rollen auf Organisationsebene:
Berechtigungen und Rollen, die zum Konfigurieren von VPC Service Controls erforderlich sind.
Berechtigungen und Rollen, die zum Verwalten der Compute Engine erforderlich sind.
Dienstperimeter erstellen
Erstellen Sie einen Dienstperimeter, der die Compute Engine API im Projekt My-Project-2
schützt:
Rufen Sie in der Google Cloud Console die Seite VPC Service Controls auf.
Sie müssen sich auf Organisationsebene befinden.
Klicken Sie auf Richtlinien verwalten.
Erstellen Sie eine neue Zugriffsrichtlinie, die sich auf den Ordner
Exercise
bezieht.Erstellen Sie einen neuen Perimeter mit den folgenden Details:
Titel:
MyFirstPerimeter
Perimetertyp: Regulär
Erzwingungsmodus: Erzwungen
Zu schützende Ressourcen:
My-Project-2
-ProjektEingeschrä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.
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.Sie sollten darauf zugreifen können, da
My-Project-1
nicht durch den zuvor erstellten Perimeter geschützt ist.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
Suchen Sie in den Prüfprotokollen des Projekts
My-Project-2
nach der eindeutigen ID des VPC Service Controls-Verstoßes:-
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Logging ist.
Wählen Sie das Projekt
My-Project-2
aus.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"
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.
-
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
Rufen Sie in der Google Cloud Console die Seite Access Context Manager auf Ordnerebene
Exercise
auf.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.
Rufen Sie die Seite VPC Service Controls auf Organisationsebene auf.
Wählen Sie die Zugriffsrichtlinie aus, die Sie zuvor in dieser Anleitung erstellt haben.
Fügen Sie die Zugriffsebene, die Sie auf Ordnerebene
Exercise
erstellt haben, dem PerimeterMyFirstPerimeter
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.
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
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
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Einzelne Ressourcen löschen
VM-Instanzen löschen
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
VPC Service Controls-Ressourcen löschen
Löschen Sie die Zugriffsebene, die Sie auf Ordnerebene für
Exercise
erstellt haben.