Mit VPC Service Controls können Organisationen einen Perimeter für Google Cloud-Ressourcen definieren, um das Risiko einer Daten-Exfiltration zu minimieren. Mit VPC Service Controls erstellen Sie Perimeter zum Schutz von Ressourcen und Daten der Dienste, 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 enthalten. 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.
Wenn Sie einen Dienstperimeter mit dem Befehl Google Cloud CLI erstellen, verwenden Sie
firestore.googleapis.comanstelle vondatastore.googleapis.com.--perimeter-restricted-services=firestore.googleapis.com
App Engine gebündelte Legacy-Dienste 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 für ausgehenden Traffic bei Import- und Exportvorgängen
Cloud Firestore unterstützt VPC Service Controls, erfordert aber eine zusätzliche Konfiguration, um vollständigen Schutz für ausgehenden Traffic bei Import- und Exportvorgängen zu erhalten. Sie müssen den Cloud Firestore-Dienst-Agent verwenden, um Import- und Exportvorgänge zu autorisieren, anstatt des standardmäßigen App Engine-Dienstkontos. Folgen Sie der Anleitung unten, 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 zur Autorisierung von Import- und Exportvorgängen anstelle des App Engine-Dienstkontos. 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 App Engine-Standarddienstkonto anstelle des Cloud Firestore-Dienst-Agents verwendet. Wenn in Ihrer Datenbank weiterhin das Dienstkonto App Engine zum Importieren oder Exportieren von Daten verwendet wird, empfehlen wir Ihnen, 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 Cloud Firestore-Dienst-Agent ist vorzuziehen, da er speziell für Cloud Firestore entwickelt wurde. Das App Engine-Dienstkonto wird von mehreren Diensten gemeinsam genutzt.
kompatibel.Autorisierungskonto ansehen
Auf der Seite Import/Export in der Google Cloud Console können Sie sehen, mit welchem Konto Ihre Import- und Exportvorgänge Anfragen autorisieren. Sie können auch prüfen, ob Ihre Datenbank bereits den Cloud Firestore-Dienst-Agent verwendet.
- Das Autorisierungskonto wird neben dem Label Import-/Exportjobs werden ausgeführt als angezeigt.
Wenn in Ihrem Projekt nicht der Cloud Firestore-Dienst-Agent verwendet wird, können Sie mit einer der folgenden Methoden zum Cloud Firestore-Dienst-Agent migrieren:
- Projekt migrieren, indem Sie die Cloud Storage-Bucket-Berechtigungen prüfen und aktualisieren (empfohlen).
- Fügen Sie eine organisationsweite Einschränkung für Organisationsrichtlinien hinzu, die sich auf alle Projekte in der Organisation auswirkt.
Die erste dieser Techniken ist vorzuziehen, da sie den Wirkungsbereich auf ein einzelnes Cloud Firestore-Projekt beschränkt. Die zweite Methode ist nicht die bevorzugte, da vorhandene Berechtigungen für den Cloud Storage-Bucket nicht migriert werden. Es bietet jedoch Sicherheitskonformität auf Organisationsebene.
Migration durch Prüfen und Aktualisieren der Cloud Storage-Bucket-Berechtigungen
Der Migrationsprozess umfasst zwei Schritte:
- Aktualisieren Sie die Berechtigungen für den Cloud Storage-Bucket. Weitere Informationen finden Sie im nächsten Abschnitt.
- Bestätigen Sie die Migration zum Cloud Firestore-Dienst-Agent.
Bucket-Berechtigungen für Dienst-Agents
Für alle Export- oder Importvorgänge, bei denen ein Cloud Storage-Bucket in einem anderen Projekt verwendet wird, müssen Sie dem Cloud Firestore-Dienst-Agent Berechtigungen für diesen Bucket erteilen. Bei Vorgängen, bei denen Daten in ein anderes Projekt verschoben werden, muss beispielsweise auf einen Bucket in diesem anderen Projekt zugegriffen werden. Andernfalls schlagen diese Vorgänge nach der Migration zum Cloud Firestore-Dienst-Agent fehl.
Für Import- und Exportvorgänge, die im selben Projekt bleiben, sind keine Änderungen an den Berechtigungen erforderlich. Der Cloud Firestore-Dienst-Agent kann standardmäßig auf Buckets im selben Projekt zugreifen.
Aktualisieren Sie die Berechtigungen für Cloud Storage-Buckets aus anderen Projekten, um dem service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com-Dienst-Agent Zugriff zu gewähren. Weisen Sie dem Dienst-Agent die Rolle Firestore Service Agent zu.
Mit der Rolle Firestore Service Agent werden Lese- und Schreibberechtigungen für einen Cloud Storage-Bucket gewährt. Wenn Sie nur Lese- oder nur Schreibberechtigungen gewähren möchten, verwenden Sie eine benutzerdefinierte Rolle.
Der im folgenden Abschnitt beschriebene Migrationsprozess hilft Ihnen, Cloud Storage-Buckets zu identifizieren, für die möglicherweise Berechtigungen aktualisiert werden müssen.
Projekt zum Firestore-Dienst-Agent migrieren
Führen Sie die folgenden Schritte aus, um vom App Engine-Dienstkonto zum Cloud Firestore-Dienst-Agent zu migrieren. Wenn die Migration abgeschlossen ist, kann sie nicht mehr rückgängig gemacht werden.
-
Wenn Ihr Projekt noch nicht zum Cloud Firestore-Dienst-Agent migriert wurde, sehen Sie ein Banner mit einer Beschreibung der Migration und die Schaltfläche Bucket-Status prüfen. 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 der 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, für die der Cloud Firestore-Dienst-Agent aber derzeit keine Lese- und Schreibberechtigungen hat.
- Notieren Sie sich den Prinzipalnamen 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 Bucket auf Beheben. Dadurch wird die Berechtigungsseite des entsprechenden 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 die anderen Buckets in der Liste. Sehen Sie sich alle Seiten der Liste an.
-
-
Klicken Sie auf Zum Firestore-Dienst-Agent migrieren. Wenn Sie weiterhin 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 neben dem Label Import-/Exportjobs werden ausgeführt als nach dem Prinzipal.
Wenn das Hauptkonto
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.comist, wurde Ihr Projekt bereits zum Cloud Firestore-Dienst-Agenten migriert. Die Migration kann nicht rückgängig gemacht werden.Wenn das Projekt noch nicht migriert wurde, wird oben auf der Seite ein Banner mit der Schaltfläche Bucket-Status prüfen angezeigt. Weitere Informationen 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 bei Import- und Exportvorgängen der Cloud Firestore-Dienst-Agent zum Autorisieren von Anfragen verwendet wird. Informationen zum Festlegen dieser Einschränkung finden Sie unter Organisationsrichtlinien erstellen und verwalten .
Durch Anwenden dieser Einschränkung für die Organisationsrichtlinie werden nicht automatisch die entsprechenden Cloud Storage-Bucket-Berechtigungen für den Cloud Firestore-Dienst-Agent gewährt.
Wenn durch die Einschränkung Berechtigungsfehler für Import- oder Exportworkflows entstehen, können Sie sie deaktivieren, um wieder das Standarddienstkonto zu verwenden. Nachdem Sie die Berechtigungen für den Cloud Storage-Bucket geprüft und aktualisiert haben, können Sie die Einschränkung wieder aktivieren.