VPC Service Controls
Mit VPC Service Controls können Organisationen 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 Firestore-Dienste
Die folgenden APIs sind in VPC Service Controls zusammengefasst:
firestore.googleapis.com
datastore.googleapis.com
firestorekeyvisualizer.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
.
datastore.googleapis.com
-Dienst 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
folgendermaßen einschränken:
- Wenn Sie einen Dienstperimeter mit der Google Cloud Console erstellen, fügen Sie Firestore als eingeschränkten Dienst hinzu.
-
Verwenden Sie beim Erstellen eines Dienstperimeters mit der Google Cloud CLI
firestore.googleapis.com
anstelle vondatastore.googleapis.com
.--perimeter-restricted-services=firestore.googleapis.com
Gebündelte App Engine 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 vor ausgehendem Datenverkehr bei Import- und Exportvorgängen
Firestore unterstützt VPC Service Controls, erfordert aber eine zusätzliche Konfiguration, um den vollständigen Schutz vor ausgehendem Datenverkehr bei Import- und Exportvorgängen zu erhalten. Sie müssen den Firestore-Dienst-Agent verwenden, um Import- und Exportvorgänge zu autorisieren, und nicht das standardmäßige App Engine-Dienstkonto. Folgen Sie der Anleitung unten, um das Autorisierungskonto für Import- und Exportvorgänge aufzurufen und zu konfigurieren.
Firestore-Dienst-Agent
Firestore verwendet einen Firestore-Dienst-Agent, um Import- und Exportvorgänge zu autorisieren, anstatt das App Engine-Dienstkonto zu verwenden. Der Dienst-Agent und das Dienstkonto verwenden die folgenden Namenskonventionen:
- Firestore-Dienst-Agent
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
Bisher wurde in Firestore das App Engine-Standarddienstkonto anstelle des Firestore-Dienst-Agents verwendet. Wenn in Ihrer Datenbank weiterhin das App Engine-Dienstkonto zum Importieren oder Exportieren von Daten verwendet wird, empfehlen wir Ihnen, der Anleitung in diesem Abschnitt zu folgen, um zur Verwendung des Firestore-Dienst-Agents zu migrieren.
- App Engine-Dienstkonto
PROJECT_ID@appspot.gserviceaccount.com
Der Firestore-Dienst-Agent ist vorzuziehen, da er speziell für Firestore entwickelt wurde. Das App Engine-Dienstkonto wird von mehreren Diensten gemeinsam genutzt.
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 für Ihre Datenbank bereits der Firestore-Dienstagent verwendet wird.
-
Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.
- Wählen Sie die benötigte Datenbank aus der Liste der Datenbanken aus.
-
Klicken Sie im Navigationsmenü auf Importieren/Exportieren.
- Das Autorisierungskonto finden Sie neben dem Label Import-/Exportjobs werden ausgeführt als.
Wenn in Ihrem Projekt kein Firestore-Dienst-Agent verwendet wird, können Sie auf folgende Weise zum Firestore-Dienst-Agent 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 Methoden ist vorzuziehen, da der Effekt auf ein einzelnes Firestore-Projekt beschränkt wird. Die zweite Methode wird nicht empfohlen, da dabei vorhandene Cloud Storage-Bucket-Berechtigungen nicht migriert werden. Sie bietet jedoch Sicherheitscompliance auf Organisationsebene.
Cloud Storage-Bucket-Berechtigungen prüfen und aktualisieren, um zu migrieren
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 Firestore-Dienst-Agent.
Bucket-Berechtigungen für Dienst-Agents
Für Export- oder Importvorgänge, bei denen ein Cloud Storage-Bucket in einem anderen Projekt verwendet wird, müssen Sie dem 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 Firestore-Dienst-Agent fehl.
Für Import- und Export-Workflows, die im selben Projekt bleiben, sind keine Änderungen an den Berechtigungen erforderlich. Der 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 Dienst-Agenten 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 Schreibberechtigungen gewähren möchten, verwenden Sie eine benutzerdefinierte Rolle.
Anhand des im folgenden Abschnitt beschriebenen Migrationsprozesses können Sie Cloud Storage-Buckets ermitteln, 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 Firestore-Dienst-Agenten zu migrieren. Die Migration kann nicht rückgängig gemacht werden.
-
Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.
- Wählen Sie die benötigte Datenbank aus der Liste der Datenbanken aus.
-
Klicken Sie im Navigationsmenü auf Importieren/Exportieren.
-
Wenn Ihr Projekt noch nicht zum Firestore-Dienstagenten migriert wurde, sehen Sie ein Banner mit einer Beschreibung der Migration und die Schaltfläche Bucket-Status prüfen. Im nächsten Schritt erfahren Sie, wie Sie potenzielle Berechtigungsfehler erkennen 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, dem Firestore-Dienst-Agent aber derzeit keine Lese- und Schreibberechtigungen gewähren.
- Notieren Sie sich den Namen des Hauptkontos des 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. Daraufhin wird die Seite mit den Berechtigungen für diesen Bucket in einem neuen Tab geöffnet.
- Klicken Sie auf Hinzufügen.
- Geben Sie im Feld Neue Hauptkonten den Namen Ihres Firestore-Dienst-Agents ein.
- Wählen Sie im Feld Rolle auswählen die Option Service-Agents > Firestore-Dienst-Agent aus.
- Klicken Sie auf Speichern.
- Kehren Sie zum Tab mit der Seite „Firestore-Import/Export“ zurück.
- Wiederholen Sie diese Schritte für die anderen Bucket in der Liste. Sehen Sie sich alle Seiten der Liste an.
-
-
Klicken Sie auf Zum Firestore-Dienst-Agent migrieren. Wenn es noch Bucket mit fehlgeschlagenen Berechtigungsüberprüfungen gibt, 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:
-
Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.
- Wählen Sie die benötigte Datenbank aus der Liste der Datenbanken aus.
-
Klicken Sie im Navigationsmenü auf Importieren/Exportieren.
-
Suchen Sie neben dem Label Import-/Exportjobs werden ausgeführt als nach dem Hauptbenutzer.
Wenn das Hauptkonto
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
ist, wurde Ihr Projekt bereits zum Firestore-Dienstagenten 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 in der Richtlinie Ihrer Organisation die folgende Einschränkung fest:
Firestore-Dienst-Agent für Import/Export erforderlich (
firestore.requireP4SAforImportExport
).Bei dieser Einschränkung muss bei Import- und Exportvorgängen der Firestore-Dienst-Agent verwendet werden, um Anfragen zu autorisieren. Weitere Informationen zum Festlegen dieser Einschränkung finden Sie unter Organisationsrichtlinien erstellen und verwalten .
Durch die Anwendung dieser Einschränkung der Organisationsrichtlinie werden dem Firestore-Dienst-Agent nicht automatisch die erforderlichen Cloud Storage-Bucket-Berechtigungen gewährt.
Wenn die Einschränkung Berechtigungsfehler für Import- oder Export-Workflows verursacht, können Sie sie deaktivieren, um wieder das Standarddienstkonto zu verwenden. Nachdem Sie die Berechtigungen für Cloud Storage-Bucket geprüft und aktualisiert haben, können Sie die Einschränkung wieder aktivieren.