Monitora ElastiCache i cluster Amazon per la crittografia a riposo - 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 ElastiCache i cluster Amazon per la crittografia a riposo

Abhishek Agawane, Amazon Web Services

Riepilogo

Amazon ElastiCache è un servizio Amazon Web Services (AWS) che fornisce una soluzione di caching ad alte prestazioni, scalabile ed economica per la distribuzione di un archivio dati in memoria o un ambiente di cache nel cloud. Recupera i dati da archivi di dati in memoria ad alta velocità e bassa latenza. Questa funzionalità lo rende una scelta popolare per casi d'uso in tempo reale come memorizzazione nella cache, archivi di sessioni, giochi, servizi geospaziali, analisi in tempo reale e accodamento. ElastiCache offre archivi dati Redis e Memcached, entrambi con tempi di risposta inferiori al millisecondo.

La crittografia dei dati aiuta a impedire agli utenti non autorizzati di leggere i dati sensibili disponibili sui cluster Redis e sui sistemi di storage cache associati. Ciò include i dati salvati su supporti persistenti, noti come dati a riposo, e i dati che possono essere intercettati mentre viaggiano attraverso la rete tra client e server di cache, noti come dati in transito.

È possibile abilitare la crittografia a riposo per ElastiCache (Redis OSS) quando si crea un gruppo di replica, impostando il parametro su. AtRestEncryptionEnabled true Quando questo parametro è abilitato, crittografa il disco durante le operazioni di sincronizzazione, backup e swap e crittografa i backup archiviati in Amazon Simple Storage Service (Amazon S3). Non è possibile abilitare la crittografia a riposo su un gruppo di replica esistente. Quando si crea un gruppo di replica, è possibile abilitare la crittografia a riposo in questi due modi:

  • Scegliendo l'opzione Default, che utilizza la crittografia a riposo gestita dal servizio.

  • Utilizzando una chiave gestita dal cliente e fornendo l'ID della chiave o l'Amazon Resource Name (ARN) da AWS Key Management Service (AWS KMS).

Questo modello fornisce un controllo di sicurezza che monitora le chiamate API e genera un evento Amazon EventBridge Events sull'CreateReplicationGroupoperazione. Questo evento chiama una AWS Lambda funzione che esegue uno script Python. La funzione ottiene l'ID del gruppo di replica dall'input JSON dell'evento ed esegue i seguenti controlli per determinare se esiste un cluster non crittografato:

  • Verifica se la chiave esiste. AtRestEncryptionEnabled

  • Se AtRestEncryptionEnabled esiste, controlla il valore per vedere se lo ètrue.

  • Se il AtRestEncryptionEnabled valore è impostato sufalse, imposta una variabile che tiene traccia delle violazioni e invia un messaggio di violazione a un indirizzo e-mail fornito, utilizzando una notifica Amazon Simple Notification Service (Amazon SNS).

Prerequisiti e limitazioni

Prerequisiti

  • Un attivo Account AWS.

  • Un bucket S3 per caricare il codice Lambda fornito.

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

  • ElastiCache registrazione abilitata, per l'accesso a tutti i log delle API.

Limitazioni

  • Questo controllo investigativo è regionale e deve essere implementato in ogni area Regione AWS che si desidera monitorare.

  • Il controllo supporta i gruppi di replica in esecuzione in un cloud privato virtuale (VPC).

  • Il controllo supporta i gruppi di replica che eseguono i seguenti tipi di nodi:

    • R7g, R6gd, R6g, R5, R4, R3

    • M7g, 6g, M5, M4, M3

    • T4g, T3, T2

    • C7gn

Versioni del prodotto

  • Supporta la versione 3.2.6 o successiva ElastiCache (Redis OSS) e Valkey 7.2 o successiva

Architecture

Architettura del workflow

Flusso di lavoro per il monitoraggio dei ElastiCache cluster.
  1. L'utente avvia un gruppo di ElastiCache replica tramite Console di gestione AWS, the AWS Command Line Interface (AWS CLI) o una chiamata API.

  2. ElastiCache genera EventBridge eventi quando viene chiamata l'CreateReplicationGroup API.

  3. Una EventBridge regola attiva e chiama la funzione Lambda per il controllo della conformità.

  4. La funzione Lambda elabora l'evento e verifica se la crittografia a riposo è abilitata nel cluster. ElastiCache

  5. Se viene rilevata una violazione della crittografia, la funzione Lambda pubblica un messaggio di notifica su un argomento SNS.

  6. Amazon SNS invia una notifica e-mail agli amministratori in merito alla violazione della conformità della crittografia.

Automazione e scalabilità

  • Se lo utilizzi AWS Organizations, puoi AWS CloudFormation StackSetsutilizzarlo per distribuire questo modello in più account che desideri monitorare.

Tools (Strumenti)

Servizi AWS

  • Amazon ElastiCache semplifica la configurazione, la gestione e la scalabilità di ambienti di cache in memoria distribuiti in. Cloud AWS Fornisce una cache in memoria ad alte prestazioni, ridimensionabile ed economica, eliminando al contempo la complessità associata all'implementazione e alla gestione di un ambiente di cache distribuito. ElastiCache funziona con entrambi i motori Redis e Memcached.

  • AWS CloudFormationti aiuta a modellare e configurare AWS le tue risorse, a fornirle in modo rapido e coerente e a gestirle per tutto il loro ciclo di vita. È possibile utilizzare un modello per descrivere le risorse e le relative dipendenze e lanciarle e configurarle insieme come uno stack, anziché gestire le risorse singolarmente. Puoi gestire ed eseguire il provisioning degli stack su più sistemi. Account AWS Regioni AWS

  • Amazon EventBridge offre un flusso quasi in tempo reale di eventi di sistema che descrivono i cambiamenti nelle AWS risorse. EventBridge 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è un servizio di elaborazione che supporta l'esecuzione di codice senza fornire o gestire 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. 

  • 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

Il codice per questo modello è disponibile nell'archivio di crittografia GitHub Monitor Amazon ElastiCache Clusters for at-rest. Consulta la sezione Epics per informazioni su come utilizzare i file nel repository.

Best practice

Distribuzione

  • Assicurati che AWS CloudTrail stia registrando le chiamate ElastiCache API prima di distribuire questo controllo.

  • Si tratta di un controllo regionale; distribuisci il controllo in ogni Regione AWS luogo in cui lo utilizzi. ElastiCache

  • Convalida la soluzione negli dev/test ambienti prima di implementarla in produzione.

Sicurezza

  • Per un maggiore controllo sulle chiavi di crittografia, utilizza chiavi KMS gestite dal cliente.

  • Rivedi le autorizzazioni AWS Identity and Access Management (IAM) per garantire l'accesso con il minimo privilegio per il ruolo di esecuzione Lambda.

  • Imposta gli avvisi per i messaggi nella coda delle lettere morte.

Operazioni

  • Imposta la conservazione dei log appropriata per bilanciare le esigenze di conformità con i costi.

  • Regola la concorrenza riservata di Lambda per adattarla in base ElastiCache alla frequenza di creazione.

  • Sottoscrivi più indirizzi e-mail ad Amazon SNS per le notifiche del team.

Monitoraggio

  • Controlla gli CloudWatch allarmi di Amazon per assicurarti che le soglie di allarme corrispondano alle tue esigenze operative.

  • Monitora regolarmente la durata dell'esecuzione delle metriche Lambda e i tassi di errore.

  • Verifica regolarmente le violazioni per esaminare le notifiche di conformità alla crittografia.

Epiche

OperazioneDescriptionCompetenze richieste

Scarica il codice da GitHub.

Clona o scarica il repository del codice da. GitHub Il repository contiene i file e. index.py elasticache_encryption_at_rest.yml

Architetto del cloud

Crea pacchetti di distribuzione Lambda.

Crea due file.zip dal codice Python:

  • CreaElastiCache-EncryptionAtRest.zip, che contiene. index.py

  • Utilizza il seguente comando:

    zip ElastiCache-EncryptionAtRest.zip index.py
Architetto del cloud

Carica il codice in un bucket S3.

  1. Crea un nuovo bucket S3 o usa un bucket S3 esistente per caricare il codice Lambda.

  2. Comprimi il codice Lambda (index.py) e assegnagli un nome. ElastiCache-EncryptionAtRest.zip

  3. Carica il file.zip nel bucket S3. Questo bucket deve trovarsi nella Regione AWS stessa cartella delle risorse che desideri valutare.

Architetto del cloud

Implementa il CloudFormation modello.

Apri la CloudFormation console nello Regione AWS stesso bucket S3 e distribuisci il elasticache_encryption_at_rest.yml file fornito nel repository del codice. Nella prossima epopea, fornisci i valori per i parametri del modello.

Architetto del cloud
OperazioneDescriptionCompetenze 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 essere nello stesso Regione AWS del CloudFormation modello e della risorsa che verranno valutati. 

Architetto del cloud

Fornisci la chiave S3.

Fornisci la posizione del file.zip del codice Lambda nel tuo bucket S3, senza barre iniziali (ad esempio o). ElasticCache-EncryptionAtRest.zip controls/ElasticCache-EncryptionAtRest.zip

Architetto del cloud

Fornisci un indirizzo email.

Fornisci un indirizzo email attivo a cui desideri ricevere le notifiche di violazione. 

Architetto del cloud

Specificare un livello di registrazione.

Specificare il livello di registrazione e la verbosità.

  • 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
OperazioneDescriptionCompetenze richieste

Conferma l'iscrizione via e-mail.

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

Architetto del cloud

risoluzione dei problemi

ProblemaSoluzione

Funzione Lambda non attivata

Sintomo: nessun accesso CloudWatch dopo aver creato o modificato i cluster. ElastiCache

Soluzioni:

  • Verifica lo stato della EventBridge regola: 

    aws events describe-rule --name <rule-name>
  • Verifica che la policy basata sulle risorse di Lambda consenta l'invocazione. EventBridge

  • Verifica che il modello di evento corrisponda alle chiamate API. EventBridge ElastiCache

Nessuna notifica via e-mail

Sintomo: la funzione Lambda viene eseguita correttamente, ma non si ricevono notifiche e-mail.

Soluzioni:

  • Conferma l'abbonamento ad Amazon SNS tramite il link di conferma via e-mail.

  • Controlla le cartelle spam o posta indesiderata per le e-mail di Amazon SNS.

  • Verifica l'Amazon Resource Name (ARN) per l'argomento Amazon SNS nella variabile di ambiente Lambda: OUTBOUND_TOPIC_ARN

  • Esegui il test manuale di Amazon SNS: 

    aws sns publish --topic-arn <arn> --message "Test"

Problemi a livello di autorizzazioni

Sintomo: accesso negato agli errori nei registri delle funzioni CloudWatch Lambda.

Soluzioni:

  • Verifica che il ruolo di esecuzione Lambda disponga delle autorizzazioni di ElastiCache lettura richieste.

  • Verifica che la policy AWS KMS chiave includa il ruolo di esecuzione Lambda.

  • Assicurati che la policy tematica di Amazon SNS consenta la pubblicazione a Lambda.

Risorse correlate