Amazon EMR
Management Guide

Options de chiffrement

Avec la version 4.8.0 d'Amazon EMR, vous pouvez utiliser une configuration de sécurité pour spécifier les paramètres de chiffrement des données au repos, des données en transit ou des deux. Lorsque vous activez le chiffrement des données au repos, vous pouvez choisir de chiffrer les données EMRFS dans Amazon S3, les données dans les disques locaux, ou les deux. Chaque configuration de sécurité créée est stockée dans Amazon EMR plutôt que dans la configuration du cluster. Dès lors, vous pouvez facilement réutiliser une configuration pour spécifier les paramètres de chiffrement de données chaque fois qu'un cluster est créé. Pour plus d'informations, consultez Création d'une configuration de sécurité.

Le schéma suivant illustre les différentes options de chiffrement des données disponibles avec les configurations de sécurité.

Les options de chiffrement suivantes sont également disponibles et ne sont pas configurées à l'aide d'une configuration de sécurité :

Note

À partir de Amazon EMR version 5.24.0, vous pouvez utiliser une option de configuration de sécurité pour chiffrer le périphérique racine EBS et les volumes de stockage lorsque vous spécifiez AWS KMS comme fournisseur de clé. Pour plus d'informations, consultez Chiffrement de disque local.

Le chiffrement des données nécessite des clés et des certificats. Une configuration de sécurité vous donne la possibilité de choisir parmi plusieurs options, y compris les clés gérées par AWS Key Management Service, les clés gérées par Amazon S3 et les clés et les certificats provenant de fournisseurs personnalisés que vous fournissez. Lorsque vous utilisez AWS KMS comme fournisseur de clés, des frais vous sont facturés pour le stockage et l'utilisation des clés de chiffrement. Pour plus d'informations, consultez Tarification AWS KMS.

Avant de spécifier les options de chiffrement, choisissez les systèmes de gestion de clés et de certificats que vous voulez utiliser et commencez par créer les clés et les certificats ou les fournisseurs personnalisés que vous définissez dans le cadre des paramètres de chiffrement.

Chiffrement au repos pour les données EMRFS dans Amazon S3

Le chiffrement Amazon S3 fonctionne avec les objets du système de fichiers EMR (EMRFS) lus et écris sur Amazon S3. Vous spécifiez le chiffrement côté serveur (SSE) ou côté client (CSE) Amazon S3 comme mode de chiffrement par défaut lorsque vous activez le chiffrement au repos. Le cas échéant, vous pouvez spécifier différentes méthodes de chiffrement pour les compartiments individuels à l'aide de remplacements de chiffrement par compartiment. Que le chiffrement Amazon S3 soit activé ou non, le protocole TLS (Transport Layer Security) chiffre les objets EMRFS en transit entre les nœuds de cluster EMR et Amazon S3. Pour des informations approfondies sur le chiffrement Amazon S3, consultez Protection des données à l'aide d'un chiffrement dans le Amazon Simple Storage Service Manuel du développeur.

Chiffrement Amazon S3 côté serveur

Lorsque vous configurez le chiffrement Amazon S3 côté serveur, Amazon S3 chiffre les données au niveau de l'objet lors de l'écriture des données sur le disque et les déchiffre lorsque quelqu'un y accède. Pour plus d'informations sur le chiffrement SSE, consultez Protection des données à l'aide d'un chiffrement côté serveur dans le Amazon Simple Storage Service Manuel du développeur.

Vous pouvez choisir entre deux systèmes de gestion des clés différents quand vous spécifiez SSE dans Amazon EMR :

  • SSE-S3 – Amazon S3 gère les clés pour vous.

  • SSE-KMS – Vous utilisez une clé principale du client (CMK) AWS KMS configurée avec des stratégies adaptées à Amazon EMR. Pour plus d'informations sur les exigences relatives aux clés pour Amazon EMR, consultez Utilisation des clés principales client (CMK) AWS KMS pour le chiffrement. Lorsque vous utilisez AWS KMS, des frais s'appliquent pour le stockage et l'utilisation des clés de chiffrement. Pour plus d'informations, consultez Tarification AWS KMS.

Le chiffrement SSE avec des clés fournies par le client (SSE-C) n'est pas disponible avec Amazon EMR.

Chiffrement Amazon S3 côté client

Avec le chiffrement Amazon S3 côté client, le chiffrement et le déchiffrement Amazon S3 se produisent dans le client EMRFS, sur votre cluster. Les objets sont chiffrés avant d'être chargés dans Amazon S3 et déchiffrés après leur téléchargement. Le fournisseur que vous spécifiez fournit la clé de chiffrement que le client utilise. Le client peut utiliser les clés fournies par AWS KMS (CSE-KMS) ou une classe Java personnalisée qui fournit la clé principale côté client (CSE-C). Les détails de chiffrement sont légèrement différents entre CSE-KMS et CSE-C, selon le fournisseur spécifié et les métadonnées de l'objet déchiffré ou chiffré. Pour plus d'informations sur ces différences, consultez Protection des données via le chiffrement côté client dans le Amazon Simple Storage Service Manuel du développeur.

Note

Le chiffrement Amazon S3 CSE garantit uniquement le chiffrement des données EMRFS échangées avec Amazon S3. Les données des volumes d'instance du cluster ne sont pas toutes chiffrées. En outre, comme Hue n'utilise pas EMRFS, les objets écrits sur Amazon S3 à l'aide de l'explorateur de fichiers S3 Hue ne sont pas chiffrés.

Chiffrement de disque local

Les mécanismes suivants fonctionnent ensemble pour chiffrer les disques locaux lorsque vous activez le chiffrement de disque local à l'aide d'une configuration de sécurité Amazon EMR.

Chiffrement HDFS open source

HDFS échange des données entre les instances de cluster pendant le traitement distribué. Il lit et écrit également des données sur les volumes de stockage d'instance et les volumes EBS attachés aux instances. Les options de chiffrement open source Hadoop suivantes sont activées lorsque vous mettez en œuvre le chiffrement de disque local :

Note

Vous pouvez activer un chiffrement Apache Hadoop supplémentaire en mettant en ouvre le chiffrement en transit (voir Chiffrement en transit). Ces paramètres de chiffrement n'activent pas le chiffrement transparent HDFS, que vous pouvez configurer manuellement. Pour plus d'informations, consultez Chiffrement transparent dans HDFS sur Amazon EMR dans le Amazon EMR Guide de version.

Chiffrement du stockage d'instance

Pour les types d'instance EC2 qui utilisent des disques SSD NVMe comme volume de stockage d'instance, le chiffrement NVMe est utilisé quels que soient les paramètres de chiffrement Amazon EMR. Pour plus d'informations, consultez Volumes SSD NVMe dans le Amazon EC2 Guide de l'utilisateur pour les instances Linux. Pour les autres volumes de stockage d'instance, Amazon EMR utilise LUKS pour chiffrer le volume de stockage d'instance lorsque le chiffrement de disque local est activé, que les volumes EBS soient chiffrés à l'aide du chiffrement EBS ou LUKS.

Chiffrement de volume EBS

Si vous créez un cluster dans une région où le chiffrement Amazon EC2 des volumes EBS est activé par défaut pour votre compte, les volumes EBS sont chiffrés même si le chiffrement de disque local n'est pas activé. Pour plus d'informations, consultez Chiffrement par défaut dans le Amazon EC2 Guide de l'utilisateur pour les instances Linux. Avec le chiffrement de disque local activé dans une configuration de sécurité, les paramètres Amazon EMR ont priorité sur les paramètres de chiffrement Amazon EC2 par défaut pour les instances EC2 du cluster.

Les options suivantes sont disponibles pour chiffrer les volumes EBS à l'aide d'une configuration de sécurité :

  • Chiffrement EBS – À partir de Amazon EMR version 5.24.0, vous pouvez choisir d'activer le chiffrement EBS. L'option de chiffrement EBS chiffre le volume du périphérique racine EBS et les volumes de stockage attachés. L'option de chiffrement EBS est disponible uniquement lorsque vous spécifiez AWS Key Management Service comme fournisseur de clés. Nous vous recommandons d'utiliser le chiffrement EBS.

  • Chiffrement LUKS – Si vous choisissez d'utiliser le chiffrement LUKS pour les volumes Amazon EBS, le chiffrement LUKS s'applique uniquement aux volumes de stockage attachés, pas au volume du périphérique racine. L'utilisation du chiffrement EBS nécessite AWS KMS comme méthode de chiffrement. Pour en savoir plus sur le chiffrement LUKS, consultez la spécification de LUKS sur le disque.

    Pour le fournisseur de clés, vous pouvez configurer une clé CMK AWS KMS avec des stratégies stratégies adaptées à Amazon EMR ou une classe Java personnalisée qui fournit les artefacts de chiffrement. Lorsque vous utilisez AWS KMS, des frais s'appliquent pour le stockage et l'utilisation des clés de chiffrement. Pour plus d'informations, consultez Tarification AWS KMS.

Chiffrement en transit

Plusieurs mécanismes de chiffrement sont activés avec le chiffrement en transit. Il s'agit de fonctionnalités open source et spécifiques à l'application, qui peuvent varier selon la version Amazon EMR. Les fonctionnalités suivantes de chiffrement propres à l'application peuvent être activées à l'aide de configurations de sécurité :

  • Hadoop (pour plus d'informations, consultez Hadoop en mode sécurisé dans la documentation Apache Hadoop) :

  • HBase:

  • Presto:

    • Les communications internes entre les nœuds Presto utilisent SSL/TLS (Amazon EMR version 5.6.0 et ultérieures uniquement).

  • Tez:

  • Spark (pour plus d'informations, consultez Paramètres de sécurité Spark) :

    • La communication RPC interne entre les composants Spark, par exemple, le service de transfert de blocs et le service shuffle externe, est chiffrée à l'aide de l'algorithme AES-256 dans Amazon EMR versions 5.9.0 et ultérieures. Dans les versions antérieures, cette communication est chiffrée avec SASL et DIGEST-MD5 (algorithme de chiffrement).

    • Les communications HTTP avec les interfaces utilisateur comme le serveur d'historique Spark et les serveurs de fichiers HTTPS sont chiffrées à l'aide de la configuration SSL de Spark. Pour plus d'informations, consultez Configuration SSL dans la documentation Spark.

Vous spécifiez les objets de chiffrement utilisés pour le chiffrement en transit de l'une des deux façons suivantes : en fournissant un fichier compressé contenant les certificats que vous chargez dans Amazon S3 ou en renvoyant vers une classe Java personnalisée qui fournit les objets de chiffrement. Pour plus d'informations, consultez Fournir des certificats de chiffrement des données en transit avec le chiffrement Amazon EMR.