Monitora i cluster Amazon EMR per la crittografia in transito al momento del lancio - Prontuario AWS

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à.

Monitora i cluster Amazon EMR per la crittografia in transito al momento del lancio

Creato da Susanne Kangnoh (AWS)

Ambiente: produzione

Tecnologie: analisi; Big data CloudNative; Sicurezza, identità, conformità

Carico di lavoro: open source

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

Riepilogo

Questo modello fornisce un controllo di sicurezza che monitora i cluster Amazon EMR all'avvio e invia un avviso se la crittografia in transito non è stata abilitata. 

Amazon EMR è un servizio Web che semplifica l'esecuzione di framework di big data, come Apache Hadoop, per elaborare e analizzare i dati. Amazon EMR consente di elaborare grandi quantità di dati in modo conveniente eseguendo la mappatura e riducendo i passaggi in parallelo.

La crittografia dei dati impedisce agli utenti non autorizzati di accedere o leggere i dati inattivi o i dati in transito. I dati a riposo si riferiscono ai dati archiviati su supporti come un file system locale su ciascun nodo, Hadoop Distributed File System (HDFS) o EMR File System (EMRFS) tramite Amazon Simple Storage Service (Amazon S3). I dati in transito si riferiscono ai dati che viaggiano sulla rete e sono in transito tra un lavoro e l'altro. La crittografia in transito supporta funzionalità di crittografia open source per Apache Spark, Apache TEZ, Apache Hadoop, Apache HBase e Presto. Puoi abilitare la crittografia creando una configurazione di sicurezza dall'AWS Command Line Interface (AWS CLI), dalla console o dagli SDK AWS e specificando le impostazioni di crittografia dei dati. Puoi fornire gli artefatti di crittografia per la crittografia in transito in questi due modi:

  • Caricando un file compresso di certificati su Amazon S3.

  • Facendo riferimento a una classe Java personalizzata che fornisce artefatti di crittografia.

Il controllo di sicurezza incluso in questo pattern monitora le chiamate API e genera un evento Amazon CloudWatch Events sull'RunJobFlowazione. L'evento richiama una funzione AWS Lambda, che esegue uno script Python. La funzione ottiene l'ID del cluster EMR dall'input JSON dell'evento ed esegue i seguenti controlli per determinare se c'è una violazione della sicurezza:

  • Verifica se il cluster EMR ha una configurazione di sicurezza specifica per Amazon EMR.

  • Se il cluster dispone di una configurazione di sicurezza, verifica se la crittografia in transito è abilitata.

  • Se il cluster non dispone di una configurazione di sicurezza, invia un avviso a un indirizzo e-mail fornito da te, utilizzando Amazon Simple Notification Service (Amazon SNS). La notifica specifica il nome del cluster EMR, i dettagli della violazione, le informazioni sulla regione AWS e sull'account e l'ARN AWS Lambda (Amazon Resource Name) da cui proviene la notifica.

Prerequisiti e limitazioni

Prerequisiti

  • Un account AWS attivo.

  • Un bucket S3 per caricare il codice Lambda fornito con questo pattern.

  • Un indirizzo email a cui desideri ricevere le notifiche di violazione.

  • La registrazione di Amazon EMR è abilitata, per l'accesso a tutti i log delle API.

Limitazioni

  • Questo controllo investigativo è regionale e deve essere distribuito in ogni regione AWS che desideri monitorare.

Versioni del prodotto

  • Amazon EMR versione 4.8.0 o successiva.

Architettura

Architettura del workflow

Architettura che monitora le chiamate API e genera un evento sull' RunJobFlow azione.

Automazione e scalabilità

  • Se utilizzi AWS Organizations, puoi utilizzare AWS Cloudformation StackSets per distribuire il modello in più account che desideri monitorare.

Strumenti

Servizi AWS

  • Amazon EMR — Amazon EMR è una piattaforma cluster gestita che semplifica l'esecuzione di framework di big data, come Apache Hadoop e Apache Spark, su AWS per elaborare e analizzare grandi quantità di dati. Utilizzando questi framework e i relativi progetti open source, puoi elaborare i dati per scopi di analisi e carichi di lavoro di business intelligence. Inoltre, puoi utilizzare Amazon EMR per trasformare e spostare grandi quantità di dati da e verso altri data store e database AWS, come Amazon S3 e Amazon DynamoDB.

  • AWS Cloudformation: AWS ti CloudFormation aiuta a modellare e configurare le tue risorse AWS, effettuarne il provisioning in modo rapido e coerente e gestirle per tutto il loro ciclo di vita. Puoi utilizzare un modello per descrivere le tue risorse e le loro dipendenze e lanciarle e configurarle insieme come uno stack, invece di gestire le risorse singolarmente. Puoi gestire e fornire stack su più account AWS e regioni AWS.

  • AWS Cloudwatch Events — Amazon CloudWatch Events offre un flusso quasi in tempo reale di eventi di sistema che descrivono i cambiamenti nelle risorse AWS. CloudWatch Events viene a conoscenza dei cambiamenti operativi man mano che si verificano e intraprende le azioni correttive necessarie, inviando messaggi per rispondere all'ambiente, attivando funzioni, apportando modifiche e acquisendo informazioni sullo stato.

  • AWS Lambda: AWS Lambda è un servizio di elaborazione che supporta l'esecuzione di codice senza effettuare il provisioning o la gestione di server. Lambda esegue il codice solo quando necessario e passa automaticamente da poche richieste al giorno a migliaia al secondo. Verrà addebitato soltanto il tempo di calcolo consumato e non verrà addebitato alcun costo quando il codice non è in esecuzione.

  • AWS SNS — Amazon Simple Notification Service (Amazon SNS) coordina e gestisce l'invio di messaggi tra editori e clienti, inclusi server Web e indirizzi e-mail. I sottoscrittori ricevono tutti gli stessi messaggi pubblicati sugli argomenti ai quali sono hanno effettuato la sottoscrizione.

Codice

Questo modello include un allegato con due file:

  • EMRInTransitEncryption.zipè un file compresso che include il controllo di sicurezza (codice Lambda).

  • EMRInTransitEncryption.ymlè un CloudFormation modello che implementa il controllo di sicurezza.

Vedi la sezione Epics per informazioni su come usare questi file.

Epiche

AttivitàDescrizioneCompetenze richieste

Carica il codice in un bucket S3.

Crea un nuovo bucket S3 o usa un bucket S3 esistente per caricare il file allegato EMRInTransitEncryption.zip (codice Lambda). Questo bucket deve trovarsi nella stessa regione AWS del CloudFormation modello e delle risorse che desideri valutare.

Architetto del cloud

Implementa il CloudFormation modello.

Apri la console Cloudformation nella stessa regione AWS del bucket S3 e distribuisci il EMRInTransitEncryption.yml file fornito nell'allegato. Nella prossima epopea, fornisci i valori per i parametri del modello.

Architetto del cloud,
AttivitàDescrizioneCompetenze richieste

Fornisci il nome del bucket S3.

Inserisci il nome del bucket S3 che hai creato o selezionato nella prima epic. Questo bucket S3 contiene il file.zip per il codice Lambda e deve trovarsi nella stessa regione AWS del CloudFormation modello e della risorsa che verranno valutati.

Architetto del cloud

Fornisci la chiave S3.

Specificate la posizione del file.zip del codice Lambda nel bucket S3, senza barre iniziali (ad esempio o). EMRInTransitEncryption.zip controls/EMRInTransitEncryption.zip

Architetto del cloud

Fornisci un indirizzo email.

Specificate un indirizzo e-mail attivo a cui desiderate ricevere le notifiche di violazione.  

Architetto del cloud

Specificare un livello di registrazione.

Specificate il livello di registrazione e la verbosità per i log Lambda. Infoindica messaggi informativi dettagliati sullo stato di avanzamento dell'applicazione e deve essere utilizzato solo per il debug. Errorindica eventi di errore che potrebbero comunque consentire all'applicazione di continuare a funzionare. Warningindica situazioni potenzialmente dannose.

Architetto del cloud
AttivitàDescrizioneCompetenze richieste

Conferma l'iscrizione via e-mail.

Quando il CloudFormation modello viene distribuito correttamente, invia un messaggio e-mail di sottoscrizione all'indirizzo e-mail fornito. Per ricevere notifiche, devi confermare questa sottoscrizione e-mail.                                                      

Architetto del cloud

Risorse correlate

Allegati

Per accedere a contenuti aggiuntivi associati a questo documento, decomprimi il seguente file: attachment.zip