Mit VPC Service Controls können Organisationen einen Perimeter um Google Cloud-Ressourcen definieren, um das Risiko einer Daten-Exfiltration zu minimieren. Mit VPC Service Controls können Sie Perimeter zum Schutz von Ressourcen und Daten von Diensten erstellen, die Sie explizit angeben.
Gebündelte Cloud Firestore-Dienste
Die folgenden APIs sind in VPC Service Controls gebündelt:
firestore.googleapis.comdatastore.googleapis.comfirestorekeyvisualizer.googleapis.com
Wenn Sie den Dienst firestore.googleapis.com in einem Perimeter einschränken, beschränkt der Perimeter auch die Dienste datastore.googleapis.com und firestorekeyvisualizer.googleapis.com.
Dienst „datastore.googleapis.com“ einschränken
Der Dienst datastore.googleapis.com ist im Dienst firestore.googleapis.com gebündelt. Wenn Sie den Dienst datastore.googleapis.com einschränken möchten, müssen Sie den Dienst firestore.googleapis.com so einschränken:
- Wenn Sie einen Dienstperimeter mit der Google Cloud Console erstellen, fügen Sie Cloud Firestore als eingeschränkten Dienst hinzu.
Verwenden Sie beim Erstellen eines Dienstperimeters mit dem Google Cloud CLI
firestore.googleapis.comanstelle vondatastore.googleapis.com.--perimeter-restricted-services=firestore.googleapis.com
Gebündelte Legacy-Dienste von App Engine für Datastore
Gebündelte Legacy-Dienste von App Engine für Datastore unterstützen keine Dienstperimeter. Der Schutz des Datastore-Dienstes mit einem Dienstperimeter blockiert den Traffic von gebündelten Legacy-Diensten von App Engine. Zu den gebündelten Legacy-Diensten gehören:
- Java 8-Datastore mit App Engine-APIs
- Python 2-NDB-Clientbibliothek für Datastore
- Go 1.11 Datastore mit App Engine APIs
Schutz vor ausgehendem Traffic bei Import- und Exportvorgängen
Cloud Firestore unterstützt VPC Service Controls, erfordert jedoch eine zusätzliche Konfiguration, um einen vollständigen Schutz für ausgehenden Traffic bei Import- und Exportvorgängen zu erhalten. Sie müssen den Dienst-Agenten Cloud Firestore verwenden, um Import- und Exportvorgänge zu autorisieren, anstatt des Standarddienstkontos App Engine. Gehen Sie wie unten beschrieben vor, um das Autorisierungskonto für Import- und Exportvorgänge aufzurufen und zu konfigurieren.
Cloud Firestore-Dienst-Agent
Cloud Firestore verwendet einen Cloud Firestore-Dienst-Agent, um Import- und Exportvorgänge zu autorisieren, anstatt das Dienstkonto App Engine zu verwenden. Für den Dienst-Agent und das Dienstkonto gelten die folgenden Namenskonventionen:
- Cloud Firestore-Dienst-Agent
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
Cloud Firestore hat zuvor das Standarddienstkonto App Engine anstelle des Dienst-Agents Cloud Firestore verwendet. Wenn Ihre Datenbank immer noch das Dienstkonto App Engine zum Importieren oder Exportieren von Daten verwendet, empfehlen wir, der Anleitung in diesem Abschnitt zu folgen, um zur Verwendung des Dienst-Agents Cloud Firestore zu migrieren.
- App Engine-Dienstkonto
PROJECT_ID@appspot.gserviceaccount.com
Der Dienst-Agent Cloud Firestore ist vorzuziehen, da er spezifisch für Cloud Firestore ist. Das Dienstkonto App Engine wird von mehreren Diensten gemeinsam genutzt.
Autorisierungskonto ansehen
In der Google Cloud Console können Sie auf der Seite Import/Export sehen, welches Konto für die Autorisierung von Anfragen für Ihre Import- und Exportvorgänge verwendet wird. Sie können auch prüfen, ob Ihre Datenbank bereits den Dienst-Agenten Cloud Firestore verwendet.
- Sehen Sie sich das Autorisierungskonto neben dem Label Import-/Exportjobs ausführen als an.
Wenn Ihr Projekt den Dienst-Agenten Cloud Firestore nicht verwendet, können Sie mit einer der folgenden Methoden zum Dienst-Agenten Cloud Firestore migrieren:
- Projekt migrieren, indem Sie die Cloud Storage-Bucket-Berechtigungen prüfen und aktualisieren (empfohlen).
- Fügen Sie eine organisationsweite Richtlinieneinschränkung hinzu, die sich auf alle Projekte in der Organisation auswirkt.
Die erste dieser Techniken ist vorzuziehen, da sie den Umfang der Auswirkungen auf ein einzelnes Cloud Firestore-Projekt beschränkt. Die zweite Methode wird nicht bevorzugt, da vorhandene Cloud Storage-Bucket-Berechtigungen nicht migriert werden. Es bietet jedoch Sicherheits-Compliance auf Organisationsebene.
Migration durch Prüfen und Aktualisieren der Cloud Storage-Bucket-Berechtigungen
Die Migration erfolgt in zwei Schritten:
- Aktualisieren Sie die Berechtigungen für den Bucket Cloud Storage. Weitere Informationen finden Sie im folgenden Abschnitt.
- Bestätigen Sie die Migration zum Dienst-Agent Cloud Firestore.
Bucket-Berechtigungen für Dienst-Agents
Für alle Export- oder Importvorgänge, die einen Cloud Storage-Bucket in einem anderen Projekt verwenden, müssen Sie dem Cloud Firestore-Dienst-Agent Berechtigungen für diesen Bucket gewähren. Beispielsweise müssen Vorgänge, bei denen Daten in ein anderes Projekt verschoben werden, auf einen Bucket in diesem anderen Projekt zugreifen. Andernfalls schlagen diese Vorgänge nach der Migration zum Dienst-Agenten Cloud Firestore fehl.
Für Import- und Export-Workflows, die innerhalb desselben Projekts bleiben, sind keine Änderungen an den Berechtigungen erforderlich. Der Dienst-Agent Cloud Firestore kann standardmäßig auf Buckets im selben Projekt zugreifen.
Aktualisieren Sie die Berechtigungen für Cloud Storage-Buckets aus anderen Projekten, um dem Dienst-Agent service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com Zugriff zu gewähren. Weisen Sie dem Dienst-Agent die Rolle Firestore Service Agent zu.
Die Rolle Firestore Service Agent gewährt Lese- und Schreibberechtigungen für einen Cloud Storage-Bucket. Wenn Sie nur Lese- oder nur Schreibberechtigungen gewähren müssen, verwenden Sie eine benutzerdefinierte Rolle.
Der im folgenden Abschnitt beschriebene Migrationsprozess hilft Ihnen, Cloud Storage-Buckets zu identifizieren, für die möglicherweise Berechtigungsaktualisierungen erforderlich sind.
Projekt zum Firestore-Dienst-Agent migrieren
Führen Sie die folgenden Schritte aus, um vom Dienstkonto App Engine zum Dienst-Agenten Cloud Firestore zu migrieren. Wenn die Migration abgeschlossen ist, kann sie nicht mehr rückgängig gemacht werden.
-
Wenn Ihr Projekt noch nicht zum Dienst-Agenten Cloud Firestore migriert wurde, wird ein Banner mit einer Beschreibung der Migration und der Schaltfläche Bucket-Status prüfen angezeigt. Im nächsten Schritt können Sie potenzielle Berechtigungsfehler identifizieren und beheben.
Klicken Sie auf Bucket-Status prüfen.
Ein Menü mit der Option zum Abschließen der Migration und einer Liste von Cloud Storage-Buckets wird angezeigt. Es kann einige Minuten dauern, bis die Liste vollständig geladen ist.
Diese Liste enthält Buckets, die vor Kurzem für Import- und Exportvorgänge verwendet wurden, aber derzeit keine Lese- und Schreibberechtigungen für den Dienst-Agent Cloud Firestore haben.
- Notieren Sie sich den Hauptkontonamen des Cloud Firestore-Dienst-Agents Ihres Projekts. Der Name des Dienst-Agents wird unter dem Label Dienst-Agent, dem Zugriff gewährt werden soll angezeigt.
-
Führen Sie für jeden Bucket in der Liste, den Sie für zukünftige Import- oder Exportvorgänge verwenden möchten, die folgenden Schritte aus:
-
Klicken Sie in der Tabellenzeile dieses Buckets auf Korrigieren. Dadurch wird die Berechtigungsseite dieses Buckets in einem neuen Tab geöffnet.
- Klicken Sie auf Hinzufügen.
- Geben Sie im Feld Neue Hauptkonten den Namen Ihres Cloud Firestore-Dienst-Agents ein.
- Wählen Sie im Feld Rolle auswählen die Option Dienst-Agents > Firestore-Dienst-Agent aus.
- Klicken Sie auf Speichern.
- Kehren Sie zum Tab mit der Seite „Cloud Firestore Import/Export“ zurück.
- Wiederholen Sie diese Schritte für andere Buckets in der Liste. Sehen Sie sich alle Seiten der Liste an.
-
-
Klicken Sie auf Zu Firestore-Dienst-Agent migrieren. Wenn Sie noch Buckets mit fehlgeschlagenen Berechtigungsprüfungen haben, müssen Sie die Migration bestätigen, indem Sie auf Migrieren klicken.
Sie werden benachrichtigt, wenn die Migration abgeschlossen ist. Die Migration kann nicht rückgängig gemacht werden.
Status der Migration abrufen
So prüfen Sie den Migrationsstatus Ihres Projekts:
-
Suchen Sie nach dem Hauptkonto neben dem Label Import-/Exportjobs ausführen als.
Wenn das Hauptkonto
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.comist, wurde Ihr Projekt bereits zum Dienst-Agenten Cloud Firestore migriert. Die Migration kann nicht rückgängig gemacht werden.Wenn das Projekt nicht migriert wurde, wird oben auf der Seite ein Banner mit dem Button Bucket-Status prüfen angezeigt. Informationen zum Abschließen der Migration finden Sie unter Zum Firestore-Dienst-Agent migrieren.
Organisationsweite Richtlinieneinschränkung hinzufügen
-
Legen Sie die folgende Einschränkung in der Richtlinie Ihrer Organisation fest:
Firestore-Dienst-Agent für Import/Export erforderlich (
firestore.requireP4SAforImportExport).Diese Einschränkung erfordert, dass Import- und Exportvorgänge den Dienst-Agent Cloud Firestore verwenden, um Anfragen zu autorisieren. Informationen zum Festlegen dieser Einschränkung finden Sie unter Organisationsrichtlinien erstellen und verwalten .
Durch die Anwendung dieser Einschränkung für die Organisationsrichtlinie werden dem Cloud Firestore-Dienst-Agent nicht automatisch die entsprechenden Cloud Storage-Bucket-Berechtigungen gewährt.
Wenn die Einschränkung Berechtigungsfehler für Import- oder Exportworkflows verursacht, können Sie sie deaktivieren, um wieder das Standarddienstkonto zu verwenden. Nachdem Sie die Berechtigungen für den Bucket Cloud Storage geprüft und aktualisiert haben, können Sie die Einschränkung wieder aktivieren.