Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Il est essentiel de sécuriser votre environnement Cloud Composer pour protéger les données sensibles et empêcher les accès non autorisés. Cette page présente les principales bonnes pratiques, y compris des recommandations concernant la sécurité du réseau, Identity and Access Management, le chiffrement et la gestion de la configuration de l'environnement.
Pour en savoir plus sur les fonctionnalités de sécurité disponibles dans Cloud Composer, consultez Présentation de la sécurité.
Gérer la configuration de l'environnement et les DAG à l'aide du contrôle des versions
Créez votre environnement à l'aide de Terraform. Vous pouvez ainsi stocker la configuration de l'environnement sous forme de code dans un dépôt. De cette façon, les modifications apportées à la configuration de votre environnement peuvent être examinées avant d'être appliquées. Vous pouvez également réduire le nombre d'utilisateurs autorisés à modifier la configuration en attribuant des rôles avec moins d'autorisations.
Dans Identity and Access Management, désactivez l'accès direct aux DAG et à la configuration de l'environnement pour les utilisateurs standards, comme indiqué dans la section Identity and Access Management.
Déployez des DAG dans votre environnement avec un pipeline CI/CD afin que le code DAG soit récupéré à partir d'un dépôt. De cette façon, les DAG sont examinés et approuvés avant que les modifications ne soient fusionnées dans le système de contrôle des versions. Au cours du processus d'examen, les approbateurs s'assurent que les DAG répondent aux critères de sécurité établis au sein de leurs équipes. L'étape d'examen est essentielle pour éviter le déploiement de DAG susceptibles d'effectuer des actions indésirables.
Voici quelques aspects importants liés à la sécurité à prendre en compte lorsque vous examinez des DAG :
Les DAG qui modifient le contenu du bucket de l'environnement ne doivent pas modifier le code d'autres DAG ni accéder à des données sensibles, sauf si cela est prévu.
Les DAG ne doivent pas envoyer de requêtes directes à la base de données Airflow, sauf si cela est prévu. Dans un environnement Cloud Composer, un DAG a accès à toutes les tables de la base de données Airflow. Il est possible de récupérer des informations à partir de n'importe quelle table, de les traiter, puis de les stocker en dehors de la base de données Airflow.
Sécurité du réseau
Utilisez des environnements d'adresse IP privée pour que les composants Airflow qui exécutent le cluster de votre environnement ne se voient pas attribuer d'adresses IP publiques et ne communiquent que via le réseau interne de Google.
Implémentez des règles de pare-feu strictes pour contrôler le trafic vers et depuis le cluster de votre environnement.
Configurez la connectivité aux API et services Google via le domaine
private.googleapis.com
afin que votre environnement accède aux API et services Google via des adresses IP routables uniquement depuis Google Cloud.Examinez les règles de pare-feu générales de votre projet et du réseau VPC dans lequel se trouve votre environnement. Selon la façon dont vous les configurez, les composants Airflow de votre environnement, tels que les nœuds de calcul Airflow qui exécutent vos DAG, peuvent accéder à Internet.
Identity and Access Management
Isoler les autorisations. Créez des comptes de service pour les environnements et utilisez des comptes de service différents pour les différents environnements. N'attribuez à ces comptes de service que les autorisations strictement nécessaires pour faire fonctionner ces environnements et effectuer les opérations définies dans les DAG Airflow qu'ils exécutent.
Évitez d'utiliser des comptes de service avec des autorisations étendues. Bien qu'il soit possible de créer un environnement qui utilise un compte disposant d'autorisations étendues, telles que celles accordées par le rôle de base Éditeur, cela crée un risque que les DAG utilisent des autorisations plus étendues que prévu.
Ne vous fiez pas aux comptes de service par défaut des services Google utilisés par Cloud Composer. Il est souvent impossible de réduire les autorisations disponibles pour ces comptes de service sans affecter également d'autres services Google de votre projet.
Assurez-vous de connaître les considérations de sécurité concernant les comptes de service des environnements et de comprendre comment ce compte interagit avec les autorisations et les rôles que vous accordez aux utilisateurs individuels de votre projet.
Respectez le principe du moindre privilège. N'accordez aux utilisateurs que les autorisations minimales nécessaires. Par exemple, attribuez des rôles IAM afin que seuls les administrateurs puissent accéder au bucket et au cluster de l'environnement, et que l'accès direct soit désactivé pour les utilisateurs standards. Par exemple, le rôle Utilisateur Composer n'autorise l'accès qu'à l'UI DAG et à l'UI Airflow.
Appliquez le contrôle des accès à l'interface utilisateur Airflow, qui permet de réduire la visibilité dans l'interface utilisateur Airflow et l'interface utilisateur DAG en fonction du rôle Airflow de l'utilisateur. Vous pouvez également l'utiliser pour attribuer des autorisations au niveau du DAG pour des DAG individuels.
Examinez-les régulièrement. Auditez régulièrement les autorisations et les rôles IAM pour identifier et supprimer les privilèges excessifs ou inutilisés.
Faites attention à ne pas transmettre ni stocker de données sensibles :
Soyez prudent lorsque vous transmettez ou stockez des données sensibles telles que des informations permettant d'identifier personnellement les utilisateurs ou des mots de passe. Si nécessaire, utilisez Secret Manager pour stocker en toute sécurité les connexions et les secrets Airflow, les clés API, les mots de passe et les certificats. Ne stockez pas ces informations dans vos DAG ni dans vos variables d'environnement.
N'accordez les autorisations IAM pour le bucket de l'environnement qu'aux utilisateurs de confiance. Utilisez des autorisations par objet, si possible. La section Considérations de sécurité pour les comptes de service de l'environnement liste plusieurs façons dont les utilisateurs ayant accès au bucket de l'environnement peuvent effectuer des actions au nom du compte de service de l'environnement.
Assurez-vous de bien comprendre quelles données sont stockées dans les instantanés. N'accordez l'autorisation de créer des instantanés d'environnement et d'accéder au bucket dans lequel ils sont stockés qu'aux utilisateurs de confiance.
Toutes les interfaces externes de Cloud Composer utilisent le chiffrement par défaut. Lorsque vous vous connectez à des produits et services externes, assurez-vous d'utiliser une communication chiffrée (SSL/TLS).
Étapes suivantes
- Présentation de la sécurité
- Contrôle des accès avec IAM
- Contrôle des accès à l'interface utilisateur Airflow
- Présentation du sommet Airflow sur la sécurité des DAG