Comment Amazon EMR utilise AWS KMS - AWS Key Management Service

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.

Comment Amazon EMR utilise AWS KMS

Lorsque vous utilisez un EMR cluster Amazon, vous pouvez configurer le cluster pour chiffrer les données au repos avant de les enregistrer dans un emplacement de stockage permanent. Vous pouvez chiffrer les données au repos sur le système de EMR fichiers (EMRFS), sur les volumes de stockage des nœuds du cluster, ou sur les deux. Pour chiffrer les données au repos, vous pouvez utiliser une AWS KMS key. Les rubriques suivantes expliquent comment un EMR cluster Amazon utilise une KMS clé pour chiffrer des données au repos.

Important

Amazon ne EMR prend en charge que les KMSclés symétriques. Vous ne pouvez pas utiliser de KMSclé asymétrique pour chiffrer des données au repos dans un cluster AmazonEMR. Pour savoir si une KMS clé est symétrique ou asymétrique, consultez. Identifier les différents types de clés

EMRLes clusters Amazon chiffrent également les données en transit, ce qui signifie que le cluster chiffre les données avant de les envoyer via le réseau. Vous ne pouvez pas utiliser de KMS clé pour chiffrer des données en transit. Pour plus d'informations, consultez la section Chiffrement des données en transit dans le guide EMR de gestion Amazon.

Pour plus d'informations sur toutes les options de chiffrement disponibles sur AmazonEMR, consultez la section Options de chiffrement du guide EMR de gestion Amazon.

Chiffrement des données sur le système de EMR fichiers () EMRFS

EMRLes clusters Amazon utilisent deux systèmes de fichiers distribués :

  • Le système de fichiers distribué Hadoop ()HDFS. HDFSle chiffrement n'utilise pas de KMS clé d'entrée AWS KMS.

  • Le système de EMR fichiers (EMRFS). EMRFSest une implémentation HDFS qui permet aux EMR clusters Amazon de stocker des données dans Amazon Simple Storage Service (Amazon S3). EMRFSprend en charge quatre options de chiffrement, dont deux utilisent une KMS clé d'entrée AWS KMS. Pour plus d'informations sur les quatre options de EMRFS chiffrement, consultez la section Options de chiffrement dans le guide EMR de gestion Amazon.

Les deux options de EMRFS chiffrement qui utilisent une KMS clé utilisent les fonctionnalités de chiffrement suivantes proposées par Amazon S3 :

Lorsque vous configurez un EMR cluster Amazon pour chiffrer des données à l'EMRFSaide d'une KMS clé, vous choisissez la KMS clé que vous souhaitez qu'Amazon S3 ou le EMR cluster Amazon utilise. Avec SSE -KMS, vous pouvez choisir la clé Clé gérée par AWS pour Amazon S3 avec l'alias aws/s3, ou une clé symétrique gérée par le client que vous créez. Avec le chiffrement côté client, vous devez choisir une clé symétrique gérée par le client que vous créez. Lorsque vous choisissez une clé gérée par le client, vous devez vous assurer que votre EMR cluster Amazon est autorisé à utiliser la KMS clé. Pour plus d'informations, consultez la section Utilisation à AWS KMS keys des fins de chiffrement dans le guide EMR de gestion Amazon.

Pour le chiffrement côté serveur et côté client, la KMS clé que vous choisissez est la clé racine dans un flux de travail de chiffrement d'enveloppe. Les données sont cryptées à l'aide d'une clé de données unique cryptée sous la KMS clé AWS KMS. Les données chiffrées et une copie chiffrée de leur clé de données sont stockées ensemble en tant qu'objet chiffré unique dans un compartiment S3. Pour plus d'informations sur la façon dont cela fonctionne, consultez les rubriques suivantes.

Processus de chiffrement des données EMRFS avec - SSE KMS

Lorsque vous configurez un EMR cluster Amazon pour utiliser SSE -KMS, le processus de chiffrement fonctionne comme suit :

  1. Le cluster envoie les données à Amazon S3 pour leur stockage dans un compartiment S3.

  2. Amazon S3 envoie une GenerateDataKeydemande à AWS KMS, en spécifiant l'ID de KMS clé que vous avez choisi lorsque vous avez configuré le cluster pour qu'il utilise SSE -KMS. La demande inclut le contexte de chiffrement. Pour plus d'informations, veuillez consulter Contexte de chiffrement.

  3. AWS KMS génère une clé de chiffrement de données unique (clé de données), puis envoie deux copies de cette clé de données à Amazon S3. Une copie n'est pas chiffrée (texte en clair) et l'autre est cryptée sous la KMS clé.

  4. Amazon S3 utilise la clé de données en texte brut pour chiffrer les données reçues à l'étape 1, puis supprime la clé de données en texte brut de la mémoire dès que possible après usage.

  5. Amazon S3 stocke ensemble les données chiffrées et la copie chiffrée de la clé de données en tant qu'objet chiffré unique dans un compartiment S3.

Le processus de déchiffrement fonctionne comme suit :

  1. Le cluster demande un objet de données chiffré depuis un compartiment S3.

  2. Amazon S3 extrait la clé de données chiffrée de l'objet S3, puis envoie la clé de données chiffrée à AWS KMS avec une demande de déchiffrement. La demande comprend un contexte de chiffrement.

  3. AWS KMS déchiffre la clé de données chiffrée à l'aide de la même KMS clé que celle utilisée pour la chiffrer, puis envoie la clé de données déchiffrée (texte brut) à Amazon S3.

  4. Amazon S3 utilise la clé de données en texte brut pour déchiffrer les données chiffrées, puis supprime la clé de données en texte brut de la mémoire dès que possible après usage.

  5. Amazon S3 envoie les données déchiffrées au cluster.

Processus de chiffrement des données EMRFS avec - CSE KMS

Lorsque vous configurez un EMR cluster Amazon pour utiliser CSE -KMS, le processus de chiffrement fonctionne comme suit :

  1. Lorsqu'il est prêt à stocker des données dans Amazon S3, le cluster envoie une GenerateDataKeydemande à AWS KMS, en spécifiant l'ID de KMS clé que vous avez choisi lorsque vous avez configuré le cluster pour qu'il utilise CSE -KMS. La demande inclut le contexte de chiffrement. Pour plus d'informations, veuillez consulter Contexte de chiffrement.

  2. AWS KMS génère une clé de chiffrement de données unique (clé de données), puis envoie deux copies de cette clé de données au cluster. Une copie n'est pas chiffrée (texte en clair) et l'autre est cryptée sous la KMS clé.

  3. Le cluster utilise la clé de données en texte brut pour chiffrer les données, puis supprime la clé de données en texte brut de la mémoire dès que possible après usage.

  4. Le cluster combine les données chiffrées et la copie chiffrée de la clé de données en un objet chiffré unique.

  5. Le cluster envoie l'objet chiffré à Amazon S3 pour stockage.

Le processus de déchiffrement fonctionne comme suit :

  1. Le cluster demande l'objet de données chiffré depuis un compartiment S3.

  2. Amazon S3 envoie l'objet chiffré au cluster.

  3. Le cluster extrait la clé de données chiffrée de l'objet chiffré, puis envoie la clé de données cryptée AWS KMS avec une demande de déchiffrement. La demande inclut le contexte de chiffrement.

  4. AWS KMS déchiffre la clé de données chiffrée à l'aide de la même KMS clé que celle utilisée pour la chiffrer, puis envoie la clé de données déchiffrée (texte brut) au cluster.

  5. Le cluster utilise la clé de données en texte brut pour déchiffrer les données chiffrées, puis supprime la clé de données en texte brut de la mémoire dès que possible après usage.

Chiffrement des données sur les volumes de stockage de nœuds de Cluster

Un EMR cluster Amazon est un ensemble d'instances Amazon Elastic Compute Cloud (AmazonEC2). Chaque instance du cluster est appelée nœud de cluster ou nœud. Chaque nœud peut avoir deux types de volumes de stockage : les volumes de stockage d'instance et les volumes Amazon Elastic Block Store (AmazonEBS). Vous pouvez configurer le cluster pour qu'il utilise Linux Unified Key Setup (LUKS) pour chiffrer les deux types de volumes de stockage sur les nœuds (mais pas le volume de démarrage de chaque nœud). Il s'agit du chiffrement de disque local.

Lorsque vous activez le chiffrement du disque local pour un cluster, vous pouvez choisir de chiffrer la LUKS clé à l'aide d'une KMS clé. AWS KMS Vous devez choisir une clé gérée par le client que vous créez ; vous ne pouvez pas utiliser une Clé gérée par AWS. Si vous choisissez une clé gérée par le client, vous devez vous assurer que votre EMR cluster Amazon est autorisé à utiliser la KMS clé. Pour plus d'informations, consultez la section Utilisation à AWS KMS keys des fins de chiffrement dans le guide EMR de gestion Amazon.

Lorsque vous activez le chiffrement du disque local à l'aide d'une KMS clé, le processus de chiffrement fonctionne comme suit :

  1. Lorsque chaque nœud de cluster est lancé, il envoie une GenerateDataKeydemande à AWS KMS, spécifiant l'ID de KMS clé que vous avez choisi lorsque vous avez activé le chiffrement du disque local pour le cluster.

  2. AWS KMS génère une clé de chiffrement de données unique (clé de données), puis envoie deux copies de cette clé de données au nœud. Une copie n'est pas chiffrée (texte en clair) et l'autre est cryptée sous la KMS clé.

  3. Le nœud utilise une version codée en base64 de la clé de données en texte brut comme mot de passe qui protège la clé. LUKS Le nœud enregistre la copie chiffrée de la clé de données sur le volume de démarrage.

  4. Si le nœud redémarre, le nœud redémarré envoie la clé de données chiffrée à AWS KMS avec une demande de déchiffrement.

  5. AWS KMS déchiffre la clé de données chiffrée à l'aide de la même KMS clé que celle utilisée pour la chiffrer, puis envoie la clé de données déchiffrée (texte brut) au nœud.

  6. Le nœud utilise la version codée en base64 de la clé de données en texte brut comme mot de passe pour déverrouiller la clé. LUKS

Contexte de chiffrement

Chaque AWS service intégré AWS KMS peut spécifier un contexte de chiffrement lorsque le service est utilisé AWS KMS pour générer des clés de données ou pour chiffrer ou déchiffrer des données. Le contexte de chiffrement est une information authentifiée supplémentaire AWS KMS utilisée pour vérifier l'intégrité des données. Quand service spécifie un contexte de chiffrement pour une opération de chiffrement, il doit spécifier le même contexte de chiffrement pour l'opération de déchiffrement correspondante, sinon le déchiffrement échouera. Le contexte de chiffrement est également écrit dans les fichiers AWS CloudTrail journaux, ce qui peut vous aider à comprendre pourquoi une KMS clé spécifique a été utilisée.

La section suivante explique le contexte de chiffrement utilisé dans chaque scénario de EMR chiffrement Amazon utilisant une KMS clé.

Contexte de EMRFS chiffrement pour le chiffrement avec SSE - KMS

Avec SSE -KMS, le EMR cluster Amazon envoie des données à Amazon S3, puis Amazon S3 utilise une KMS clé pour chiffrer les données avant de les enregistrer dans un compartiment S3. Dans ce cas, Amazon S3 utilise le nom de ressource Amazon (ARN) de l'objet S3 comme contexte de chiffrement pour chaque demande GenerateDataKeyde déchiffrement à AWS KMS laquelle il envoie. L'exemple suivant montre une JSON représentation du contexte de chiffrement utilisé par Amazon S3.

{ "aws:s3:arn" : "arn:aws:s3:::S3_bucket_name/S3_object_key" }

Contexte de EMRFS chiffrement pour le chiffrement avec CSE - KMS

Avec CSE -KMS, le EMR cluster Amazon utilise une KMS clé pour chiffrer les données avant de les envoyer à Amazon S3 à des fins de stockage. Dans ce cas, le cluster utilise l'Amazon Resource Name (ARN) de la KMS clé comme contexte de chiffrement pour chaque demande GenerateDataKeyde déchiffrement à AWS KMS laquelle il envoie. L'exemple suivant montre une JSON représentation du contexte de chiffrement utilisé par le cluster.

{ "kms_cmk_id" : "arn:aws:kms:us-east-2:111122223333:key/0987ab65-43cd-21ef-09ab-87654321cdef" }

Contexte de chiffrement pour le chiffrement du disque local avec LUKS

Lorsqu'un EMR cluster Amazon utilise le chiffrement de disque local avecLUKS, les nœuds du cluster ne spécifient pas le contexte de chiffrement des demandes GenerateDataKeyet de déchiffrement auxquelles ils envoient. AWS KMS