VPC Service Controls

Mit VPC Service Controls können Organisationen einen Umfang um Google Cloud-Ressourcen definieren, um das Risiko der Daten-Exfiltration zu minimieren. Mit VPC Service Controls erstellen Sie Perimeter, die die Ressourcen und Daten von Diensten schützen, 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 firestore.googleapis.com-Dienst in einem Perimeter einschränken, werden auch die datastore.googleapis.com- und firestorekeyvisualizer.googleapis.com-Dienste eingeschränkt.

Dienst „datastore.googleapis.com“ einschränken

Der Dienst datastore.googleapis.com ist im Dienst firestore.googleapis.com enthalten. Wenn du den datastore.googleapis.com-Dienst einschränken möchtest, musst du den firestore.googleapis.com-Dienst so 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-Befehlszeile firestore.googleapis.com anstelle von datastore.googleapis.com.
    --perimeter-restricted-services=firestore.googleapis.com

Alte gebündelte App Engine-Dienste für Datastore

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

Schutz für ausgehenden Traffic bei Import- und Exportvorgängen

Firestore unterstützt VPC Service Controls, benötigt jedoch zusätzliche Konfiguration, um vollständigen Importschutz für Import- und Exportvorgänge zu erhalten. Sie müssen den Firestore-Dienst-Agent anstelle des App Engine-Standarddienstkontos zum Importieren und Exportieren von Vorgängen verwenden. Folgen Sie der Anleitung unten, um das Autorisierungskonto für Import- und Exportvorgänge aufzurufen und zu konfigurieren.

Firestore-Dienst-Agent

Sie können jetzt einen Firestore-Dienst-Agent verwenden, um Import- und Exportvorgänge anstelle des App Engine-Dienstkontos zu autorisieren. Für den Dienst-Agent und das Dienstkonto gelten die folgenden Namenskonventionen:

Firestore-Dienst-Agent
service-project_number@gcp-sa-firestore.iam.gserviceaccount.com
App Engine-Dienstkonto
project_id@appspot.gserviceaccount.com

Der Firestore-Dienst-Agent wird bevorzugt, 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, mit welchem Konto Ihre Import- und Exportvorgänge autorisiert werden. Sie können auch prüfen, ob in Ihrer Datenbank der Firestore-Dienst-Agent bereits verwendet wird.

  1. Rufen Sie in der Google Cloud Console die Seite Firestore-Import/-Export auf.

    Import/Export aufrufen

  2. Rufen Sie das Autorisierungskonto neben dem Label Import/Exportjobs as auf.

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

Das erste dieser Verfahren ist bevorzugt, da damit der Umfang des Effekts auf ein einzelnes Firestore-Projekt lokalisiert wird. Das zweite Verfahren wird nicht bevorzugt, da vorhandene Cloud Storage-Bucket-Berechtigungen nicht migriert werden. Sie bietet jedoch Sicherheitscompliance auf Organisationsebene.

Migration durch Überprüfung und Aktualisierung der Cloud Storage-Bucket-Berechtigungen

Der Migrationsprozess besteht aus zwei Schritten:

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

Bucket-Berechtigungen des Dienst-Agents

Für alle Export- oder Importvorgänge, die einen Cloud Storage-Bucket in einem anderen Projekt verwenden, müssen Sie dem Firestore-Dienst-Agent Berechtigungen für diesen Bucket gewähren. Beispielsweise müssen Vorgänge, die Daten in ein anderes Projekt verschieben, auf einen Bucket in diesem anderen Projekt zugreifen. Andernfalls können diese Vorgänge nach der Migration zum Firestore-Dienst-Agent fehlschlagen.

Für Import- und Export-Workflows, die innerhalb desselben Projekts 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öchten, verwenden Sie eine benutzerdefinierte Rolle.

Mit dem im folgenden Abschnitt beschriebenen Migrationsprozess können Sie Cloud Storage-Buckets ermitteln, für die möglicherweise Berechtigungsupdates 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. Die Migration kann dann nicht mehr rückgängig gemacht werden.

  1. Rufen Sie in der Google Cloud Console die Seite Firestore-Import/-Export auf.

    Import/Export aufrufen

  2. Wenn Ihr Projekt noch nicht zum Firestore-Dienst-Agent migriert wurde, sehen Sie ein Banner mit einer Migration und die Schaltfläche Bucket-Status prüfen. Mit dem nächsten Schritt können Sie potenzielle Berechtigungsfehler ermitteln 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 in Import- und Exportvorgängen verwendet wurden, denen der Firestore-Dienst-Agent derzeit aber keine Lese- und Schreibberechtigungen gewährt.

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

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

    2. Klicken Sie auf Add (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 Firestore-Seite für den Import/Export zurück.
    7. Wiederholen Sie diese Schritte für andere Buckets in der Liste. Achte darauf, alle Seiten der Liste anzusehen.
  5. Klicken Sie auf Migrate to Firestore Service Agent (Zum Firestore-Dienst-Agent migrieren). Wenn noch Bucket mit fehlgeschlagenen Berechtigungsprüfungen vorhanden sind, müssen Sie die Migration bestätigen. Klicken Sie dazu auf Migrieren.

    Sie werden benachrichtigt, wenn die Migration abgeschlossen ist. Die Migration kann nicht rückgängig gemacht werden.

Status der Migration abrufen

  1. Den Migrationsstatus Ihres Projekts können Sie in der Google Cloud Console auf der Seite Import/Export prüfen:

    Import/Export aufrufen

  2. Suchen Sie nach dem Hauptkonto neben dem Label Import/Exportjobs as.

    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. 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).

    Bei dieser Einschränkung müssen Import- und Exportvorgänge den Autorisierungsdienst-Agent verwenden, um Anfragen zu autorisieren. Informationen zum Festlegen dieser Einschränkung finden Sie unter Organisationsrichtlinien erstellen und verwalten.

Wenn Sie diese Einschränkung der Organisationsrichtlinie anwenden, werden dem Cloud Storage-Dienst-Agent nicht automatisch die entsprechenden Cloud Storage-Bucket-Berechtigungen gewährt.

Wenn die Einschränkung Berechtigungsfehler für Import- oder Export-Workflows erzeugt, können Sie sie deaktivieren und so wieder das Standarddienstkonto verwenden. Nachdem Sie die Cloud Storage-Bucket-Berechtigungen überprüft und aktualisiert haben, können Sie die Einschränkung wieder aktivieren.