1. Einführung
VPC Service Controls (VPC-SC) ist eine Sicherheitskontrolle auf Organisationsebene in Google Cloud, mit der Unternehmenskunden das Risiko der Daten-Exfiltration minimieren können. VPC Service Controls bietet Zero-Trust-Zugriff auf mehrmandantenfähige Dienste. Clients können den Zugriff auf autorisierte IP-Adressen, den Clientkontext und die Geräteparameter einschränken, während sie über das Internet und andere Dienste eine Verbindung zu mehrmandantenfähigen Diensten herstellen. So lassen sich absichtliche und unbeabsichtigte Verluste reduzieren. Mit VPC Service Controls können Sie Perimeter erstellen, die die Ressourcen und Daten von Diensten schützen, die Sie explizit angeben.
In dieser Anleitung werden folgende Ziele verfolgt:
- Grundlagen von VPC Service Controls
- VPC-Dienstperimeter erstellen
- Projekt mit VPC Service Controls schützen
- VPC Service Controls-Verstoß gegen eingehenden Traffic beheben
2. Einrichtung und Anforderungen
Für diese Anleitung sind die folgenden Voraussetzungen erforderlich:
- Eine GCP-Organisation.
- Ein Ordner unter der Organisation.
- 2 GCP-Projekte in derselben Organisation werden im Ordner abgelegt.
- Die erforderlichen Berechtigungen auf Organisationsebene.
- Rechnungskonto für beide Projekte.
Ressourcen einrichten
- Erstellen Sie in der Google Cloud Console einen Ordner unter der Organisation und zwei neue Projekte. Bestehende Projekte können Sie wiederverwenden.
Wenn Sie noch kein Google Workspace-/Cloud Identity-Konto haben, müssen Sie eines erwerben, da Sie für diese Anleitung eine Organisation benötigen.
- Prüfen Sie, ob Sie die erforderlichen Berechtigungen für diese Anleitung auf Organisationsebene haben.
- IAM-Rollen für Ordner
- Berechtigungen und Rollen für die Projekte
- Erforderliche Berechtigungen und Rollen zum Konfigurieren von VPC Service Controls
- Berechtigungen und Rollen, die zum Verwalten von Compute Engine erforderlich sind
- Achten Sie darauf, dass beide Projekte unter dem Ordner verfügbar sind, da wir eine Bereichsrichtlinie auf Ordnerebene erstellen müssen. Weitere Informationen zum Verschieben von Projekten in Ordner
Kosten
Sie müssen die Abrechnung in der Cloud Console aktivieren, um Cloud-Ressourcen/APIs verwenden zu können. Dieses Codelab ist kostengünstig. Sie können die von Ihnen erstellten Ressourcen oder das Projekt löschen, um Ressourcen herunterzufahren, um zu vermeiden, dass über diese Anleitung hinaus Kosten anfallen. Neue Google Cloud-Nutzer haben Anspruch auf das kostenlose Testprogramm mit 300 $Guthaben.
Die einzige Ressource, die Kosten verursacht, ist die VM-Instanz. Die geschätzten Kosten finden Sie im Preisrechner.
3. Perimeter erstellen
In diesem Labor werden wir folgende Schritte durchführen:
- Wählen Sie in der Google Console Ihre Organisation aus und greifen Sie auf VPC Service Controls zu. Achten Sie darauf, dass Sie sich auf der Organisationsebene befinden.
- Klicke auf „Richtlinien verwalten“. Erstellen einer neuen Zugriffsrichtlinie, die auf das Codelab beschränkt ist Ordner.
- Erstellen Sie einen neuen Perimeter im erzwungenen Modus. Nennen Sie sie „SuperProtection“. für diese Anleitung.
- Wählen Sie beim Erstellen des Perimeters das Projekt aus, das als ProjektZ erzwungen werden soll.
- Wählen Sie als Umfangstyp „Regular“ aus.
- Wählen Sie im Dialogfeld Geben Sie Dienste an, die eingeschränkt werden sollen den Dienst aus, der als "Compute Engine" eingeschränkt werden soll.
Die Perimetereinrichtung sollte so aussehen:
4. Prüfen, ob der Perimeter erzwungen wurde
- Rufen Sie ProjectX auf und prüfen Sie, ob Sie auf die Compute Engine API zugreifen können. Rufen Sie dazu die Startseite der VM-Instanzen auf. Sie sollten dies tun können, da ProjektX nicht durch den erstellten VPC SC-Perimeter geschützt ist.
- Rufen Sie ProjectZ auf und prüfen Sie, ob Sie auf Compute Engine zugreifen können. Sie sehen, dass die Anfrage von VPC Service Controls verboten wurde, da ProjectZ und die Compute Engine API durch den Dienstperimeter durch SuperProtection geschützt werden.
5. Fehlerbehebung bei der Ablehnung
Zunächst müssen wir herausfinden, wo genau das Problem liegt, damit wir eine Lösung finden können.
- VPC Service Controls-Logs enthalten Details zu Anfragen an geschützte Ressourcen und den Grund, warum die Anfrage von VPC Service Controls abgelehnt wurde. Suchen Sie die eindeutige VPC Service Controls-ID in den Audit-Logs von ProjectZ mithilfe der folgenden Abfrage im Log-Explorer:
resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
Dadurch werden alle Audit-Logs zu VPC Service Controls angezeigt. Wir suchen nach dem letzten Fehlerprotokoll.
- Klicken Sie auf den Header VPC Service Controls und wählen Sie „Fehlerbehebung bei Ablehnung“ aus. Dadurch wird die Fehlerbehebung für VPC Service Controls geöffnet.
Diese API zeigt uns in einer nutzerfreundlichen Benutzeroberfläche unter anderem den Grund des Verstoßes an und ob es sich um einen Verstoß gegen ein- oder ausgehenden Traffic handelt.
In dieser Übung suchen wir auf Folgendes:
"principalEmail": "user@domain" "callerIp": "PUBLIC_IP_ADDRESS" "serviceName": "compute.googleapis.com" "servicePerimeterName": "accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection "ingressViolations": [ { "targetResource": "projects/[PROJECT_NUMBER]", "servicePerimeter": "accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection" } ], "violationReason": "NO_MATCHING_ACCESS_LEVEL", "resourceNames": "[PROJECT_ID]"
Wir haben zwei Möglichkeiten, diese Ablehnung in Project Z zu beheben.
- Eine Zugriffsebene erstellen, um den Zugriff auf das Projekt innerhalb des Perimeters durch Gewähren des Zugriffs auf meine System-IP zu ermöglichen.
- Erstellen Sie eine Regel für eingehenden Traffic, um den Zugriff eines API-Clients von außerhalb des Dienstperimeters auf Ressourcen in einem Dienstperimeter zu ermöglichen.
In dieser Anleitung erstellen Sie zur Fehlerbehebung eine Zugriffsebene.
- Rufen Sie Access Context Manager im Ordnerbereich (Codelab) auf und erstellen Sie eine neue Zugriffsebene.
- Standardmodus verwenden und wir gewähren Zugriff, wenn das IP-Subnetzwerk und der geografische Standort erfüllt sind.
- Rufen Sie VPC Service Controls im Organisationsbereich auf. Wählen Sie Ihre Zugriffsrichtlinie für dieses Codelab aus und bearbeiten Sie den zuvor erstellten Perimeter.
- Fügen Sie die im Ordnerbereich erstellte Zugriffsebene hinzu und speichern Sie sie.
6. Testergebnisse.
Bestätigen Sie, dass Sie Zugriff auf die Compute Engine haben und eine VM-Instanz erstellen können. Nachdem Sie nun die Zugriffsebene erstellt haben, versuchen wir, in ProjectZ auf die Compute Engine zuzugreifen und eine VM-Instanz zu erstellen.
- Rufen Sie Compute Engine auf und klicken Sie auf Instanz erstellen.
- Lassen Sie alles unverändert und versuchen Sie, eine kostengünstige VM-Instanz zu erstellen.
Nach etwa einer Minute sollte die erstellte VM-Instanz angezeigt werden und Sie können prüfen, ob Sie uneingeschränkten Zugriff auf die innerhalb des Perimeters geschützte Compute Engine haben.
7. Bereinigen
Für die Nutzung von VPC Service Controls fallen keine gesonderten Kosten an, wenn der Dienst nicht genutzt wird. Es empfiehlt sich jedoch, die in diesem Labor verwendete Konfiguration zu bereinigen. Sie können auch Ihre VM-Instanz und/oder Cloud-Projekte löschen, um Gebühren zu vermeiden. Wenn Sie Ihr Cloud-Projekt löschen, wird die Abrechnung für alle in diesem Projekt verwendeten Ressourcen beendet.
- Klicken Sie auf das Kästchen links neben dem Namen der VM-Instanz und dann auf Löschen, um die VM-Instanz zu löschen.
- So löschen Sie den Perimeter:
- Klicken Sie in der Google Cloud Console auf Sicherheit und dann unter „Organisation“ auf VPC Service Controls.
- Klicken Sie auf der Seite „VPC Service Controls“ in der Tabellenzeile für den Perimeter, den Sie löschen möchten, auf das Symbol „Löschen“
- So löschen Sie die Zugriffsebene:
- Öffnen Sie in der Google Cloud Console im Ordnerbereich die Seite Access Context Manager.
- Klicken Sie im Raster in der Zeile der Zugriffsebene, die Sie löschen möchten, auf „Symbol zum Löschen“ und dann auf Löschen.
- Führe die folgenden Schritte aus, um deine Projekte herunterzufahren:
- Wechseln Sie in der Google Cloud Console zur Seite IAM & Administratoreinstellungen des Projekts, das Sie löschen möchten.
- Auf der IAM- und Klicken Sie auf der Seite "Administratoreinstellungen" auf Herunterfahren.
- Geben Sie die Projekt-ID ein und klicken Sie auf Trotzdem herunterfahren.
8. Glückwunsch!
In diesem Codelab haben Sie einen VPC Service Controls-Perimeter erstellt, erzwungen und behoben.
Weitere Informationen
- Weitere Informationen finden Sie in der Dokumentation zu VPC Service Controls.
- Weitere Informationen finden Sie in der Dokumentation zu Access Context Manager.
- Weitere Informationen finden Sie in der Dokumentation zur VPC-SC-Fehlerbehebung.
Lizenz
Dieser Text ist mit einer Creative Commons Attribution 2.0 Generic License lizenziert.