Surveillez les EMR clusters Amazon pour le chiffrement en transit lors du lancement - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Surveillez les EMR clusters Amazon pour le chiffrement en transit lors du lancement

Créée par Susanne Kangnoh () AWS

Environnement : Production

Technologies : analyse ; mégadonnées CloudNative ; sécurité, identité, conformité

Charge de travail : Open source

AWSservices : Amazon EMR ; Amazon SNS AWS CloudTrail ; Amazon CloudWatch

Récapitulatif

Ce modèle fournit un contrôle de sécurité qui surveille les EMR clusters Amazon au lancement et envoie une alerte si le chiffrement en transit n'est pas activé. 

Amazon EMR est un service Web qui vous permet d'exécuter facilement des frameworks de mégadonnées, tels qu'Apache Hadoop, pour traiter et analyser des données. Amazon vous EMR permet de traiter de grandes quantités de données de manière rentable en exécutant le mappage et en réduisant les étapes en parallèle.

Le chiffrement des données empêche les utilisateurs non autorisés d'accéder ou de lire des données au repos ou des données en transit. Les données au repos font référence aux données stockées sur des supports tels qu'un système de fichiers local sur chaque nœud, le système de fichiers distribué Hadoop (HDFS) ou le système de EMR fichiers (EMRFS) via Amazon Simple Storage Service (Amazon S3). Les données en transit font référence aux données qui circulent sur le réseau et qui circulent entre deux tâches. Le chiffrement en transit prend en charge les fonctionnalités de chiffrement open source pour Apache Spark, ApacheTEZ, Apache Hadoop, Apache HBase et Presto. Vous activez le chiffrement en créant une configuration de sécurité à partir de l'interface de ligne de AWS commande (AWSCLI), de la console ou AWS SDKs en spécifiant les paramètres de chiffrement des données. Vous pouvez fournir les artefacts de chiffrement pour le chiffrement en transit de deux manières :

  • En téléchargeant un fichier compressé de certificats sur Amazon S3.

  • En faisant référence à une classe Java personnalisée qui fournit des artefacts de chiffrement.

Le contrôle de sécurité inclus dans ce modèle surveille les API appels et génère un événement Amazon CloudWatch Events sur l'RunJobFlowaction. L'événement appelle une fonction AWS Lambda qui exécute un script Python. La fonction obtient l'ID du EMR cluster à partir de l'JSONentrée de l'événement et effectue les vérifications suivantes pour déterminer s'il existe une violation de sécurité :

  • Vérifie si le EMR cluster possède une configuration de sécurité EMR spécifique à Amazon.

  • Si le cluster possède une configuration de sécurité, vérifie si le chiffrement en transit est activé.

  • Si le cluster n'a pas de configuration de sécurité, envoie une alerte à l'adresse e-mail que vous fournissez, en utilisant Amazon Simple Notification Service (AmazonSNS). La notification indique le nom du EMR cluster, les détails de la violation, les informations relatives à la AWS région et au compte, ainsi que le AWS Lambda (ARNAmazon Resource Name) d'où provient la notification.

Conditions préalables et limitations

Prérequis

  • Un compte AWS actif.

  • Un compartiment S3 pour télécharger le code Lambda fourni avec ce modèle.

  • Adresse e-mail à laquelle vous souhaitez recevoir des notifications de violation.

  • Amazon EMR Logging activé, pour accéder à tous les API journaux.

Limites

  • Ce contrôle de détection est régional et doit être déployé dans chaque AWS région que vous souhaitez surveiller.

Versions du produit

  • Amazon EMR version 4.8.0 ou ultérieure.

Architecture

Architecture du flux de travail

Architecture qui surveille les API appels et génère un événement sur l' RunJobFlow action.

Automatisation et mise à l'échelle

  • Si vous utilisez AWS Organizations, vous pouvez utiliser AWSCloudformation StackSets pour déployer le modèle dans plusieurs comptes que vous souhaitez surveiller.

Outils

AWSservices

  • Amazon EMR — Amazon EMR est une plateforme de clusters gérés qui simplifie l'exécution de frameworks de mégadonnées, tels qu'Apache Hadoop et Apache Spark, AWS pour traiter et analyser de grandes quantités de données. En utilisant ces frameworks et les projets open source associés, vous pouvez traiter les données à des fins d'analyse et de charge de travail de business intelligence. En outre, vous pouvez utiliser Amazon EMR pour transformer et déplacer de grandes quantités de données vers et depuis d'autres magasins de AWS données et bases de données, tels qu'Amazon S3 et Amazon DynamoDB.

  • AWSCloudformation : vous AWS CloudFormation aide à modéliser et à configurer vos AWS ressources, à les approvisionner rapidement et de manière cohérente, et à les gérer tout au long de leur cycle de vie. Vous pouvez utiliser un modèle pour décrire vos ressources et leurs dépendances, puis les lancer et les configurer ensemble sous forme de pile, au lieu de gérer les ressources individuellement. Vous pouvez gérer et approvisionner des piles sur plusieurs AWS comptes et AWS régions.

  • AWSCloudwatch Events — Amazon CloudWatch Events fournit un flux quasi en temps réel d'événements système décrivant les modifications apportées aux AWS ressources. CloudWatch Events prend connaissance des changements opérationnels au fur et à mesure qu'ils se produisent et prend les mesures correctives nécessaires, en envoyant des messages pour répondre à l'environnement, en activant des fonctions, en apportant des modifications et en capturant des informations d'état.

  • AWSLambda — AWS Lambda est un service de calcul qui prend en charge l'exécution de code sans provisionner ni gérer de serveurs. Lambda exécute votre code uniquement lorsque cela est nécessaire et passe automatiquement de quelques requêtes par jour à des milliers par seconde. Vous payez uniquement le temps de calcul que vous utilisez. Vous n'exposez aucuns frais quand votre code n'est pas exécuté.

  • AWSSNS— Amazon Simple Notification Service (AmazonSNS) coordonne et gère l'envoi de messages entre les éditeurs et les clients, y compris les serveurs Web et les adresses e-mail. Les abonnés reçoivent tous les messages publiés dans les rubriques auxquelles ils sont abonnés, et tous les abonnés à une rubrique reçoivent les mêmes messages.

Code

Ce modèle inclut une pièce jointe contenant deux fichiers :

  • EMRInTransitEncryption.zipest un fichier compressé qui inclut le contrôle de sécurité (code Lambda).

  • EMRInTransitEncryption.ymlest un CloudFormation modèle qui déploie le contrôle de sécurité.

Consultez la section Epics pour plus d'informations sur l'utilisation de ces fichiers.

Épopées

TâcheDescriptionCompétences requises

Téléchargez le code dans un compartiment S3.

Créez un nouveau compartiment S3 ou utilisez un compartiment S3 existant pour télécharger le EMRInTransitEncryption.zip fichier joint (code Lambda). Ce compartiment doit se trouver dans la même AWS région que le CloudFormation modèle et les ressources que vous souhaitez évaluer.

Architecte du cloud

Déployez le CloudFormation modèle.

Ouvrez la console Cloudformation dans la même AWS région que le compartiment S3 et déployez le EMRInTransitEncryption.yml fichier fourni dans la pièce jointe. Dans l'épopée suivante, fournissez des valeurs pour les paramètres du modèle.

Architecte du cloud,
TâcheDescriptionCompétences requises

Indiquez le nom du compartiment S3.

Entrez le nom du compartiment S3 que vous avez créé ou sélectionné dans le premier épisode épique. Ce compartiment S3 contient le fichier .zip pour le code Lambda et doit se trouver dans la AWS même région que CloudFormation le modèle et la ressource qui seront évalués.

Architecte du cloud

Fournissez la clé S3.

Spécifiez l'emplacement du fichier .zip de code Lambda dans votre compartiment S3, sans barres obliques (par exemple, ou). EMRInTransitEncryption.zip controls/EMRInTransitEncryption.zip

Architecte du cloud

Indiquez une adresse e-mail.

Spécifiez une adresse e-mail active à laquelle vous souhaitez recevoir des notifications de violation.  

Architecte du cloud

Spécifiez un niveau de journalisation.

Spécifiez le niveau de journalisation et la verbosité des journaux Lambda. Infodésigne des messages d'information détaillés sur la progression de l'application et ne doit être utilisé que pour le débogage. Errordésigne les événements d'erreur susceptibles de permettre à l'application de continuer à fonctionner. Warningdésigne les situations potentiellement dangereuses.

Architecte du cloud
TâcheDescriptionCompétences requises

Confirmez l'abonnement par e-mail.

Lorsque le CloudFormation modèle est déployé avec succès, il envoie un e-mail d'abonnement à l'adresse e-mail que vous avez fournie. Pour recevoir des notifications, vous devez confirmer cet abonnement par e-mail.                                                      

Architecte du cloud

Ressources connexes

Pièces jointes

Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip