Managed Airflow (3e génération) | Managed Airflow (2e génération) | Managed Airflow (1re génération héritée)
VPC Service Controls permet aux organisations de définir un périmètre autour des Google Cloud ressources afin de limiter les risques d'exfiltration de données.
Les environnements Managed Airflow peuvent être déployés dans un périmètre de service. En configurant votre environnement avec VPC Service Controls, vous pouvez garder vos données sensibles privées tout en profitant des fonctionnalités d'orchestration des workflows entièrement gérées de Managed Airflow.
La compatibilité de VPC Service Controls avec Managed Airflow implique les éléments suivants :
- Managed Airflow peut désormais être sélectionné en tant que service sécurisé dans un périmètre VPC Service Controls.
- Toutes les ressources sous-jacentes utilisées par Managed Airflow sont configurées pour assurer l'architecture de VPC Service Controls et respecter ses règles.
Le déploiement d'environnements Managed Airflow avec VPC Service Controls offre les avantages suivants :
- Réduction du risque d'exfiltration des données
- Protection contre l'exposition des données en raison d'une mauvaise configuration des contrôles des accès
- Réduction du risque de copie des données par des utilisateurs malveillants vers des ressources non autorisées Google Cloud ou des pirates informatiques externes accédant Google Cloud aux ressources depuis Internet
À propos de VPC Service Controls dans Managed Airflow
- Toutes les contraintes réseau de VPC Service Controls s'appliqueront également à vos environnements Managed Airflow. Pour en savoir plus, consultez la documentation de VPC Service Controls.
Si un environnement Managed Airflow est protégé par un périmètre, l'accès aux dépôts PyPI publics est restreint. Pour en savoir plus, consultez Installer des packages PyPI dans VPC Service Controls.
Si votre environnement utilise la mise en réseau IP privée, tout le trafic interne est acheminé vers votre réseau VPC, à l'exception du trafic vers les API et services Google, et les domaines qui sont disponibles pour les environnements IP privés via l'accès privé à Google.
Selon la façon dont vous configurez votre réseau VPC, un environnement IP privé peut accéder à Internet via votre réseau VPC.
Managed Airflow n'est pas compatible avec l'utilisation d' identités tierces dans les règles d'entrée et de sortie pour autoriser les opérations de l'interface utilisateur Apache Airflow. Toutefois, vous pouvez utiliser le type d'identité
ANY_IDENTITYdans les règles d'entrée et de sortie pour autoriser l'accès à toutes les identités, y compris les identités tierces. Pour en savoir plus sur leANY_IDENTITYtype d'identité, consultez Règles d'entrée et de sortie.En mode VPC Service Controls, l'accès au serveur Web est protégé par le périmètre, et l'accès depuis l'extérieur du périmètre est bloqué. Pour autoriser l'accès depuis l'extérieur du périmètre de service, configurez des niveaux d'accès ou des règles d'entrée et de sortie, selon vos besoins. Vous pouvez également limiter l'accès au serveur Web à des plages d'adresses IP spécifiques.
À propos de la connectivité aux API et services Google dans VPC Service Controls
Managed Airflow (3e génération) achemine le trafic vers les services Google via restricted.googleapis.com, ce qui permet d'accéder aux API Google, aux services et aux domaines compatibles avec cette plage.
Pour en savoir plus et obtenir la liste des services et domaines disponibles
via restricted.googleapis.com, consultez
Configuration réseau dans la documentation Cloud privé virtuel.
Les environnements Managed Airflow (3e génération) bloquent les appels aux API, services et domaines Google qui ne figurent pas dans la liste des API et services requis. Si vous souhaitez appeler une API à partir d'un DAG :
- Assurez-vous que le service est compatible avec VPC Service Controls.
- Ajoutez le service aux services restreints.
- Ajoutez le service aux services accessibles au VPC.
Par exemple, si vous utilisez un opérateur Vertex AI, ajoutez aiplatform.googleapis.com aux services restreints et aux services accessibles au VPC.
Pour en savoir plus sur l'ajout de services à un périmètre, consultez Gérer les périmètres de service dans la documentation de VPC Service Controls.
Dans Managed Airflow (3e génération), les services qui ne
sont pas compatibles avec VPC Service Controls
et ne sont pas disponibles via restricted.googleapis.com ne sont pas accessibles
à partir des environnements protégés par VPC Service Controls. Cette restriction a été ajoutée dans Managed Airflow (3e génération) pour améliorer la sécurité de l'environnement. Bien que Managed Airflow (2e génération) permette de configurer l'accès à ces services non compatibles, nous vous recommandons vivement de ne pas le faire dans un environnement protégé par VPC Service Controls.
Créer des environnements dans un périmètre
Pour déployer Managed Airflow dans un périmètre, procédez comme suit :
Activez l'API Access Context Manager et l'API Cloud Composer pour votre projet. Consultez la section Activer des API.
Créez un périmètre en suivant les instructions de configuration du périmètre dans la documentation de VPC Service Controls. Assurez-vous que la liste des services restreints inclut tous les services utilisés par Managed Airflow, en plus des autres services que vous souhaitez limiter :
- API Cloud Composer (composer.googleapis.com)
- API Artifact Registry (artifactregistry.googleapis.com)
- API Compute Engine (compute.googleapis.com)
- API Kubernetes Engine (container.googleapis.com)
- API Container File System (containerfilesystem.googleapis.com)
- API Cloud DNS (dns.googleapis.com)
- API Service Account Credentials (iamcredentials.googleapis.com)
- API Cloud Logging (logging.googleapis.com)
- API Cloud Monitoring (monitoring.googleapis.com)
- API Cloud Pub/Sub (pubsub.googleapis.com)
- API Cloud SQL Admin (sqladmin.googleapis.com)
API Cloud Storage (storage.googleapis.com)
Pour tous les autres services utilisés par vos DAG :
- Ajoutez le service aux services restreints.
- Ajoutez le service aux services accessibles au VPC.
Créez un environnement Managed Airflow :
- Utilisez Google Cloud CLI pour créer votre environnement.
- Activez l'adresse IP privée avec l'argument
--enable-private-environment. - Spécifiez les paramètres d'accès pour le serveur Web avec
--web-server-allow-all,--web-server-allow-ip, ou--web-server-deny-allarguments. Pour en savoir plus sur l'utilisation de ces arguments, consultez Créer des environnements. Pour améliorer la protection, autorisez uniquement l'accès au serveur Web à partir de plages d'adresses IP spécifiques. Interdisez l'installation de packages à partir de dépôts Internet publics avec l'
--enable-private-builds-onlyargument.Exemple :
gcloud composer environments create example-environment \ --location us-central1 \ --enable-private-environment \ --web-server-allow-all \ --enable-private-builds-only
Par défaut, l'accès à l'interface utilisateur et à l'API Airflow n'est autorisé que depuis le périmètre de sécurité. Si vous souhaitez le rendre disponible en dehors du périmètre de sécurité, configurez des niveaux d'accès ou des règles d'entrée et de sortie.
Ajouter un environnement existant au périmètre
Vous pouvez ajouter le projet contenant votre environnement à un périmètre si vos environnements utilisent une adresse IP privée et que l'installation de packages PyPI à partir de dépôts publics est désactivée.
Pour mettre à jour un environnement Managed Airflow (3e génération) existant vers cette configuration :
- Assurez-vous d'avoir déjà créé ou configuré le périmètre comme décrit dans la section précédente.
- Utilisez Google Cloud CLI pour mettre à jour votre environnement.
- Activez l'adresse IP privée avec l'argument
--enable-private-environment. - Interdisez l'installation de packages à partir de dépôts Internet publics avec l'argument
--enable-private-builds-only. - Si nécessaire, configurez l'accès au serveur Web Airflow. Pour améliorer la protection, autorisez uniquement l'accès au serveur Web à partir de plages d'adresses IP spécifiques.
Exemple :
gcloud composer environments update example-environment \
--location us-central1 \
--enable-private-environment \
--enable-private-builds-only
Installer des packages PyPI dans VPC Service Controls
Dans la configuration par défaut de VPC Service Controls, Managed Airflow n'accepte que l'installation de packages PyPI à partir de dépôts privés accessibles depuis l'espace d'adresses IP internes du réseau VPC.
Par défaut, tous les environnements Managed Airflow situés dans un périmètre VPC Service Controls n'ont pas accès aux dépôts PyPI publics.
Installer à partir d'un dépôt privé
La configuration recommandée consiste à configurer un dépôt PyPI privé :
Remplissez-le avec les packages approuvés utilisés par votre organisation, puis configurez Managed Airflow pour installer des dépendances Python à partir d'un dépôt privé.
Installer à partir d'un dépôt public
Pour installer des packages PyPI à partir d'un dépôt externe :
- Créez un dépôt distant Artifact Registry.
- Accordez à ce dépôt l'accès aux sources en amont.
- Configurez Airflow pour installer des packages à partir d'un dépôt Artifact Registry.
Journaux VPC Service Controls
Lorsque vous résolvez des problèmes de création d'environnement, vous pouvez analyser les journaux d'audit générés par VPC Service Controls.
En plus des autres messages de journal, vous pouvez consulter les journaux pour obtenir des informations sur
cloud-airflow-prod@system.gserviceaccount.com et
service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com
les comptes de service qui configurent les composants de vos environnements.
Le service Managed Airflow utilise le
cloud-airflow-prod@system.gserviceaccount.com compte de service pour gérer
les composants du projet locataire de vos environnements.
Le
service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com
compte de service, également appelé compte de service de l'agent de service Composer, gère les
composants d'environnement dans les
projets de service et hôtes.