Objectifs du module :

  • Comprendre les spécificités de la sécurité cloud appliquée aux projets Big Data.
  • Apprendre à sécuriser les services managés de stockage et de traitement de données.
  • Savoir mettre en place des politiques de sécurité adaptées aux principaux fournisseurs de cloud (AWS, GCP, Azure).

1. Spécificités de la sécurité dans le cloud pour les Data Engineers

a. Défis de la sécurité dans le cloud

Responsabilité partagée :
Dans un environnement cloud, la sécurité repose sur un modèle de responsabilité partagée. Le fournisseur de cloud (AWS, GCP, Azure) est responsable de la sécurité de l'infrastructure sous-jacente, tandis que les clients sont responsables de la sécurisation des applications, des données et des accès.

Architecture distribuée et multi-régions :
Les services cloud sont souvent déployés dans plusieurs régions géographiques. Cela pose des défis pour maintenir une sécurité cohérente et garantir la conformité avec les réglementations locales (GDPR, CCPA).

Elasticité et scalabilité :
Les environnements cloud peuvent s'adapter dynamiquement à la demande, ce qui complique la gestion de la sécurité, notamment en ce qui concerne l’évolutivité des systèmes de surveillance et la gestion des identités à grande échelle.

b. Types de menaces spécifiques au cloud

Accès non autorisé aux ressources :
Des erreurs de configuration ou des politiques de sécurité mal définies peuvent exposer des données sensibles à des personnes non autorisées. Par exemple, des buckets S3 mal configurés peuvent être accessibles publiquement.

Fuites de données :
L’utilisation de services managés dans le cloud peut entraîner des fuites de données si le chiffrement n’est pas correctement configuré, ou si les clés de chiffrement sont mal gérées.

Attaques par escalade de privilèges :
Les erreurs de configuration des rôles et des permissions peuvent permettre à un attaquant d’obtenir des privilèges élevés, compromettant ainsi les systèmes de données.

c. Stratégies de sécurisation des environnements cloud

Configuration de l'IAM (Identity and Access Management) :
La gestion stricte des identités et des accès est cruciale pour protéger les données dans le cloud. Cela inclut l'utilisation de l'authentification multi-facteurs (MFA) et la mise en place du principe du moindre privilège.

Surveillance et journalisation :
Utilisation d'outils de surveillance comme AWS CloudTrail, Google Cloud Logging, ou Azure Monitor pour suivre les accès et détecter les comportements suspects.

2. Sécurisation des services managés de données (Amazon S3, Google BigQuery)

a. Services managés de données dans le cloud

Les Data Engineers utilisent de plus en plus des services managés pour le stockage et le traitement de grandes quantités de données. Parmi ces services, on retrouve :

  • Amazon S3 pour le stockage objet.
  • Google BigQuery pour l’analyse Big Data.
  • Azure Blob Storage pour le stockage de fichiers volumineux.

b. Sécurisation des services de stockage managés

Amazon S3 :

  • Cryptage des données : Utiliser SSE-S3 (Server-Side Encryption) pour chiffrer les données stockées avec des clés gérées par AWS, ou SSE-C pour gérer vos propres clés de chiffrement.
  • Contrôles d'accès : Mettre en place des politiques de bucket et des ACL (Access Control Lists) pour limiter l'accès aux données.
  • Surveillance : Activer CloudTrail pour surveiller toutes les actions sur les buckets S3 et utiliser Amazon Macie pour détecter des données sensibles exposées.

En savoir plus : Gestion de la sécurité et des accès dans Amazon S3

Google BigQuery :

  • Contrôle des accès : Utiliser IAM pour contrôler l'accès aux datasets et tables, en attribuant des rôles spécifiques aux utilisateurs.
  • Cryptage des données : Les données dans BigQuery sont automatiquement chiffrées au repos et en transit. Il est possible d’utiliser des clés gérées par Google ou des clés KMS (Key Management Service) personnalisées.
  • Audit : Activer les journaux d’audit dans Google Cloud Logging pour suivre les requêtes exécutées et les accès aux données.

En savoir plus : Présentation de la gouvernance des données dans BigQuery

c. Sécurisation des services de traitement managés

Google BigQuery :

  • Sécuriser les requêtes et les résultats via des rôles IAM bien définis pour limiter l'accès à certaines parties des résultats d'analyse.
  • Chiffrer les résultats d’analyse lorsque les données sont stockées ou transférées vers des destinations externes.

AWS Glue (ETL) :

  • Utiliser des rôles IAM pour contrôler l’accès aux tables et bases de données manipulées par Glue.
  • Activer le chiffrement des logs générés par Glue lors des tâches ETL.

En savoir plus : Sécurité dans AWS Glue

Azure Synapse Analytics :

  • Appliquer des rôles RBAC (Role-Based Access Control) pour gérer les permissions sur les clusters et entrepôts de données.
  • Utiliser Azure Key Vault pour protéger les clés de chiffrement des données traitées.

En savoir plus : Livre blanc sur la sécurité d'Azure Synapse Analytics : Introduction

3. Mise en place de politiques de sécurité pour AWS, GCP, et Azure

a. Sécurisation sur AWS

IAM et gestion des rôles :

  • Utiliser IAM pour créer des rôles avec des permissions minimales et les attribuer aux utilisateurs, applications et services.
  • Activer l'authentification MFA pour sécuriser l'accès aux consoles de gestion et aux ressources sensibles.

Chiffrement et protection des données :

  • Activer le chiffrement KMS (Key Management Service) pour les services de stockage et les bases de données.
  • Mettre en œuvre des politiques de sécurité S3 pour restreindre l'accès aux buckets et utiliser des VPC Endpoints pour isoler les transferts de données.

Surveillance et alertes :

  • Configurer CloudWatch pour surveiller les performances et la sécurité des services utilisés.
  • Utiliser AWS GuardDuty pour identifier les comportements malveillants ou suspects.

b. Sécurisation sur GCP

IAM et gestion des accès :

  • Configurer des rôles IAM précis pour chaque service et utilisateur afin de respecter le principe du moindre privilège.
  • Utiliser Service Accounts pour les interactions entre les services managés.

Surveillance et journalisation :

  • Activer Cloud Logging pour capturer toutes les actions et événements dans GCP.
  • Utiliser Cloud Armor pour protéger les applications contre les attaques DDoS et sécuriser les API.

Chiffrement des données :

  • Mettre en place des clés KMS personnalisées pour chiffrer les données au repos et en transit.
  • Utiliser VPC Service Controls pour limiter l’accès aux données à partir de réseaux internes sécurisés.

c. Sécurisation sur Azure

RBAC et politique de gestion des accès :

  • Configurer des rôles RBAC pour chaque utilisateur et service Azure, avec des permissions spécifiques.
  • Utiliser Azure Active Directory pour centraliser la gestion des identités et activer MFA pour toutes les ressources critiques.

Chiffrement et gestion des clés :

  • Utiliser Azure Key Vault pour protéger les clés de chiffrement utilisées pour les services de stockage et bases de données.
  • Activer le chiffrement SSL/TLS pour toutes les communications réseau, en particulier lors des transferts de données.

Surveillance et réponse aux incidents :

  • Utiliser Azure Monitor pour surveiller les activités et les performances des services managés.
  • Activer Azure Security Center pour détecter les vulnérabilités et fournir des recommandations en temps réel sur la sécurité.

Conclusion du module :

La sécurisation des environnements cloud est un défi central pour les Data Engineers, en particulier lorsque les données sont stockées et traitées sur des services managés. Ce module fournit les outils et les bonnes pratiques pour mettre en place des politiques de sécurité robustes sur les principales plateformes cloud (AWS, GCP, Azure). En intégrant des contrôles de sécurité adéquats pour la gestion des accès, le chiffrement des données, et la surveillance des activités, les Data Engineers peuvent mieux protéger leurs environnements Big Data contre les menaces et les vulnérabilités.

Formateur

Bertrand LECLERCQ

Consultant DevSecOps & Data Engineer


Avec 25 ans d'expérience dans le développement logiciel et une certification en Data Engineering de l'École des Mines Paris - PSL, je suis passionné par la cybersécurité, le big data et le DevOps. J'aime partager mes connaissances et aider la communauté à renforcer sa posture de sécurité.

J'ai créé une base de vulnérabilités librement accessible et je me forme en continu sur des plateformes comme TryHackMe. Mon objectif ? Démocratiser la cybersécurité et permettre à chacun de mieux comprendre les enjeux.

J'ai une solide expertise dans la conception et le déploiement de solutions sécurisées, ainsi qu'une expérience éprouvée dans la gestion de projets complexes. Maîtrisant un large éventail de technologies (Python, Go, Java, Docker, Kubernetes, etc.), je suis convaincu que la sécurité doit être intégrée dès le début du cycle de développement.

Le projet NoHackMe vous permet d'effectuer une veille Cyber, vous permet de découvrir le monde de la Cybersécurité ainsi qu'une section formation Cyber

Soutenez No Hack Me sur Tipeee