VPC Service Controls

Mit VPC Service Controls können Organisationen einen Bereich um Google Cloud-Ressourcen definieren, um das Risiko der Daten-Exfiltration zu minimieren. Mit VPC Service Controls erstellen Sie Perimeter zum Schutz der Ressourcen und Daten von Diensten, die Sie explizit angeben.

Gebündelte Firestore-Dienste

Die folgenden APIs sind in VPC Service Controls gebündelt:

  • firestore.googleapis.com
  • datastore.googleapis.com
  • firestorekeyvisualizer.googleapis.com

Wenn Sie den Dienst firestore.googleapis.com in einem Perimeter einschränken, schränkt der Perimeter auch die Dienste datastore.googleapis.com und firestorekeyvisualizer.googleapis.com ein.

datastore.googleapis.com-Dienst einschränken

Der Dienst datastore.googleapis.com ist unter dem Dienst firestore.googleapis.com gebündelt. Wenn Sie den datastore.googleapis.com-Dienst einschränken möchten, müssen Sie den firestore.googleapis.com-Dienst so einschränken:

  • Fügen Sie beim Erstellen eines Dienstperimeters mit der Google Cloud Console Firestore als eingeschränkten Dienst hinzu.
  • Verwenden Sie beim Erstellen eines Dienstperimeters mit der Google Cloud CLI firestore.googleapis.com anstelle von datastore.googleapis.com.
    --perimeter-restricted-services=firestore.googleapis.com

Gebündelte App Engine-Legacy-Dienste für Datastore

Die gebündelten App Engine-Legacy-Dienste für Datastore unterstützen keine Dienstperimeter. Wenn Sie den Datastore-Dienst mit einem Dienstperimeter schützen, wird der Traffic von gebündelten Legacy-App Engine-Diensten blockiert. Zu den gebündelten Legacy-Diensten gehören:

Schutz von ausgehendem Traffic bei Import- und Exportvorgängen

Firestore im Datastore-Modus unterstützt VPC Service Controls. Es ist jedoch eine zusätzliche Konfiguration erforderlich, um bei Import- und Exportvorgängen vollständigen Schutz für ausgehenden Traffic zu erhalten. Sie müssen anstelle des App Engine-Standarddienstkontos den Firestore-Dienst-Agent zum Autorisieren von Import- und Exportvorgängen verwenden. Anhand der folgenden Anleitung können Sie das Autorisierungskonto für Import- und Exportvorgänge ansehen und konfigurieren.

Firestore-Dienst-Agent

Firestore verwendet zum Autorisieren von Import- und Exportvorgängen einen Firestore-Dienst-Agent anstelle des App Engine-Dienstkontos. Für den Dienst-Agent und das Dienstkonto gelten die folgenden Namenskonventionen:

Firestore-Dienst-Agent
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com

Firestore hat zuvor das App Engine-Standarddienstkonto anstelle des Firestore-Dienst-Agents verwendet. Wenn Ihre Datenbank weiterhin das App Engine-Dienstkonto zum Importieren oder Exportieren von Daten verwendet, sollten Sie der Anleitung in diesem Abschnitt folgen, um zum Firestore-Dienst-Agent zu migrieren.

App Engine-Dienstkonto
PROJECT_ID@appspot.gserviceaccount.com

Der Firestore-Dienst-Agent ist zu bevorzugen, da er für Firestore spezifisch ist. 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, welches Konto von Ihren Import- und Exportvorgängen zum Autorisieren von Anfragen verwendet wird. Sie können auch prüfen, ob Ihre Datenbank bereits den Firestore-Dienst-Agent verwendet.

  1. Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.

    Zur Seite „Datenbanken“

  2. Wählen Sie die benötigte Datenbank aus der Liste der Datenbanken aus.
  3. Klicken Sie im Navigationsmenü auf Importieren/Exportieren.

  4. Sehen Sie sich das Autorisierungskonto neben dem Label Import-/Exportjobs ausgeführt als an.

Wenn Ihr Projekt den Firestore-Dienst-Agent nicht verwendet, können Sie mit einer der folgenden Methoden zum Firestore-Dienst-Agent migrieren:

Die erste dieser Techniken ist zu bevorzugen, da sie den Wirkungsbereich auf ein einzelnes Projekt im Datastore-Modus lokalisiert. Die zweite Methode wird nicht empfohlen, da vorhandene Berechtigungen für Cloud Storage-Bucket nicht migriert werden. Sie bietet jedoch die Sicherheitscompliance auf Organisationsebene.

Migration durch Prüfen und Aktualisieren der Cloud Storage-Bucket-Berechtigungen

Der Migrationsprozess umfasst zwei Schritte:

  1. Aktualisieren Sie die Cloud Storage-Bucket-Berechtigungen. Weitere Informationen finden Sie im folgenden Abschnitt.
  2. Bestätigen Sie die Migration zum Firestore-Dienst-Agent.

Bucket-Berechtigungen für Dienst-Agent

Bei allen Export- oder Importvorgängen, die einen Cloud Storage-Bucket in einem anderen Projekt verwenden, müssen Sie dem Firestore-Dienst-Agent Berechtigungen für diesen Bucket erteilen. Beispielsweise müssen Vorgänge, bei denen Daten in ein anderes Projekt verschoben werden, auf einen Bucket in diesem anderen Projekt zugreifen müssen. 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-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 Schreibberechtigungen gewähren müssen, verwenden Sie eine benutzerdefinierte Rolle.

Mit dem im folgenden Abschnitt beschriebenen Migrationsprozess können Sie Cloud Storage-Buckets identifizieren, für die Berechtigungsaktualisierungen möglicherweise erforderlich sind.

Projekt zum Firestore-Dienst-Agent migrieren

Führen Sie die folgenden Schritte aus, um vom App Engine-Dienstkonto zum Firestore-Dienst-Agent zu migrieren. Wenn die Migration abgeschlossen ist, kann sie nicht rückgängig gemacht werden.

  1. Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.

    Zur Seite „Datenbanken“

  2. Wählen Sie die benötigte Datenbank aus der Liste der Datenbanken aus.
  3. Klicken Sie im Navigationsmenü auf Importieren/Exportieren.

  4. Wenn Ihr Projekt noch nicht zum Firestore-Dienst-Agent migriert wurde, werden ein Banner mit einer Beschreibung der Migration und die 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 der Cloud Storage-Buckets wird angezeigt. Es kann einige Minuten dauern, bis die Liste vollständig geladen ist.

    Diese Liste enthält Buckets, die kürzlich bei Import- und Exportvorgängen verwendet wurden, dem Dienst-Agent im Datastore-Modus derzeit jedoch keine Lese- und Schreibberechtigungen erteilen.

  5. Notieren Sie sich den Hauptnamen des Dienst-Agents im Datastore-Modus Ihres Projekts. Der Name des Dienst-Agents wird unter dem Label Dienst-Agent, auf den Zugriff gewährt werden soll angezeigt.
  6. Führen Sie für jeden Bucket in der Liste, den Sie für zukünftige Import- oder Exportvorgänge verwenden werden, die folgenden Schritte aus:

    1. Klicken Sie in der Tabellenzeile dieses Buckets auf Korrigieren. Daraufhin wird die Seite mit den Berechtigungen dieses Buckets in einem neuen Tab geöffnet.

    2. Klicken Sie auf Hinzufügen.
    3. Geben Sie im Feld Neue Hauptkonten den Namen des Firestore-Dienst-Agents ein.
    4. Wählen Sie im Feld Rolle auswählen die Option Dienst-Agents > Firestore-Dienst-Agent aus.
    5. Klicken Sie auf Speichern.
    6. Kehren Sie zum Tab mit der Import-/Exportseite im Datastore-Modus zurück.
    7. Wiederholen Sie diese Schritte für andere Buckets in der Liste. Achten Sie darauf, dass alle Seiten der Liste angezeigt werden.
  7. Klicken Sie auf Zum Firestore-Dienst-Agent migrieren. Wenn noch Buckets mit fehlgeschlagenen Berechtigungsprüfungen vorhanden sind, müssen Sie die Migration durch Klicken auf Migrieren bestätigen.

    Sie erhalten eine Benachrichtigung, 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:

  1. Rufen Sie in der Google Cloud Console die Seite Datenbanken auf.

    Zur Seite „Datenbanken“

  2. Wählen Sie die benötigte Datenbank aus der Liste der Datenbanken aus.
  3. Klicken Sie im Navigationsmenü auf Importieren/Exportieren.

  4. Suchen Sie nach dem Hauptkonto neben dem Label Import-/Exportjobs ausgeführt als.

    Wenn das Hauptkonto service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com ist, wurde Ihr Projekt bereits zum Firestore-Dienst-Agent migriert. Die Migration kann nicht rückgängig gemacht werden.

    Wenn das Projekt nicht migriert wurde, wird oben auf der Seite ein Banner mit der Schaltfläche 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 in der Richtlinie Ihrer Organisation die folgende Einschränkung fest:

    Firestore-Dienst-Agent für Import/Export erforderlich (firestore.requireP4SAforImportExport)

    Für diese Einschränkung sind Import- und Exportvorgänge erforderlich, damit Anfragen mit dem Firestore-Dienst-Agent autorisiert werden können. Informationen zum Festlegen dieser Einschränkung finden Sie unter Organisationsrichtlinien erstellen und verwalten .

Durch Anwenden dieser Einschränkung der Organisationsrichtlinie werden dem Firestore-Dienst-Agent nicht automatisch die entsprechenden Cloud Storage-Bucket-Berechtigungen gewährt.

Wenn durch die Einschränkung Berechtigungsfehler für Import- oder Exportworkflows erstellt werden, können Sie sie deaktivieren, um zur Verwendung des Standarddienstkontos zurückzukehren. Nachdem Sie die Cloud Storage-Bucket-Berechtigungen geprüft und aktualisiert haben, können Sie die Einschränkung wieder aktivieren.