Ressourcen mit VPC Service Controls schützen

Mit VPC Service Controls können Sie Ihre Compute Engine-Ressourcen zusätzlich schützen.

Mit VPC Service Controls können Sie einen Sicherheitsbereich für Ihre Compute Engine-Ressourcen definieren. Der Dienstperimeter beschränkt den Export und Import von Ressourcen und den zugehörigen Daten innerhalb des definierten Perimeters.

Wenn Sie einen Dienstperimeter erstellen, wählen Sie ein oder mehrere Projekte aus, die durch den Perimeter geschützt werden sollen. Anfragen zwischen Projekten innerhalb desselben Perimeters bleiben unverändert. Alle vorhandenen APIs funktionieren weiterhin, solange sich die betroffenen Ressourcen im selben Dienstperimeter befinden. Beachten Sie, dass die IAM-Rollen und -Richtlinien auch innerhalb eines Dienstperimeters gelten.

Wenn ein Dienst durch einen Perimeter geschützt ist, können keine Anfragen vom Dienst innerhalb des Perimeters an eine Ressource außerhalb des Perimeters gesendet werden. Dazu gehört das Exportieren von Ressourcen von innerhalb nach außerhalb des Perimeters. Anfragen für geschützte Ressourcen von außerhalb eines Perimeters sind möglich, wenn sie bestimmte Kriterien erfüllen. Weitere Informationen finden Sie unter Übersicht in der Dokumentation zu VPC Service Controls.

Wenn eine Anfrage gesendet wird, die gegen den Dienstperimeter verstößt, schlägt die Anfrage mit dem folgenden Fehler fehl:

"code": 403, "message": "Request is prohibited by organization's policy."

Sicherheitsvorteile

VPC Service Controls bietet die folgenden Sicherheitsvorteile:

  • Der Zugriff auf vertrauliche Compute Engine API-Vorgänge wie das Ändern von Firewallregeln kann auf den privaten Zugriff von autorisierten Netzwerken oder auf zugelassene IP-Adressen beschränkt werden.
  • Snapshots nichtflüchtiger Speicher und benutzerdefinierte Images von Compute Engine können auf einen Perimeter beschränkt werden.
  • Metadaten von Compute Engine-Instanzen fungieren als eingeschränktes Speichersystem. Der Zugriff auf Instanzmetadaten über die Compute Engine API ist durch eine Dienstperimeterrichtlinie beschränkt, wodurch Risiken zur Daten-Exfiltration mit diesem Kanal minimiert werden.

Außerdem ist die Compute Engine API jetzt über die eingeschränkte virtuelle IP (VIP) verfügbar. Dies vereinfacht die Konfiguration von Cloud DNS und des Routings für Clients im Perimeter, die Zugriff auf diese API benötigen.

Beschränkungen

  • Hierarchische Firewalls sind von Dienstperimetern nicht betroffen.
  • Von VPC-Peering-Prozessen werden keine Einschränkungen für VPC-Dienstperimeter erzwungen.
  • Von der API-Methode projects.ListXpnHosts für freigegebene VPC werden keine Dienstperimeter-Einschränkungen für zurückgegebene Projekte erzwungen.

Berechtigungen

Sie benötigen die geeignete Rollen zur Verwaltung von VPC Service Controls Perimeter-Konfigurationen für Ihre Organisation.

Dienstperimeter einrichten

Folgen Sie der Anleitung unter Dienstperimeter erstellen in der Dokumentation zu VPC Service Controls, um einen Dienstperimeter einzurichten.

Wenn Sie einen Dienstperimeter mit dem gcloud-Befehlszeilentool einrichten, geben Sie compute.googleapis.com mit dem Flag --restricted-services an, um die Compute Engine API einzuschränken.

Compute Engine als eingeschränkten Dienst zu einem vorhandenen Perimeter hinzufügen

Wenn Sie bereits einen Dienstperimeter haben und Compute Engine dem Dienstperimeter hinzufügen möchten, folgen Sie der Anleitung unter Dienstperimeter aktualisieren in der Dokumentation zu VPC Service Controls.

VM mit VPC Service Controls erstellen

Nachdem Sie einen Dienstperimeter eingerichtet haben, müssen Sie keine Änderungen an vorhandenen API-Aufrufen oder -Tools vornehmen, solange die betroffenen Ressourcen in Ihren Anfragen im selben Dienstperimeter enthalten sind. Mit dem folgenden Befehl wird beispielsweise eine VM-Instanz mit einem Beispiel-Image erstellt. In diesem Fall schlägt der Befehl fehl, wenn sich IMAGE_PROJECT außerhalb des Dienstperimeters befindet und zwischen den Projekten keine Dienstperimeter-Bridge vorhanden ist.

gcloud compute instances create new-instance \
    --image-family IMAGE_FAMILY --image-project IMAGE_PROJECT \
    --zone us-central1-a --machine-type n1-standard-72

Wenn Sie eine VM aus einer Instanzvorlage erstellen, müssen alle Ressourcen, auf die in der Instanzvorlage verwiesen wird, zum selben Dienstperimeter gehören, in dem Sie den Befehl ausführen, oder mit einer Dienstperimeter-Bridge verbunden sein. Die Anfrage schlägt fehl, wenn sich die Instanzvorlage auf eine Ressource außerhalb des Dienstperimeters bezieht, auch wenn sich die Instanzvorlage selbst innerhalb des Perimeters befindet.

Öffentliche Image-Projekte

Google stellt eine Reihe von öffentlichen Images für Ihre Instanzen bereit und verwaltet diese. Diese Projekte sind implizit in allen Sicherheitsperimetern enthalten. Zur Nutzung dieser Images sind keine weiteren Maßnahmen erforderlich.

Die folgende Liste enthält die Projekte, die automatisch in alle Sicherheitsperimeter aufgenommen werden:

  • coreos-cloud
  • cos-cloud
  • debian-cloud
  • rhel-cloud
  • rhel-sap-cloud
  • suse-cloud
  • suse-sap-cloud
  • ubuntu-sap-cloud
  • windows-cloud
  • windows-sql-cloud

Wenn Sie ein Image-Projekt verwenden, das nicht in dieser Liste enthalten ist, und das Image-Projekt nicht direkt in Ihren Sicherheitsbereich aufnehmen möchten, empfehlen wir, eine Kopie aller zu verwendenden Images zuerst in einem separaten Projekt zu erstellen. Fügen Sie dann das separate Projekt zu Ihrem Sicherheitsperimeter hinzu.

Images mit VPC Service Controls kopieren

Sie können Images von einem Projekt in ein anderes kopieren, wenn beide Projekte zum selben Dienstperimeter gehören. In diesem Beispiel müssen DST_PROJECT und SRC_PROJECT zum selben Dienstperimeter gehören, damit die Anfrage funktioniert.

gcloud compute images create --project DST_PROJECT IMAGE_NAME \
   --source-image SOURCE_IMAGE --source-image-project SRC_PROJECT \
    --family IMAGE_FAMILY --storage-location LOCATION

Wenn Sie das Image-Projekt nicht direkt in Ihren Sicherheitsbereich aufnehmen möchten, empfehlen wir, eine Kopie aller zu verwendenden Images zuerst in einem separaten Projekt zu erstellen. Fügen Sie dann das separate Projekt zu Ihrem Sicherheitsperimeter hinzu.

Freigegebene VPC mit VPC Service Controls

Bei Verwendung einer freigegebenen VPC gelten die Einschränkungen für Dienstperimeter für alle in einem bestimmten Vorgang enthaltenen Projekte. Das Hostprojekt und die Dienstprojekte müssen sich also im selben Dienstperimeter befinden, wenn ein Vorgang Ressourcen umfasst, die zwischen den Host- und Dienstprojekten verteilt sind.

VPC-Netzwerk-Peering

VPC-Netzwerk-Peering ermöglicht das Peering von VPC-Netzwerken zwischen zwei separaten Organisationen. Da Dienstperimeter auf Projekte innerhalb einer Organisation beschränkt sind, wirken sich die Dienstperimeter nicht auf Peering-VPC-Netzwerke aus.

Hierarchische Firewalls

Hierarchische Firewalls sind Firewalls, die außerhalb eines Projekts konfiguriert werden (entweder im Ordner oder auf Organisationsebene). Einschränkungen für Dienstperimeter gelten für eine Reihe von Projekten innerhalb eines Perimeters, also nicht für hierarchische Firewalls.

Verwaltete Instanzgruppen

Mit verwalteten Instanzgruppen können Sie eine Gruppe von VM-Instanzen als eine einzige Entität verwalten. Verwaltete Instanzgruppen (Managed Instance Groups, MIGs) verwenden Instanzvorlagen, um VMs zu erstellen. Außerdem gelten alle Einschränkungen für Images oder projektübergreifende Netzwerke und Subnetzwerke. Wenn Sie also Images aus anderen Projekten verwenden, müssen die Projekte zum selben Perimeter gehören. Oder kopieren Sie die Images, die Sie benötigen, in ein anderes Projekt und fügen Sie dieses Projekt in den Dienstperimeter ein. Von Google verwaltete öffentliche Image-Projekte sind automatisch in allen Dienstperimetern enthalten.

Wenn Sie Instanzgruppen mit freigegebener VPC verwenden möchten, müssen Sie dafür sorgen, dass sich Ihre Projekte im selben Sicherheitsperimeter befinden.

Nächste Schritte