Come EMR utilizza Amazon AWS KMS - AWS Key Management Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Come EMR utilizza Amazon AWS KMS

Quando utilizzi un EMR cluster Amazon, puoi configurare il cluster per crittografare i dati inattivi prima di salvarli in una posizione di archiviazione persistente. Puoi crittografare i dati inattivi sul EMR File System (EMRFS), sui volumi di storage dei nodi del cluster o su entrambi. Per crittografare i dati a riposo è possibile utilizzare una AWS KMS key. I seguenti argomenti spiegano come un EMR cluster Amazon utilizza una KMS chiave per crittografare i dati inattivi.

Importante

Amazon EMR supporta solo chiavi simmetriche KMS. Non è possibile utilizzare una KMSchiave asimmetrica per crittografare i dati inattivi in un cluster Amazon. EMR Per informazioni su come determinare se una KMS chiave è simmetrica o asimmetrica, consulta. Identifica diversi tipi di chiave

EMRI cluster Amazon crittografano anche i dati in transito, il che significa che il cluster crittografa i dati prima di inviarli attraverso la rete. Non è possibile utilizzare una KMS chiave per crittografare i dati in transito. Per ulteriori informazioni, consulta la sezione In-Transit Data Encryption nella Amazon EMR Management Guide.

Per ulteriori informazioni su tutte le opzioni di crittografia disponibili in AmazonEMR, consulta Encryption Options nella Amazon EMR Management Guide.

Crittografia dei dati sul EMR file system () EMRFS

EMRI cluster Amazon utilizzano due file system distribuiti:

  • Il file system distribuito Hadoop (). HDFS HDFSla crittografia non utilizza una KMS chiave in. AWS KMS

  • Il EMR file system (EMRFS). EMRFSè un'implementazione HDFS che consente ai EMR cluster Amazon di archiviare dati in Amazon Simple Storage Service (Amazon S3). EMRFSsupporta quattro opzioni di crittografia, due delle quali utilizzano una KMS chiave in. AWS KMS Per ulteriori informazioni su tutte e quattro le opzioni di EMRFS crittografia, consulta Encryption Options nella Amazon EMR Management Guide.

Le due opzioni di EMRFS crittografia che utilizzano una KMS chiave utilizzano le seguenti funzionalità di crittografia offerte da Amazon S3:

Quando configuri un EMR cluster Amazon per crittografare i dati EMRFS con una KMS chiave, scegli la KMS chiave che desideri venga utilizzata da Amazon S3 o dal cluster EMR Amazon. Con SSE -KMS, puoi scegliere la chiave Chiave gestita da AWS per Amazon S3 con l'alias aws/s3 o una chiave simmetrica gestita dal cliente che crei tu. Con la crittografia lato client, è necessario scegliere una chiave gestita dal cliente simmetrica creata dall'utente. Quando scegli una chiave gestita dal cliente, devi assicurarti che il tuo EMR cluster Amazon sia autorizzato a utilizzare la KMS chiave. Per ulteriori informazioni, consulta Using AWS KMS keys for encryption nella Amazon EMR Management Guide.

Sia per la crittografia lato server che lato client, la KMS chiave scelta è la chiave principale in un flusso di lavoro di crittografia a busta. I dati vengono crittografati con una chiave dati univoca che viene crittografata sotto la chiave in. KMS AWS KMS I dati crittografati e una copia crittografata della chiave di dati vengono archiviati insieme come un singolo oggetto crittografato in un bucket S3. Per ulteriori informazioni sul funzionamento, consulta gli argomenti indicati di seguito.

Processo di crittografia dei dati EMRFS con SSE - KMS

Quando configuri un EMR cluster Amazon per utilizzare SSE -KMS, il processo di crittografia funziona in questo modo:

  1. Il cluster invia i dati ad Amazon S3 per lo storage in un bucket S3.

  2. Amazon S3 invia una GenerateDataKeyrichiesta a AWS KMS, specificando l'ID della KMS chiave che hai scelto quando hai configurato il cluster da utilizzare -. SSE KMS La richiesta include il contesto di crittografia, per ulteriori informazioni consulta Contesto di crittografia.

  3. AWS KMS genera una chiave di crittografia dei dati univoca (chiave dati) e quindi invia due copie di questa chiave dati ad Amazon S3. Una copia non è crittografata (testo non crittografato) e l'altra copia è crittografata sotto la chiave. KMS

  4. Amazon S3 utilizza la chiave di dati in testo in chiaro per crittografare i dati ricevuti nella fase 1, quindi rimuove il prima possibile la chiave di dati in testo normale dalla memoria dopo l'utilizzo.

  5. Amazon S3 archivia i dati crittografati e una copia crittografata della chiave di dati insieme come un singolo oggetto crittografato in un bucket S3.

Il processo di decrittografia avviene in questo modo:

  1. Il cluster richiede un oggetto dati crittografati da un bucket S3.

  2. Amazon S3 estrae la chiave dati crittografata dall'oggetto S3, quindi invia la chiave dati crittografata a AWS KMS con una richiesta Decrypt. La richiesta include un contesto di crittografia.

  3. AWS KMS decrittografa la chiave dati crittografata utilizzando la stessa KMS chiave utilizzata per crittografarla, quindi invia la chiave dati decrittografata (testo semplice) ad Amazon S3.

  4. Amazon S3 utilizza la chiave di dati in testo normale per decrittografare i dati crittografati, quindi rimuove il prima possibile la chiave di dati in testo in chiaro dalla memoria dopo l'utilizzo.

  5. Amazon S3 invia i dati decrittografati al cluster.

EMRFSProcesso CSE per crittografare i dati con - KMS

Quando configuri un EMR cluster Amazon per utilizzare CSE -KMS, il processo di crittografia funziona in questo modo:

  1. Quando è pronto per archiviare i dati in Amazon S3, il cluster invia una GenerateDataKeyrichiesta a AWS KMS, specificando l'ID chiave della KMS chiave che hai scelto quando hai configurato il cluster da utilizzare -. CSE KMS La richiesta include il contesto di crittografia, per ulteriori informazioni consulta Contesto di crittografia.

  2. AWS KMS genera una chiave di crittografia dei dati univoca (chiave dati) e quindi invia due copie di questa chiave di dati al cluster. Una copia non è crittografata (testo non crittografato) e l'altra copia è crittografata sotto la chiave. KMS

  3. Il cluster utilizza la chiave di dati in testo normale per crittografare i dati, quindi rimuove il prima possibile la chiave di dati in testo normale dalla memoria dopo l'utilizzo.

  4. Il cluster abbina i dati crittografati e una copia crittografata della chiave di dati insieme in un singolo oggetto crittografato.

  5. Il cluster invia l'oggetto crittografato ad Amazon S3 per lo storage.

Il processo di decrittografia avviene in questo modo:

  1. Il cluster richiede un oggetto dati crittografati a un bucket S3.

  2. Amazon S3 invia l'oggetto crittografato al cluster.

  3. Il cluster estrae la chiave dei dati crittografati dall'oggetto crittografato e quindi invia la chiave dei dati crittografati a AWS KMS con una richiesta Decrypt. La richiesta include il contesto di crittografia.

  4. AWS KMS decrittografa la chiave dati crittografata utilizzando la stessa KMS chiave utilizzata per crittografarla, quindi invia la chiave di dati decrittografata (testo semplice) al cluster.

  5. Il cluster utilizza la chiave di dati in testo normale per decrittografare i dati crittografati, quindi rimuove il prima possibile la chiave di dati in testo normale dalla memoria dopo l'utilizzo.

Crittografia dei dati su volumi di storage di nodi cluster

Un EMR cluster Amazon è una raccolta di istanze Amazon Elastic Compute Cloud (AmazonEC2). Ogni istanza nel cluster viene chiamata nodo cluster o nodo. Ogni nodo può avere due tipi di volumi di storage: volumi di instance store e volumi Amazon Elastic Block Store (AmazonEBS). Puoi configurare il cluster per utilizzare Linux Unified Key Setup (LUKS) per crittografare entrambi i tipi di volumi di storage sui nodi (ma non il volume di avvio di ciascun nodo). Questa si chiama la crittografia dei dati su disco locale.

Quando abiliti la crittografia del disco locale per un cluster, puoi scegliere di crittografare la LUKS chiave con una KMS chiave in ingresso. AWS KMS Devi scegliere una chiave gestita dal cliente che hai creato; non è possibile utilizzare una Chiave gestita da AWS. Se scegli una chiave gestita dal cliente, devi assicurarti che il tuo EMR cluster Amazon sia autorizzato a utilizzare la KMS chiave. Per ulteriori informazioni, consulta Using AWS KMS keys for encryption nella Amazon EMR Management Guide.

Quando abiliti la crittografia del disco locale utilizzando una KMS chiave, il processo di crittografia funziona in questo modo:

  1. All'avvio di ogni nodo del cluster, invia una GenerateDataKeyrichiesta a AWS KMS, specificando l'ID della KMS chiave scelta quando è stata abilitata la crittografia del disco locale per il cluster.

  2. AWS KMS genera una chiave di crittografia dei dati univoca (chiave dati) e quindi invia due copie di questa chiave di dati al nodo. Una copia non è crittografata (testo non crittografato) e l'altra copia è crittografata sotto la chiave. KMS

  3. Il nodo utilizza una versione con codifica Base64 della chiave dati in testo semplice come password che protegge la chiave. LUKS Il nodo salva la copia crittografata della chiave di dati per il volume di avvio.

  4. Se il nodo si riavvia, il nodo riavviato invia la chiave dati crittografata a con una richiesta Decrypt. AWS KMS

  5. AWS KMS decrittografa la chiave dati crittografata utilizzando la stessa KMS chiave utilizzata per crittografarla, quindi invia la chiave di dati decrittografata (testo semplice) al nodo.

  6. Il nodo utilizza la versione con codifica base64 della chiave dati in testo semplice come password per sbloccare la chiave. LUKS

Contesto di crittografia

Ogni AWS servizio integrato con AWS KMS può specificare un contesto di crittografia quando il servizio utilizza AWS KMS per generare chiavi di dati o crittografare o decrittografare i dati. Il contesto di crittografia è costituito da informazioni autenticate aggiuntive AWS KMS utilizzate per verificare l'integrità dei dati. Quando un servizio specifica un contesto di crittografia per un'operazione di crittografia, il servizio deve specificare lo stesso contesto di crittografia anche per l'operazione di decrittografia corrispondente o la decrittografia non riuscirà. Il contesto di crittografia viene inoltre scritto nei file di AWS CloudTrail registro, il che può aiutarti a capire perché è stata utilizzata una KMS chiave specifica.

La sezione seguente spiega il contesto di crittografia utilizzato in ogni scenario di EMR crittografia Amazon che utilizza una KMS chiave.

Contesto di EMRFS crittografia per la crittografia con SSE - KMS

Con SSE -KMS, il EMR cluster Amazon invia i dati ad Amazon S3, quindi Amazon S3 utilizza KMS una chiave per crittografare i dati prima di salvarli in un bucket S3. In questo caso, Amazon S3 utilizza l'Amazon Resource Name (ARN) dell'oggetto S3 come contesto di crittografia per ogni richiesta GenerateDataKeyand Decrypt a cui viene inviata. AWS KMS L'esempio seguente mostra una JSON rappresentazione del contesto di crittografia utilizzato da Amazon S3.

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

Contesto di crittografia per la EMRFS crittografia con CSE - KMS

Con CSE -KMS, il EMR cluster Amazon utilizza una KMS chiave per crittografare i dati prima di inviarli ad Amazon S3 per l'archiviazione. In questo caso, il cluster utilizza l'Amazon Resource Name (ARN) della KMS chiave come contesto di crittografia per ogni richiesta GenerateDataKeyand Decrypt a cui invia. AWS KMS L'esempio seguente mostra una JSON rappresentazione del contesto di crittografia utilizzato dal cluster.

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

Contesto di crittografia per la crittografia del disco locale con LUKS

Quando un EMR cluster Amazon utilizza la crittografia del disco locale conLUKS, i nodi del cluster non specificano il contesto di crittografia con le richieste GenerateDataKeye Decrypt a cui inviano. AWS KMS