Bonnes pratiques concernant la sécurité

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

La sécurisation de votre environnement Cloud Composer est essentielle pour protéger les données sensibles et empêcher les accès non autorisés. Cette page présente les bonnes pratiques clés, y compris des recommandations pour la sécurité du réseau, la gestion de l'identité et des accès, 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 la section Présentation de la sécurité.

Gérer la configuration de l'environnement et les DAG à l'aide du contrôle des versions

Exemple de pipeline CI/CD Airflow
Figure 1. Exemple de pipeline CI/CD Airflow (cliquez pour agrandir)
  • 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 manière, 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 leur attribuant des rôles avec moins d'autorisations.

  • 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 manière, 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 modifiant le contenu du bucket de l'environnement.

  • Dans Identity and Access Management, désactivez l'accès direct aux DAG et à la configuration de l'environnement pour les utilisateurs ordinaires, comme indiqué dans la section Identity and Access Management (Gestion de l'identité et des accès).

Sécurité du réseau

Identity and Access Management

  • Isolez les autorisations. Créez des comptes de service d'environnement et utilisez des comptes de service différents pour différents environnements. N'attribuez à ces comptes de service que les autorisations strictement nécessaires pour exploiter ces environnements et effectuer les opérations définies dans les DAG Airflow qu'ils exécutent.

  • Évitez d'utiliser des comptes de service dotés d'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 de DAG utilisant des autorisations plus étendues que prévu.

  • Ne vous appuyez pas sur les 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 les autres services Google de votre projet.

  • Assurez-vous de connaître les considérations de sécurité pour les comptes de service de l'environnement et de comprendre comment ce compte interagit avec les autorisations et les rôles que vous accordez à des utilisateurs individuels dans votre projet.

  • Respectez le principe du moindre privilège. Accordez uniquement les autorisations minimales nécessaires aux utilisateurs. Par exemple, attribuez des rôles IAM afin que seuls les administrateurs puissent accéder au bucket 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'interface utilisateur du DAG et à l'interface utilisateur d'Airflow.

  • Appliquez le contrôle des accès de l'interface utilisateur d'Airflow, qui permet de réduire la visibilité dans l'interface utilisateur d'Airflow et dans l'interface utilisateur du 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.

  • Révisez-les régulièrement. Effectuez régulièrement des audits des autorisations et des rôles IAM pour identifier et supprimer les privilèges excessifs ou inutilisés.

  • Veillez à ne pas transmettre ni stocker de données sensibles:

    • Faites preuve de prudence lorsque vous transmettez des données sensibles telles que des informations permettant d'identifier personnellement l'utilisateur ou des mots de passe. Le cas échéant, utilisez Secret Manager pour stocker en toute sécurité des connexions et des secrets Airflow, des clés API, des mots de passe et des certificats. Ne stockez pas ces informations dans vos DAG ni dans vos variables d'environnement.

    • Accordez des autorisations IAM au bucket de l'environnement uniquement aux utilisateurs de confiance. Si possible, utilisez des autorisations par objet. Les considérations de sécurité pour les comptes de service de l'environnement décrivent 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 connaître les données stockées dans les instantanés et n'accordez les autorisations de créer des instantanés d'environnement et d'accéder au bucket où 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).

Étape suivante