Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Mit VPC Service Controls können Organisationen Perimeter für Google Cloud Ressourcen definieren, um das Risiko einer Daten-Exfiltration zu minimieren.
Managed Airflow-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 Managed Airflow nutzen.
Die VPC Service Controls-Unterstützung für Managed Airflow bedeutet:
- Managed Airflow kann jetzt als sicherer Dienst innerhalb von VPC Service Controls-Perimetern ausgewählt werden.
- Alle von Managed Airflow 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 Managed Airflow-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 autorisierte Google Cloud Ressourcen kopieren oder dass externe Angreifer über das Internet auf Google Cloud Ressourcen zugreifen.
VPC Service Controls in Managed Airflow
- Alle Netzwerkeinschränkungen der VPC Service Controls gelten auch für Ihre Managed Airflow-Umgebungen. Weitere Informationen finden sich in der Dokumentation zu VPC Service Controls.
Wenn eine Managed Airflow-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 Ihre Umgebung privates IP-Networking verwendet, wird der gesamte interne Traffic an Ihr VPC-Netzwerk weitergeleitet, mit Ausnahme des Traffics an Google APIs, Google-Dienste und Google-Domains, die für private IP-Umgebungen verfügbar sind über den privater Google-Zugriff.
Je nachdem, wie Sie Ihr VPC-Netzwerk konfigurieren, kann eine private IP-Umgebung über Ihr VPC-Netzwerk auf das Internet zugreifen.
Managed Airflow unterstützt die Verwendung von Drittanbieteridentitäten in Regeln für ein- und ausgehenden Traffic nicht, um Apache Airflow-UI Vorgänge zuzulassen. Sie können jedoch den Identitätstyp
ANY_IDENTITYin Regeln für ein- und ausgehenden Traffic verwenden, um den Zugriff auf alle Identitäten, einschließlich Drittanbieteridentitäten, zu ermöglichen. Weitere Informationen zumANY_IDENTITYIdentitätstyp 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 den 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
Managed Airflow (Gen 3) leitet Traffic an Google-Dienste über restricted.googleapis.com weiter. Dadurch wird der Zugriff auf Google APIs, Google-Dienste und Google-Domains ermöglicht, die von diesem Bereich unterstützt werden.
Weitere Informationen und eine Liste der Dienste und Domains, die über restricted.googleapis.com verfügbar sind
, finden Sie in der Dokumentation zu Virtual Private Cloud
unter Netzwerkkonfiguration.
Managed Airflow (Gen 3)-Umgebungen blockieren Aufrufe an Google APIs, Google-Dienste und Google-Domains, die nicht in der Liste der erforderlichen APIs und Dienste enthalten sind. So rufen Sie eine API aus einem DAG auf:
- Prüfen Sie, ob der Dienst VPC Service Controls unterstützt.
- Fügen Sie den Dienst zu den eingeschränkten Diensten hinzu.
- Fügen Sie den Dienst zu den über VPC zugänglichen Diensten hinzu.
Wenn Sie beispielsweise einen Vertex AI-Operator verwenden, fügen Sie aiplatform.googleapis.com sowohl zu den eingeschränkten Diensten als auch zu den über VPC zugänglichen Diensten hinzu.
Weitere Informationen zum Hinzufügen von Diensten zu einem Perimeter finden Sie in der Dokumentation zu VPC Service Controls unter Dienstperimeter verwalten.
In Managed Airflow (Gen 3) kann nicht auf Dienste zugegriffen werden, die VPC Service Controls nicht
unterstützen
und nicht über restricted.googleapis.com verfügbar sind
, wenn sie durch VPC Service Controls geschützt sind. Diese Einschränkung wurde in Managed Airflow (Gen 3) hinzugefügt, um die Sicherheit der Umgebung zu erhöhen. In Managed Airflow (Gen 2) kann der Zugriff auf solche nicht unterstützten Dienste konfiguriert werden. Wir empfehlen jedoch dringend, dies in keiner Umgebung zu tun, die durch VPC Service Controls geschützt ist.
Umgebungen in einem Perimeter erstellen
Die folgenden Schritte sind erforderlich, um Managed Airflow innerhalb eines Perimeters bereitzustellen:
Aktivieren Sie die Access Context Manager API und die Managed Airflow API für Ihr Projekt. Weitere Informationen finden sich unter APIs aktivieren.
Erstellen Sie einen Perimeter. Folgen Sie dazu der Anleitung zur Perimeterkonfiguration in der Dokumentation zu VPC Service Controls. Achten Sie darauf, dass die Liste der eingeschränkten Dienste alle von Managed Airflow verwendeten Dienste sowie andere Dienste enthält, 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 über VPC zugänglichen Diensten hinzu.
Erstellen Sie eine neue Managed Airflow-Umgebung:
- Erstellen Sie Ihre Umgebung mit der Google Cloud CLI.
- Aktivieren Sie private IP-Adressen mit dem Argument
--enable-private-environment. - Geben Sie Zugriffsparameter für den Webserver mit
--web-server-allow-all,--web-server-allow-ip, oder--web-server-deny-allArgumenten an. Weitere Informationen zur Verwendung dieser Argumente finden Sie unter Umgebungen erstellen. Für mehr 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
--enable-private-builds-onlyArgument.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-UI und die Airflow API nur innerhalb des Sicherheitsperimeters zulässig. Wenn Sie den Zugriff außerhalb des Sicherheits perimeters ermöglichen möchten, konfigurieren Sie Zugriffsebenen oder Regeln für ein- und ausgehenden Traffic.
Vorhandene Umgebung zum Perimeter hinzufügen
Sie können das Projekt, das Ihre Umgebung enthält, zu 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 Managed Airflow (Gen 3)-Umgebung auf diese Konfiguration:
- Achten Sie darauf, dass Sie den Perimeter wie im vorherigen Abschnitt beschrieben bereits erstellt oder konfiguriert haben.
- Aktualisieren Sie Ihre Umgebung mit der Google Cloud CLI.
- Aktivieren Sie private IP-Adressen 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. Für mehr Sicherheit 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 Managed Airflow nur die Installation von PyPI-Paketen aus privaten Repositories, die über den internen IP-Adressbereich des VPC-Netzwerk erreichbar sind.
Standardmäßig haben alle Managed Airflow-Umgebungen innerhalb eines VPC Service Controls-Perimeters keinen Zugriff auf öffentliche PyPI-Repositories.
Aus einem privaten Repository installieren
Die empfohlene Konfiguration besteht darin, ein privates PyPI-Repository einzurichten:
Aus einem öffentlichen Repository installieren
So installieren Sie PyPI-Pakete aus einem externen Repository:
- Erstellen Sie ein Artifact Registry-Remote-Repository.
- Gewähren Sie diesem Repository Zugriff auf Upstream-Quellen.
- Konfigurieren Sie Airflow so, dass Pakete aus einem Artifact Registry-Repository installiert werden.
VPC Service Controls-Logs
Wenn Sie Probleme bei der Erstellung von Umgebungen beheben möchten, können Sie Audit-Logs analysieren, die von VPC Service Controls generiert wurden.
Neben anderen Logmeldungen können Sie Logs nach Informationen zu
cloud-airflow-prod@system.gserviceaccount.com und
service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com
Dienstkonten suchen, mit denen Komponenten Ihrer Umgebungen konfiguriert werden.
Der Managed Airflow-Dienst verwendet das
cloud-airflow-prod@system.gserviceaccount.com Dienstkonto, um
Mandantenprojektkomponenten Ihrer Umgebungen zu verwalten.
Das
service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com
Dienstkonto, auch bekannt als Composer Service Agent-Dienstkonto, verwaltet
Umgebungskomponenten in
Dienst- und Hostprojekten.