1. Einführung
VPC Service Controls (VPC-SC) ist eine Sicherheitskontrolle auf Organisationsebene in Google Cloud, mit der Unternehmenskunden das Risiko einer Daten-Exfiltration verringern können. VPC Service Controls bietet Zero-Trust-Zugriff auf mehrmandantenfähige Dienste, indem Clients den Zugriff auf autorisierte IP-Adressen, den Clientkontext und Geräteparameter beschränken können, wenn sie eine Verbindung zu mehrmandantenfähigen Diensten aus dem Internet und anderen Diensten herstellen. So lassen sich sowohl vorsätzliche als auch unbeabsichtigte Verluste reduzieren. Mit VPC Service Controls können Sie Perimeter zum Schutz von Ressourcen und Daten von Diensten erstellen, die Sie explizit angeben.
Die Ziele dieser Anleitung sind:
- Grundlagen von VPC Service Controls
- VPC-Dienstperimeter erstellen
- Projekt mit VPC Service Controls schützen
- Fehler bei Ingress-Verstößen in VPC Service Controls beheben
2. Einrichtung und Anforderungen
Für diese Anleitung gelten die folgenden Voraussetzungen:
- Eine GCP-Organisation.
- Ein Ordner unter der Organisation.
- 2 GCP-Projekte innerhalb derselben Organisation, die sich im Ordner befinden.
- Die erforderlichen Berechtigungen auf Organisationsebene.
- Rechnungskonto für beide Projekte.

Ressourceneinrichtung
- Erstellen Sie in der Google Cloud Console unter der Organisation einen Ordner und zwei neue Projekte. Sie können auch vorhandene Projekte wiederverwenden.
Wenn Sie noch kein Google Workspace- oder 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 dieses Tutorial auf Organisationsebene haben.
- IAM-Rollen für Ordner
- Berechtigungen und Rollen für die Projekte
- Berechtigungen und Rollen, die für die Konfiguration von VPC Service Controls erforderlich sind
- Berechtigungen und Rollen, die zum Verwalten von Compute Engine erforderlich sind
- Achten Sie darauf, dass beide Projekte im Ordner verfügbar sind, da wir eine bereichsbezogene Richtlinie auf Ordnerebene erstellen müssen. Informationen zum Verschieben eines Projekts in einen Ordner

Kosten
Sie müssen die Abrechnung in der Cloud Console aktivieren, um Cloud-Ressourcen oder APIs zu verwenden. Die Durchführung dieses Codelabs kostet wenig oder gar nichts. Wenn Sie Ressourcen herunterfahren möchten, um Kosten zu vermeiden, die über diese Anleitung hinausgehen, können Sie die erstellten Ressourcen oder das Projekt löschen. Neue Google Cloud-Nutzer können am Programm für den kostenlosen Testzeitraum mit einem Guthaben von 300 $teilnehmen.
Die einzige Ressource, für die Kosten anfallen, ist die VM-Instanz. Die geschätzten Kosten finden Sie im Preisrechner.
3. Perimeter erstellen
In diesem Lab führen wir die folgenden Schritte aus:
- Wählen Sie in der Google Console Ihre Organisation aus und greifen Sie auf VPC Service Controls zu. Sie müssen sich auf Organisationsebene befinden.

- Klicken Sie auf „Richtlinien verwalten“, um eine neue Zugriffsrichtlinie zu erstellen, die auf den Ordner „Codelab“ beschränkt ist.

- Erstellen Sie einen neuen Perimeter im erzwungenen Modus. Nennen wir es für diese Anleitung „SuperProtection“.
- Wenn Sie den Perimeter erstellen, wählen Sie das Projekt aus, das erzwungen werden soll, als „ProjectZ“ aus.
- Wählen Sie als Perimetertyp „Regulär“ aus.
- Wählen Sie im Dialogfeld Geben Sie Dienste an, die eingeschränkt werden sollen den Dienst aus, der eingeschränkt werden soll, z. B. „Compute Engine“.
Die Einrichtung des Perimeters sollte so aussehen:

4. Prüfen, ob der Perimeter durchgesetzt wurde
- Rufen Sie ProjectX auf und prüfen Sie, ob Sie auf die Compute Engine API zugreifen können, indem Sie die Startseite „VM-Instanzen“ aufrufen. Das sollte möglich sein, da „projectX“ 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 abgelehnt wurde, da der Dienstperimeter „SuperProtection“ das Projekt Z und die Compute Engine API schützt.

5. Fehlerbehebung bei Ablehnung
Zuerst müssen wir herausfinden, was genau das Problem ist, um es beheben zu können.
- VPC Service Controls-Logs enthalten Details zu Anfragen an geschützte Ressourcen und den Grund für die Ablehnung der Anfrage durch VPC Service Controls. Wir suchen jetzt nach der eindeutigen VPC Service Controls-ID in den Audit-Logs von ProjectZ. Verwenden Sie dazu die folgende Abfrage im Log-Explorer:
resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
Dadurch werden alle Audit-Logs von VPC Service Controls angezeigt. Wir suchen nach dem letzten Fehlerprotokoll.
- Klicken Sie in der Kopfzeile VPC Service Controls und wählen Sie „Ablehnungsfehler beheben“ aus. Dadurch wird die Fehlerbehebung für VPC Service Controls geöffnet.
Über diese API können wir in einer benutzerfreundlichen Benutzeroberfläche den Grund für den Verstoß und andere nützliche Informationen sehen, z. B. ob es sich um einen Verstoß gegen die Regeln für ein- oder für ausgehenden Traffic handelt.
Bei dieser Übung suchen wir nach Folgendem:
"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 im Projekt Z zu beheben.
- Erstellen Sie eine Zugriffsebene, um den Zugriff auf das Projekt innerhalb des Perimeters zu ermöglichen, indem Sie Zugriff auf die IP-Adresse Ihres Systems gewähren.
- Erstellen einer Regel für eingehenden Traffic, um den Zugriff eines API-Clients von außerhalb des Dienstperimeters auf Ressourcen innerhalb eines Dienstperimeters zuzulassen.
In dieser Anleitung beheben wir das Problem, indem wir eine Zugriffsebene erstellen.
- Rufen Sie Access Context Manager im Ordnerbereich (Codelab) auf und erstellen Sie eine neue Zugriffsebene.
- Verwenden Sie den „Basic Mode“ (Einfacher Modus). Wir gewähren Zugriff, wenn das IP-Subnetz und der geografische Standort übereinstimmen.

- Rufen Sie VPC Service Controls im Organisationsbereich auf. Wählen Sie Ihre Zugriffsrichtlinie für dieses Codelab aus und bearbeiten Sie den Perimeter, den wir zuvor erstellt haben.
- Fügen Sie die Zugriffsebene hinzu, die im Ordnerbereich erstellt wurde, und speichern Sie.

6. Testergebnisse.
Prüfen Sie, ob wir Zugriff auf Compute Engine haben und eine VM-Instanz erstellen können. Nachdem wir die Zugriffsebene erstellt haben, versuchen wir, auf Compute Engine in ProjectZ zuzugreifen und eine VM-Instanz zu erstellen.
- Rufen Sie Compute Engine auf und klicken Sie auf Instanz erstellen.

- Lassen Sie alle Einstellungen auf dem Standardwert und versuchen Sie, eine kostengünstige VM-Instanz zu erstellen.
Nach etwa einer Minute sollte die VM-Instanz erstellt sein. Sie können dann prüfen, ob Sie vollen Zugriff auf Compute Engine haben, die innerhalb des Perimeters geschützt ist.

7. Bereinigen
Für die Verwendung von VPC Service Controls fallen keine gesonderten Gebühren an, wenn der Dienst nicht verwendet wird. Es empfiehlt sich jedoch, die in diesem Lab verwendete Einrichtung zu bereinigen. Sie können auch Ihre VM-Instanz und/oder Cloud-Projekte löschen, um Kosten zu vermeiden. Durch das Löschen des Cloud-Projekts wird die Abrechnung für alle in diesem Projekt verwendeten Ressourcen beendet.
- Klicken Sie das Kästchen links neben dem Namen der VM-Instanz an 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 im Organisationsbereich 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 zum Löschen.
- So löschen Sie die Zugriffsebene:
- Öffnen Sie in der Google Cloud Console die Seite Access Context Manager im Ordnerbereich.
- Klicken Sie im Raster in der Zeile der Zugriffsebene, die Sie löschen möchten, auf das Symbol „Löschen“ und dann auf Löschen.
- So beenden Sie Ihre Projekte:
- Rufen Sie in der Google Cloud Console die Seite IAM- und Verwaltungseinstellungen des Projekts auf, das Sie löschen möchten.
- Klicken Sie auf der Seite „IAM- und Admin-Einstellungen“ auf Herunterfahren.
- Geben Sie die Projekt-ID ein und klicken Sie auf Trotzdem beenden.
8. Glückwunsch!
In diesem Codelab haben Sie einen VPC Service Controls-Perimeter erstellt, ihn erzwungen und Fehler 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.