Configurez VPC Service Controls

Cloud Composer 1 | Cloud Composer 2

VPC Service Controls permet aux organisations de définir un périmètre autour des ressources Google Cloud afin de limiter les risques d'exfiltration des données.

Les environnements Cloud Composer peuvent être déployés dans un périmètre de service. En configurant votre environnement avec VPC Service Controls, vous pouvez assurer la confidentialité des données sensibles tout en tirant parti des fonctionnalités d'orchestration de workflows entièrement gérées de Cloud Composer.

La compatibilité de VPC Service Controls pour Cloud Composer implique les éléments suivants :

  • Cloud Composer 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 Cloud Composer sont configurées pour être compatibles avec l'architecture de VPC Service Controls et suivent leurs règles.

Le déploiement d'environnements Cloud Composer 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 que des utilisateurs malveillants copient des données sur des ressources Google Cloud non autorisées ou que des pirates externes accèdent à des ressources Google Cloud depuis Internet

Créer un périmètre de service

Consultez la page Créer un périmètre de service pour savoir comment créer et configurer des périmètres de service. Veillez à sélectionner Cloud Composer comme l'un des services sécurisés au sein du périmètre.

Créer des environnements dans un périmètre

Le déploiement de Cloud Composer dans un périmètre nécessite des étapes supplémentaires. Lors de la création d'un environnement Cloud Composer :

  1. Activez l'API Access Context Manager et l'API Cloud Composer pour votre projet. Consultez la section Activer des API pour référence.

  2. Ajoutez les services suivants au périmètre pour assurer une protection maximale de votre environnement: Cloud SQL, Pub/Sub, Monitoring, Cloud Storage, GKE, Container Registry, Artifact Registry et Compute Engine.

  3. Utilisez la version composer-1.10.4 ou ultérieure.

  4. Créez un environnement Cloud Composer avec l'adresse IP privée activée. Notez que ce paramètre doit être configuré lors de la création de l'environnement.

Configurer des environnements existants avec VPC Service Controls

Vous pouvez ajouter le projet contenant votre environnement au périmètre si:

Installer des packages PyPI

Dans la configuration par défaut de VPC Service Controls, Cloud Composer n'accepte que l'installation de packages PyPI à partir de dépôts privés accessibles depuis l'espace d'adresses IP privées du réseau VPC. La configuration recommandée pour ce processus consiste à configurer un dépôt PyPI privé, à le remplir avec les packages approuvés utilisés par votre organisation, puis à configurer Cloud Composer pour :installer des dépendances Python à partir d'un dépôt privé (Installation de Python groupée).

Il est également possible d'installer des packages PyPI à partir de dépôts situés en dehors de l'espace d'adresses IP privées. Procédez comme suit :

  1. Configurez Cloud NAT pour permettre à Cloud Composer s'exécutant dans l'espace d'adresses IP privées de se connecter à des dépôts PyPI externes.
  2. Configurez vos règles de pare-feu pour autoriser les connexions sortantes du cluster Composer vers le dépôt.

Lorsque vous utilisez cette configuration, assurez-vous de bien comprendre les risques liés à l'utilisation de dépôts externes. Assurez-vous de faire confiance au contenu et à l'intégrité des dépôts externes, car ces connexions pourraient potentiellement être utilisées comme vecteur d'exfiltration.

Checklist de configuration du réseau

Votre réseau VPC doit être correctement configuré pour créer des environnements Cloud Composer dans un périmètre. Veillez à respecter les exigences de configuration répertoriées ci-dessous.

Règles de pare-feu

Accédez à la section Réseau VPC -> Pare-feu de Cloud Console et vérifiez que les règles de pare-feu suivantes sont configurées.

  • Configurez le service DNS dans votre VPC comme décrit dans la section Compatibilité de VPC Service Controls avec Cloud DNS. Vous pouvez également autoriser la sortie de la plage d'adresses IP des nœuds GKE vers n'importe quel port sur le port 53.

  • Autoriser la sortie de la plage d'adresses IP du nœud GKE vers la plage d'adresses IP du nœud GKE, tous les ports.

  • Autoriser la sortie de la plage d'adresses IP des nœuds GKE vers la plage d'adresses IP des pods GKE, tous les ports.

  • Autoriser la sortie de la plage d'adresses IP du nœud GKE vers le maître GKE, tous les ports.

  • Autorisez la sortie de la plage d'adresses IP du nœud GKE vers 199.36.153.4/30, port 443 (restricted.googleapis.com).

  • Autorise l'entrée des vérifications d'état de GCP 130.211.0.0/22,35.191.0.0/16 vers la plage d'adresses IP des nœuds. Ports TCP 80 et 443.

  • Autorisez la sortie de la plage d'adresses IP du nœud vers les vérifications de l'état de GCP. Ports TCP 80 et 443.

  • Autoriser la sortie de la plage d'adresses IP du nœud GKE vers la plage d'adresses IP du réseau Cloud Composer, ports TCP 3306 et 3307.

Consultez la page Utiliser des règles de pare-feu pour savoir comment vérifier, ajouter et mettre à jour des règles pour votre réseau VPC.

Connectivité au point de terminaison restricted.googleapis.com

Configurez la connectivité au point de terminaison restricted.googleapis.com:

  • Vérifiez l'existence d'un mappage DNS entre *.googleapis.com et restricted.googleapis.com.

  • Le DNS *.gcr.io doit correspondre à 199.36.153.4/30 de la même manière que le point de terminaison final googleapis.com. Pour ce faire, créez une zone sous la forme: CNAME *.gcr.io -> gcr.io. A gcr.io. -> 199.36.153.4, 199.36.153.5, 199.36.153.6, 199.36.153.7.

  • Le DNS *.pkg.dev doit correspondre à 199.36.153.4/30 de la même manière que le point de terminaison final googleapis.com. Pour ce faire, créez une zone sous la forme: CNAME *.pkg.dev -> pkg.dev. A pkg.dev. -> 199.36.153.4, 199.36.153.5, 199.36.153.6, 199.36.153.7.

  • Le DNS *.composer.cloud.google.com doit correspondre à 199.36.153.4/30 de la même manière que le point de terminaison final googleapis.com. Pour ce faire, créez une zone sous la forme: CNAME *.composer.cloud.google.com -> composer.cloud.google.com. A composer.cloud.google.com. -> 199.36.153.4, 199.36.153.5, 199.36.153.6, 199.36.153.7.

Pour en savoir plus, consultez la page Configurer une connectivité privée aux API et services Google.

Limites

  • Toutes les contraintes réseau liées à VPC Service Controls s'appliquent également à vos environnements Cloud Composer. Consultez la documentation de VPC Service Controls pour plus de détails.
  • Lorsque Cloud Composer s'exécute à l'intérieur d'un périmètre, l'accès aux dépôts PyPI publics est restreint. Consultez la page Installer des dépendances Python pour découvrir comment installer les modules PyPI en mode d'adresse IP privée.