VPC Service Controls konfigurieren

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Mit VPC Service Controls können Organisationen Perimeter fürGoogle Cloud -Ressourcen definieren, um das Risiko einer Daten-Exfiltration zu minimieren.

Cloud Composer-Umgebungen können innerhalb eines Dienstperimeters bereitgestellt werden. Durch die Konfiguration Ihrer Umgebung mit VPC Service Controls können Sie vertrauliche Daten schützen und gleichzeitig die vollständig verwalteten Workflow-Orchestrierungsfunktionen von Cloud Composer nutzen.

Die VPC Service Controls-Unterstützung für Cloud Composer bedeutet:

  • Cloud Composer kann jetzt als sicherer Dienst innerhalb von VPC Service Controls-Perimetern ausgewählt werden.
  • Alle von Cloud Composer verwendeten unterliegenden Ressourcen sind so konfiguriert, dass sie die VPC Service Controls-Architektur unterstützen und den relevanten Regeln entsprechen.

Ihre Vorteile bei der Bereitstellung von Cloud Composer-Umgebungen mit VPC Service Controls sind:

  • Geringeres Risiko der Daten-Exfiltration.
  • Schutz vor Datenweitergabe aufgrund falsch konfigurierter Zugriffskontrollen.
  • Reduziertes Risiko, dass böswillige Nutzer Daten in nicht autorisierteGoogle Cloud -Ressourcen kopieren oder dass externe Angreifer über das Internet aufGoogle Cloud -Ressourcen zugreifen.

VPC Service Controls in Cloud Composer

  • Alle Netzwerkeinschränkungen der VPC Service Controls gelten auch für Ihre Cloud Composer-Umgebungen. Weitere Informationen finden sich in der Dokumentation zu VPC Service Controls.

Konnektivität zu Google APIs und Diensten in VPC Service Controls

Cloud Composer 3 leitet Traffic an Google-Dienste über restricted.googleapis.com weiter, was den Zugriff auf Google APIs, ‑Dienste und ‑Domains ermöglicht, die von diesem Bereich unterstützt werden.

Weitere Informationen und eine Liste der über restricted.googleapis.com verfügbaren Dienste und Domains finden Sie in der Dokumentation zu Virtual Private Cloud unter Netzwerkkonfiguration.

Cloud Composer 3 blockiert Aufrufe von Google APIs, Diensten und Domains, die nicht in der Liste der erforderlichen APIs und Dienste enthalten sind. Wenn Sie eine API aus einem DAG aufrufen möchten, müssen Sie Folgendes beachten:

  • Dienst zu den eingeschränkten Diensten hinzufügen
  • Dienst zu den über VPC zugänglichen Diensten hinzufügen

Wenn Sie beispielsweise einen VertexAI-Betriebsmitarbeiter verwenden, fügen Sie aiplatform.googleapis.com sowohl eingeschränkten Diensten als auch über VPC zugänglichen Diensten hinzu.

Weitere Informationen finden Sie in der VPC Service Controls-Dokumentation unter Dienstperimeter verwalten.

Dienstperimeter erstellen

Informationen zum Erstellen und Konfigurieren von Dienstperimetern finden sich unter Dienstperimeter erstellen. Wählen Sie Cloud Composer als einen der im Perimeter gesicherten Dienste aus.

Umgebungen in einem Perimeter erstellen

Für die Bereitstellung von Cloud Composer in einem Perimeter sind die folgenden Schritte erforderlich:

  1. Aktivieren Sie die Access Context Manager API und die Cloud Composer API für Ihr Projekt. Weitere Informationen finden sich unter APIs aktivieren.

  2. Ihr Dienstperimeter muss die folgenden über VPC zugänglichen Google-Dienste enthalten, da die Umgebung sonst möglicherweise nicht erstellt werden kann:

    • Cloud Composer API (composer.googleapis.com)
    • Artifact Registry API (artifactregistry.googleapis.com)
    • Compute Engine API (compute.googleapis.com)
    • Kubernetes Engine API (container.googleapis.com)
    • Container File System API (containerfilesystem.googleapis.com)
    • Cloud DNS API (dns.googleapis.com)
    • Service Account Credentials API (iamcredentials.googleapis.com)
    • Cloud Logging API (logging.googleapis.com)
    • Cloud Monitoring API (monitoring.googleapis.com)
    • Cloud Pub/Sub API (pubsub.googleapis.com)
    • Cloud SQL Admin API (sqladmin.googleapis.com)
    • Cloud Storage API (storage.googleapis.com)
  3. So erstellen Sie eine neue Cloud Composer-Umgebung:

    1. Erstellen Sie die Umgebung mit der Google Cloud CLI.
    2. Aktivieren Sie die private IP-Adresse mit dem Argument --enable-private-environment.
    3. Geben Sie Zugriffsparameter für den Webserver mit den Argumenten --web-server-allow-all, --web-server-allow-ip oder --web-server-deny-all an. Weitere Informationen zur Verwendung dieser Argumente finden Sie unter Umgebungen erstellen. Um die Sicherheit zu erhöhen, sollten Sie den Zugriff auf den Webserver nur von bestimmten IP-Bereichen zulassen.
    4. Mit dem Argument --enable-private-builds-only können Sie die Installation von Paketen aus öffentlichen Internet-Repositories unterbinden.

      Beispiel:

      gcloud composer environments create example-environment \
        --location us-central1 \
        --enable-private-environment \
        --web-server-allow-all \
        --enable-private-builds-only
      
  4. Standardmäßig ist der Zugriff auf die Airflow-Benutzeroberfläche und ‑API nur innerhalb des Sicherheitsperimeters zulässig. Wenn Sie sie außerhalb des Sicherheitsperimeters verfügbar machen möchten, konfigurieren Sie Zugriffsebenen oder Regeln für eingehenden und ausgehenden Traffic.

Dem Perimeter eine vorhandene Umgebung hinzufügen

Sie können das Projekt, das Ihre Umgebung enthält, einem Perimeter hinzufügen, wenn Ihre Umgebungen private IP-Adressen verwenden und die Installation von PyPI-Paketen aus öffentlichen Repositories deaktiviert ist.

So aktualisieren Sie eine vorhandene Cloud Composer 3-Umgebung auf diese Konfiguration:

  1. Sie müssen den Perimeter bereits wie im vorherigen Abschnitt beschrieben erstellt oder konfiguriert haben.
  2. Verwenden Sie die Google Cloud CLI, um Ihre Umgebung zu aktualisieren.
  3. Aktivieren Sie die private IP-Adresse mit dem Argument --enable-private-environment.
  4. Mit dem Argument --enable-private-builds-only können Sie die Installation von Paketen aus öffentlichen Internet-Repositories verhindern.
  5. Konfigurieren Sie bei Bedarf den Zugriff auf den Airflow-Webserver. Um die Sicherheit zu verbessern, sollten Sie den Zugriff auf den Webserver nur von bestimmten IP-Bereichen zulassen.

Beispiel:

gcloud composer environments update example-environment \
  --location us-central1 \
  --enable-private-environment \
  --enable-private-builds-only

PyPI-Pakete in VPC Service Controls installieren

In der standardmäßigen VPC Service Controls-Konfiguration unterstützt Cloud Composer nur die Installation von PyPI-Paketen aus privaten Repositories, die über den internen IP-Adressbereich des VPC-Netzwerks erreichbar sind.

Alle Cloud Composer-Umgebungen innerhalb eines VPC Service Controls-Perimeters haben standardmäßig keinen Zugriff auf öffentliche PyPI-Repositories.

Aus einem privaten Repository installieren

Wir empfehlen, ein privates PyPI-Repository einzurichten:

  1. Es mit geprüften Paketen zu versehen, die von Ihrer Organisation verwendet werden und anschließend Cloud Composer zu konfigurieren, um Python-Abhängigkeiten aus einem privaten Repository zu installieren.

Aus einem öffentlichen Repository installieren

So installieren Sie PyPI-Pakete aus einem externen Repository:

  1. Erstellen Sie ein Remote-Repository in Artifact Registry.
  2. Gewähren Sie diesem Repository Zugriff auf Upstream-Quellen.
  3. Konfigurieren Sie Airflow so, dass Pakete aus einem Artifact Registry-Repository installiert werden.

VPC Service Controls-Logs

Wenn Sie Probleme beim Erstellen einer Umgebung beheben, können Sie die von VPC Service Controls generierten Prüfprotokolle analysieren.

Neben anderen Protokollmeldungen können Sie in den Protokollen Informationen zu cloud-airflow-prod@system.gserviceaccount.com- und service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com-Dienstkonten finden, mit denen Komponenten Ihrer Umgebungen konfiguriert werden.

Der Cloud Composer-Dienst verwendet das Dienstkonto cloud-airflow-prod@system.gserviceaccount.com, um Teile von Mieterprojekten in Ihren Umgebungen zu verwalten.

Das Dienstkonto service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com, auch als Composer-Dienst-Agent-Dienstkonto bezeichnet, verwaltet Umgebungskomponenten in Dienst- und Hostprojekten.

Nächste Schritte