Protezione dei dati - Amazon EMR

Protezione dei dati

Il modello di responsabilità condivisa di AWS si applica alla protezione dei dati in Amazon EMR su EKS. Come descritto in questo modello, AWS è responsabile della protezione dell'infrastruttura globale che esegue l'intero AWS Cloud. L'utente è responsabile di mantenere il controllo sui contenuti ospitati su questa infrastruttura. Questo contenuto include la configurazione della protezione e le attività di gestione per i servizi AWS utilizzati. Per ulteriori informazioni sulla privacy dei dati, consulta Domande frequenti sulla privacy dei dati. Per informazioni sulla protezione dei dati in Europa, consulta il post AWS Shared Responsibility Model and GDPR (Modello di responsabilità condivisa e GDPR di ) nel Blog sulla sicurezza di AWS.

Ai fini della protezione dei dati, ti consigliamo di proteggere le credenziali dell'account AWS e di configurare singoli account utente con AWS Identity and Access Management (IAM). In questo modo, a ogni utente verranno assegnate solo le autorizzazioni necessarie per svolgere il suo lavoro. Ti suggeriamo, inoltre, di proteggere i dati nei seguenti modi:

  • Utilizza l'autenticazione a più fattori (MFA) con ogni account.

  • Utilizza SSL/TLS per comunicare con risorse AWS. È consigliabile TLS 1.2 o versioni successive.

  • Configura la registrazione delle API e delle attività degli utenti con AWS CloudTrail.

  • Utilizza le soluzioni di crittografia AWS, insieme a tutti i controlli di sicurezza di default all'interno dei servizi AWS.

  • Utilizza i servizi di sicurezza gestiti avanzati, ad esempio Amazon Macie, che aiutano a individuare e proteggere i dati personali archiviati in Amazon S3.

  • Utilizza le opzioni di crittografia di Amazon EMR su EKS per crittografare i dati a riposo e in transito.

  • Se si richiedono moduli crittografici convalidati FIPS 140-2 quando si accede ad AWS tramite una CLI o un'API, utilizzare un endpoint FIPS. Per ulteriori informazioni sugli endpoint FIPS disponibili, consulta il Federal Information Processing Standard (FIPS) 140-2.

Ti consigliamo di non inserire mai informazioni identificative sensibili, ad esempio i numeri di account dei clienti, in campi a formato libero, ad esempio un campo Name (Nome). Questo include il lavoro con Amazon EMR su EKS o altri servizi AWS tramite la console, l'API, la AWS CLI o gli SDK AWS. Gli eventuali dati immessi in Amazon EMR su EKS o altri servizi potrebbero essere prelevati per l'inserimento nei log di diagnostica. Quando fornisci un URL a un server esterno, non includere informazioni sulle credenziali nell'URL per convalidare la tua richiesta a tale server.

Crittografia dei dati a riposo

La crittografia dei dati consente di impedire agli utenti non autorizzati di leggere dati su un cluster e sui sistemi di storage dei dati associati. Sono inclusi i dati salvati su supporti persistenti, noti come dati inattivi, e i dati che possono essere intercettati quando circolano in rete, noti come dati in transito.

La crittografia dei dati richiede chiavi e certificati. È possibile scegliere tra diverse opzioni, tra cui chiavi gestite da AWS Key Management Service, chiavi gestite da Amazon S3 e chiavi e certificati di provider personalizzati che specifichi. L'utilizzo di AWS KMS come provider di chiavi comporta l'addebito dei costi relativi allo storage e all'uso di chiavi di crittografia. Per ulteriori informazioni, consultare Prezzi di AWS KMS.

Prima di specificare le opzioni di crittografia, scegli i sistemi di gestione di chiavi e certificati che intendi utilizzare. Quindi, crea le chiavi e i certificati per i provider personalizzati specificati come parte delle impostazioni di crittografia.

Crittografia dei dati a riposo per dati EMRFS in Amazon S3

La crittografia di Amazon S3 funziona con gli oggetti del file system EMR (EMRFS) letti da e scritti su Amazon S3. Puoi specificare la crittografia lato server Amazon S3 (SSE) o la crittografia lato client (CSE) come modalità di crittografia predefinita quando abiliti la crittografia dei dati inattivi. Facoltativamente, è possibile specificare diversi metodi di crittografia per singoli bucket utilizzando per bucket encryption overrides (sostituzioni di crittografia per bucket). Indipendentemente dall'abilitazione o meno della crittografia di Amazon S3, il protocollo Transport Layer Security (TLS) esegue la crittografia degli oggetti EMRFS in transito tra i nodi cluster EMR e Amazon S3. Per ulteriori informazioni sulla crittografia Amazon S3, consulta Protezione dei dati tramite la crittografia nella Guida per gli sviluppatori di Amazon Simple Storage Service.

Nota

L'utilizzo di AWS KMS comporta l'applicazione di costi per lo storage e l'uso delle chiavi di crittografia. Per ulteriori informazioni, consultare Prezzi di AWS KMS.

Crittografia lato server di Amazon S3

Quando configuri la crittografia lato server Amazon S3, Amazon S3 esegue la crittografia dei dati a livello di oggetto, tramite la scrittura dei dati su disco, e ne esegue la decrittografia al momento dell'accesso. Per ulteriori informazioni sulla SEE, consulta Protezione dei dati con la crittografia lato server nella Guida per gli sviluppatori di Amazon Simple Storage Service.

Puoi scegliere tra due diversi sistemi di gestione delle chiavi quando specifichi la SSE in Amazon EMR su EKS:

  • SSE-S3: Amazon S3 gestisce le chiavi per te.

  • SSE-KMS: utilizzi una chiave cliente principale (CMK, Customer Master Key) AWS KMS key configurata con policy adatte per Amazon EMR su EKS.

La SSE con chiavi fornite dal cliente (SSE-C) non è disponibile per l'utilizzo con Amazon EMR su EKS.

Crittografia lato client Amazon S3

Con la crittografia lato client di Amazon S3, la crittografia e la decrittografia Amazon S3 avvengono nel client EMRFS nel tuo cluster. Gli oggetti vengono crittografati prima di essere caricati su Amazon S3 e decrittati dopo il loro download. Il provider specificato fornisce la chiave di crittografia utilizzata dal client. Il client può utilizzare le chiavi fornite da AWS KMS (CSE-KMS) o una classe Java personalizzata che fornisce la chiave principale lato client (CSE-C). Le specifiche di crittografia sono leggermente diverse tra CSE-KMS e CSE-C, a seconda del provider specificato e dei metadati dell'oggetto da decrittare o crittografare. Per ulteriori informazioni su queste differenze, consulta Protezione dei dati tramite la crittografia lato client nella Guida per gli sviluppatori di Amazon Simple Storage Service.

Nota

Amazon S3 CSE garantisce solo che i dati EMRFS scambiati con Amazon S3 siano crittografati; non tutti i dati sui volumi delle istanze del cluster sono crittografati. Inoltre, poiché Hue non utilizza EMRFS, gli oggetti che il browser di file Hue S3 scrive su Amazon S3 non vengono crittografati.

Crittografia disco locale

Apache Spark supporta la crittografia dei dati temporanei scritti su dischi locali. Questo copre i file shuffle, gli spill shuffle e i blocchi di dati memorizzati sul disco per le variabili di caching e broadcast. Non copre la crittografia dei dati di output generati da applicazioni con API come saveAsHadoopFile o saveAsTable. Inoltre, potrebbe non coprire i file temporanei creati esplicitamente dall'utente. Per ulteriori informazioni, consulta Crittografia archiviazione locale nella documentazione di Spark. Spark non supporta i dati crittografati sul disco locale, ad esempio i dati intermedi scritti su un disco locale da un processo executor quando i dati non entrano nella memoria. I dati persistenti su disco vengono esaminati in base al runtime del processo e la chiave utilizzata per crittografare i dati viene generata dinamicamente da Spark per ogni esecuzione di processo. Una volta terminato il processo Spark, nessun altro processo può decrittografare i dati.

Per il pod driver ed executor, è possibile crittografare i dati a riposo che vengono mantenuti al volume montato. Sono disponibili tre diverse opzioni di archiviazione nativa AWS che puoi utilizzare con Kubernetes: EBS, EFS e FSx for Lustre. Tutti e tre offrono la crittografia di dati a riposo utilizzando una chiave gestita dal servizio o una AWS KMS key. Per ulteriori informazioni, consulta la Guida alle best practice EKS. Con questo approccio, tutti i dati persistenti sul volume montato vengono crittografati.

Gestione delle chiavi

È possibile configurare KMS per ruotare automaticamente le chiavi KMS. Verrà effettuata una rotazione delle chiavi una volta all'anno salvando le vecchie chiavi a tempo indeterminato in modo che i dati possano ancora essere decrittografati. Per ulteriori informazioni, consulta Rotating AWS KMS keys (Rotazione di AWS KMS keys.)

Crittografia in transito

Diversi meccanismi di crittografia sono abilitati con la crittografia in transito. Si tratta di funzionalità open source specifiche dell'applicazione che possono variare a seconda della versione Amazon EMR su EKS. Con Amazon EMR su EKS, è possibile abilitare le seguenti funzionalità di crittografia specifiche dell'applicazione:

  • Spark

    • Le comunicazioni RPC interne tra componenti Spark, ad esempio il servizio di trasferimento dei blocchi e il servizio shuffle esterno, sono crittografate utilizzando la cifratura AES-256 in Amazon EMR versione 5.9.0 e versioni successive. Nelle versioni precedenti, le comunicazioni RPC interne sono crittografate utilizzando la cifratura SASL con DIGEST-MD5.

    • Le comunicazioni HTTP con interfacce utente come Spark History Server e file server HTTPS sono crittografate mediante la configurazione SSL di Spark. Per ulteriori informazioni, consulta SSL Configuration nella documentazione Spark.

    Per ulteriori informazioni, consulta le impostazioni di sicurezza Spark.

  • È consigliabile consentire solo connessioni crittografate su HTTPS (TLS) utilizzando la condizione aws:SecureTransport nelle policy IAM del bucket Amazon S3.

  • I risultati delle query inviati ai client JDBC o ODBC sono crittografati con TLS.