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.
Wenn eine Cloud Composer-Umgebung durch einen Perimeter geschützt ist, ist der Zugriff auf öffentliche PyPI-Repositories eingeschränkt. Weitere Informationen finden Sie unter PyPI-Pakete in VPC Service Controls installieren.
Wenn in Ihrer Umgebung Private IP networking verwendet wird, wird der gesamte interne Traffic an Ihr VPC-Netzwerk weitergeleitet, mit Ausnahme des Traffics zu Google APIs, Diensten und Domains, die für Umgebungen mit privaten IP-Adressen über den privater Google-Zugriff verfügbar sind.
Je nach Konfiguration Ihres VPC-Netzwerks kann eine Umgebung mit privaten IP-Adressen über Ihr VPC-Netzwerk auf das Internet zugreifen.
Cloud Composer unterstützt die Verwendung von Drittanbieteridentitäten in Ingress- und Egress-Regeln nicht, um Apache Airflow-UI-Vorgänge zuzulassen. Sie können jedoch den Identitätstyp
ANY_IDENTITY
in Ingress- und Egress-Regeln verwenden, um den Zugriff auf alle Identitäten, einschließlich Drittanbieteridentitäten, zu ermöglichen. Weitere Informationen zum IdentitätstypANY_IDENTITY
finden Sie unter Regeln für eingehenden und ausgehenden Traffic.Im VPC Service Controls-Modus ist der Zugriff auf den Webserver durch den Perimeter geschützt und der Zugriff von außerhalb des Perimeters wird blockiert. Wenn Sie Zugriff von außerhalb des Dienstperimeters zulassen möchten, konfigurieren Sie nach Bedarf Zugriffsebenen oder Regeln für ein- und ausgehenden Traffic. Außerdem können Sie den Zugriff auf den Webserver auf bestimmte IP-Bereiche beschränken.
Konnektivität zu Google APIs und Google-Diensten in VPC Service Controls
Cloud Composer 3 leitet Traffic an Google-Dienste über restricted.googleapis.com
weiter. Dadurch wird der Zugriff auf Google-APIs, -Dienste und -Domains ermöglicht, die von diesem Bereich unterstützt werden.
Weitere Informationen und die Liste der Dienste und Domains, die über restricted.googleapis.com
verfügbar sind, 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 über einen DAG aufrufen möchten, müssen Sie Folgendes beachten:
- Dienst zu eingeschränkten Diensten hinzufügen
- Dienst zu den über VPC zugänglichen Diensten hinzufügen
Wenn Sie beispielsweise einen Vertex AI-Operator verwenden, fügen Sie aiplatform.googleapis.com
sowohl zu eingeschränkten Diensten als auch zu über VPC zugänglichen Diensten hinzu.
Weitere Informationen finden Sie unter Dienstperimeter verwalten in der Dokumentation zu VPC Service Controls.
Umgebungen in einem Perimeter erstellen
Die folgenden Schritte sind erforderlich, um Cloud Composer in einem Perimeter bereitzustellen:
Aktivieren Sie die Access Context Manager API und die Cloud Composer API für Ihr Projekt. Weitere Informationen finden sich unter APIs aktivieren.
Erstellen Sie einen Perimeter, indem Sie der Anleitung zur Perimeterkonfiguration in der Dokumentation zu VPC Service Controls folgen. Die Liste der eingeschränkten Dienste muss alle von Cloud Composer verwendeten Dienste sowie andere Dienste enthalten, die Sie einschränken möchten:
- 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)
Für alle anderen von Ihren DAGs verwendeten Dienste:
- Fügen Sie den Dienst zu den eingeschränkten Diensten hinzu.
- Fügen Sie den Dienst zu den Diensten hinzu, die über VPC zugänglich sind.
So erstellen Sie eine neue Cloud Composer-Umgebung:
- Erstellen Sie die Umgebung mit der Google Cloud CLI.
- Aktivieren Sie die private IP-Adresse mit dem Argument
--enable-private-environment
. - 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. Für maximale Sicherheit sollten Sie den Zugriff auf den Webserver nur von bestimmten IP-Bereichen zulassen. Verhindern Sie die Installation von Paketen aus öffentlichen Internet-Repositories mit dem Argument
--enable-private-builds-only
.Beispiel:
gcloud composer environments create example-environment \ --location us-central1 \ --enable-private-environment \ --web-server-allow-all \ --enable-private-builds-only
Standardmäßig ist der Zugriff auf die Airflow-Benutzeroberfläche und die API nur innerhalb des Sicherheitsbereichs 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.
Vorhandene Umgebung dem Perimeter hinzufügen
Sie können das Projekt, das Ihre Umgebung enthält, in einen Perimeter einfü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:
- Achten Sie darauf, dass Sie den Perimeter bereits wie im vorherigen Abschnitt beschrieben erstellt oder konfiguriert haben.
- Verwenden Sie die Google Cloud CLI, um Ihre Umgebung zu aktualisieren.
- Aktivieren Sie die private IP-Adresse mit dem Argument
--enable-private-environment
. - Verhindern Sie die Installation von Paketen aus öffentlichen Internet-Repositories mit dem Argument
--enable-private-builds-only
. - Konfigurieren Sie bei Bedarf den Zugriff auf den Airflow-Webserver. Um den Schutz 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-Netzwerk 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
Die empfohlene Konfiguration besteht darin, ein privates PyPI-Repository einzurichten:
Füllen Sie es mit geprüften Paketen, die von Ihrer Organisation verwendet werden, und konfigurieren Sie dann Cloud Composer, um Python-Abhängigkeiten aus einem privaten Repository zu installieren.
Aus einem öffentlichen Repository installieren
So installieren Sie PyPI-Pakete aus einem externen Repository:
- Artifact Registry-Remote-Repository erstellen
- Gewähren Sie diesem Repository Zugriff auf Upstream-Quellen.
- Airflow so konfigurieren, dass Pakete aus einem Artifact Registry-Repository installiert werden.
VPC Service Controls-Logs
Bei der Fehlerbehebung bei der Umgebungserstellung können Sie von VPC Service Controls generierte Audit-Logs analysieren.
Neben anderen Logmeldungen können Sie Logs auch auf Informationen zu cloud-airflow-prod@system.gserviceaccount.com
- und service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com
-Dienstkonten prüfen, mit denen Komponenten Ihrer Umgebungen konfiguriert werden.
Der Cloud Composer-Dienst verwendet das cloud-airflow-prod@system.gserviceaccount.com
-Dienstkonto, um Tenant-Projektkomponenten Ihrer 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.