VPC Service Controls

VPC Service Controls ermöglicht es Organisationen, einen Perimeter um Google Cloud-Ressourcen zu definieren um das Risiko der Daten-Exfiltration zu minimieren. Mit VPC Service Controls erstellen Sie Perimetern, 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 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 Bereich firestore.googleapis.com-Dienst. 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 verwenden
  • 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

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:

Schutz vor ausgehendem Datenverkehr bei Import- und Exportvorgängen

Firestore im Datastore-Modus unterstützt VPC Service Controls, erfordert jedoch zusätzliche Konfiguration, um vollständigen Schutz für ausgehenden Traffic bei Import- und Exportvorgängen zu erhalten. Sie müssen den Firestore-Dienst-Agent verwenden, um Import- und Exportvorgänge anstelle des App Engine-Standarddienstes Konto. 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 zum Firestore-Dienst-Agent 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 ist freigegeben von mehreren Diensten.

Autorisierungskonto ansehen

Sie können sehen, über welches Konto die Import- und Exportvorgänge autorisiert werden Anfragen von der Seite Import/Export in der Google Cloud Console. Sie können auch prüfen, ob für Ihre Datenbank bereits der Firestore-Dienstagent verwendet wird.

  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 Import-/Exportjobs ausführen als Label.

Wenn in Ihrem Projekt kein Firestore-Dienst-Agent verwendet wird, können Sie auf eine der folgenden Arten zum Firestore-Dienst-Agent migrieren:

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

Migrieren Sie, indem Sie Cloud Storage-Bucket-Berechtigungen prüfen und aktualisieren

Der Migrationsprozess umfasst zwei Schritte:

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

Bucket-Berechtigungen für Dienst-Agents

Für alle Export- oder Importvorgänge, die einen Cloud Storage-Bucket in anderen Projekt gibt, müssen Sie dem Firestore-Dienst-Agent Berechtigungen für diesen Bucket. Zum Beispiel Vorgänge, bei denen Daten in eine andere Projekt 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 hat Zugriff Buckets im selben Projekt.

Aktualisieren Sie die Berechtigungen für Cloud Storage-Buckets aus anderen Projekten, um Zugriff auf die service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com Dienst-Agent. Weisen Sie dem Dienst-Agent die Rolle Firestore Service Agent zu.

Die Rolle Firestore Service Agent gewährt Lese- und Schreibberechtigungen für ein Cloud Storage-Bucket. Wenn Sie nur Lese- oder Schreibberechtigungen gewähren müssen Berechtigungen, verwenden Sie 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. Nach Abschluss der Migration kann sie nicht mehr rückgängig gemacht.

  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-Dienstagenten migriert wurde, wird ein Banner mit einer Beschreibung der Migration und die Schaltfläche Bucket-Status prüfen angezeigt. Im nächsten Schritt identifizieren Sie mögliche Berechtigungsfehler 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, um den Ladevorgang der Liste abzuschließen.

    Diese Liste enthält Buckets, die vor Kurzem für Import- und Exportvorgänge verwendet wurden, dem Dienst-Agenten im Datastore-Modus aber derzeit keine Lese- und Schreibberechtigungen gewähren.

  5. Notieren Sie sich den Prinzipalnamen des Datastore-Modus Ihres Projekts Dienst-Agent. Der Name des Dienst-Agents wird unter dem Label Dienst-Agent, dem Zugriff gewährt werden soll.
  6. Für jede Gruppe in der Liste für zukünftige Import- oder Exportvorgänge verwenden, führen Sie folgende Schritte aus: Schritte:

    1. Klicken Sie in der Tabellenzeile dieses Buckets auf Korrigieren. Dadurch wird die Berechtigungsseite dieses Buckets in einem neuen Tab geöffnet.

    2. Klicken Sie auf Hinzufügen.
    3. Geben Sie im Feld Neue Hauptkonten den Namen Ihres Firestore-Dienst-Agents ein.
    4. Wählen Sie im Feld Rolle auswählen die Option Service-Agents > Firestore-Dienst-Agent aus.
    5. Klicken Sie auf Speichern.
    6. Kehren Sie zum Tab mit der Import/Export-Seite im Datastore-Modus zurück.
    7. Wiederholen Sie diese Schritte für andere Buckets in der Liste. Stellen Sie sicher, dass Sie alle Seiten der Liste enthält.
  7. Klicken Sie auf Zum Firestore-Dienst-Agent migrieren. Wenn es noch Bucket gibt, für die die Berechtigungsprüfung fehlgeschlagen ist, müssen Sie die Migration bestätigen, indem Sie auf Migrieren klicken.

    Sie werden per Benachrichtigung darüber informiert, wenn die Migration abgeschlossen ist. Die Migration kann nicht rückgängig gemacht werden.

Status der Migration abrufen

So überprü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 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, ist Ihr Projekt bereits zu Firestore migriert Dienst-Agent. Die Migration kann nicht rückgängig gemacht werden.

    Wenn das Projekt nicht migriert wurde, wird oben auf der Seite ein Banner angezeigt. durch die Schaltfläche Bucket-Status prüfen. Weitere Informationen finden Sie unter Zum Firestore-Dienst-Agent migrieren um die Migration abzuschließen.

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 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 entsprechenden 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-Buckets geprüft und aktualisiert haben, können Sie die Einschränkung wieder aktivieren.