Objectifs du module :
- Comprendre les meilleures pratiques de sécurité pour les pipelines de données ETL/ELT.
- Apprendre à gérer correctement les droits d'accès et les autorisations au sein des pipelines de données.
- Protéger les points d’entrée critiques comme les API et services web pour prévenir les intrusions et les abus.
1. Sécuriser le traitement des données dans les pipelines ETL/ELT
a. Définition des pipelines ETL/ELT et leur importance
Pipelines ETL (Extract, Transform, Load) : Processus qui consiste à extraire des données de diverses sources, les transformer selon les besoins analytiques, et les charger dans une base de données ou un entrepôt de données.
Pipelines ELT (Extract, Load, Transform) : Variante de l'ETL où les données sont chargées telles quelles dans un système de stockage, puis transformées après coup.
Vidéo de Cookie connecté:
Risques spécifiques aux pipelines de données :
- Manipulation ou exfiltration de données sensibles pendant les processus d’extraction ou de transformation.
- Injections de données malveillantes qui pourraient altérer les analyses.
b. Bonnes pratiques pour la sécurisation des pipelines ETL/ELT
Chiffrement des données en transit et au repos :
Utiliser des protocoles sécurisés comme HTTPS et TLS pour chiffrer les flux de données dans le pipeline ETL/ELT et s’assurer que les données sont également chiffrées lorsqu’elles sont stockées dans des entrepôts ou bases de données.
En savoir plus : Chiffrement des données et données de chiffrement
Contrôle des accès au pipeline :
Limiter l’accès au pipeline de données aux seules personnes et systèmes autorisés. Cela inclut des restrictions sur qui peut initier, visualiser ou modifier les étapes du pipeline.
Audit et surveillance :
Mettre en place des systèmes de journalisation pour enregistrer chaque opération dans le pipeline. Cela permet de détecter rapidement toute activité suspecte ou anormale.
Authentification multi-facteurs (MFA) :
Exiger une authentification multi-facteurs pour les accès aux environnements de gestion des pipelines de données.
En savoir plus : La sécurité des pipelines CI/CD, qu'est-ce que c'est ?
En savoir plus : Securite du pipeline comment securiser votre pipeline contre les acces non autorises et les violations de donnees
2. Bonne gestion des droits d’accès et autorisations dans les pipelines de données (IAM)
a. Gestion des identités et des accès (IAM)
IAM (Identity and Access Management) : Système de gestion qui contrôle qui a accès aux ressources numériques et à quelles actions ils sont autorisés. Dans le contexte des pipelines de données, l’IAM est crucial pour empêcher les accès non autorisés aux données.
Vidéo de Cookie connecté:
b. Rôles et politiques dans les pipelines de données
Contrôle d'accès basé sur les rôles (RBAC) :
Utilisation d'une stratégie RBAC pour limiter l’accès aux différents segments du pipeline. Par exemple, seuls les développeurs de la partie transformation peuvent modifier les étapes de transformation, tandis que les analystes peuvent accéder uniquement aux données transformées.
En savoir plus : Le contrôle d'accès basé sur les rôles, qu'est-ce que c'est ?
Principes de moindre privilège :
Attribuer aux utilisateurs et aux services le minimum de privilèges nécessaires à l'exécution de leur tâche pour limiter l’exposition aux risques.
En savoir plus : Qu'est-ce que le principe du moindre privilège ?
Politiques d’accès basées sur les attributs (ABAC) :
Intégration de règles basées sur des attributs tels que l’heure de la journée, l’emplacement géographique, ou la nature des données, afin de définir plus précisément qui peut accéder à quoi.
En savoir plus : Contrôle d'accès basé sur les attributs (ABAC)
c. Suivi et surveillance des accès
Audit des permissions :
Réaliser des audits réguliers pour s'assurer que les permissions sont toujours conformes aux besoins et ne présentent aucun risque. Désactiver ou supprimer les comptes d’utilisateurs inactifs ou ceux qui n’ont plus besoin d’accès.
Alertes en cas d’accès suspect :
Mettre en place des systèmes de surveillance qui déclenchent des alertes en cas d’accès inhabituel ou d’activités anormales dans le pipeline.
3. Protection des points d’entrée : sécurisation des API et services web
a. Les API comme points d’entrée dans les pipelines de données
API (Application Programming Interface) :
Les API permettent de connecter différentes sources de données et systèmes. Elles sont souvent des points d’entrée critiques et vulnérables aux attaques si elles ne sont pas bien sécurisées.
Vidéo de Cookie connecté:
b. Sécurisation des API
Authentification et autorisation des API :
Utiliser des standards d’authentification robustes comme OAuth 2.0 ou JSON Web Tokens (JWT) pour vérifier l’identité des utilisateurs et des systèmes qui accèdent aux API.
Limiter les méthodes HTTP :
Restreindre les méthodes HTTP autorisées (GET, POST, PUT, DELETE, etc.) en fonction des besoins. Par exemple, si une API n'a besoin que de la méthode GET, bloquer l’accès aux autres méthodes.
Limitation du débit (Rate limiting) :
Implémenter des contrôles de taux pour prévenir les abus des API, comme les attaques par déni de service (DoS). Cela limite le nombre de requêtes que chaque utilisateur peut envoyer sur une période donnée.
En savoir plus : Gestion des authentifications et autorisations
c. Sécurisation des services web
Filtrage des entrées utilisateur :
Utiliser des techniques de validation des entrées pour empêcher l’injection de commandes malveillantes via des formulaires ou des requêtes API (injections SQL, XSS, etc.).
Chiffrement des communications API :
Toutes les communications entre les API et les services web doivent être sécurisées par un chiffrement, généralement via HTTPS, pour éviter les interceptions de données sensibles.
Authentification forte pour les utilisateurs :
Exiger des systèmes robustes d’authentification multi-facteurs pour tous les utilisateurs qui interagissent avec les services web qui communiquent avec les pipelines de données.
Conclusion du module :
Ce module couvre les meilleures pratiques pour sécuriser les pipelines de données dans les environnements Big Data. La protection des données tout au long du pipeline ETL/ELT est essentielle pour garantir la confidentialité, l'intégrité et la disponibilité des données critiques. En outre, une gestion rigoureuse des accès et des autorisations ainsi qu'une sécurisation des points d'entrée comme les API et services web sont indispensables pour prévenir les failles de sécurité.
Les Data Engineers doivent intégrer ces pratiques de sécurité dès la conception des pipelines de données afin d’assurer une protection robuste des données dans des environnements de plus en plus complexes.