Crittografia DynamoDB come funziona, opzioni e configurazione

Crittografia DynamoDB come funziona, opzioni e configurazione
DynamoDB è attualmente uno dei database più produttivi per le organizzazioni e le aziende. Fornisce infrastrutture di archiviazione altamente resistente e scalabile per dati primari e mission-critical. Con la funzionalità di crittografia di DynamoDB, i team possono garantire che aderiscano agli standard di sicurezza e di conformità di solito severi e di conformità.

Questo tutorial spiega i vari meccanismi di crittografia DynamoDB che è possibile utilizzare nel servizio Web Amazon. Oltre alle opzioni di crittografia di cui discuteremo, ti forniremo anche una guida passo-passo sull'impostazione della crittografia in DynamoDB.

Come funziona la crittografia DynamoDB

La potente funzione di crittografia DynamoDB aggiunge un livello di sicurezza per garantire che i tuoi dati rimangono inaccessibili a terzi o al personale non autorizzato. Comprendere come funziona la crittografia DynamoDB inizia con la conoscenza del tipo di dati o contenuti che è possibile crittografare.

Per il record, la crittografia DynamoDB supporta i dati a riposo e i dati nelle opzioni di trascrizione in transito. Ciò implica che è possibile utilizzarlo per la crittografia sul lato client e per la crittografia dei dati a riposo. In entrambi i casi, è necessario crittografare e firmare i dati prima di memorizzarli nel database.

Questa funzione fornisce ai tuoi dati una protezione end-to-end contro l'accesso non autorizzato o le modifiche da parte di un uomo-in-middle. Qualsiasi tabella crittografata in DynamoDB protegge tutti i dati tra cui la chiave primaria, indici secondari locali, indici secondari globali, flussi, backup, tabelle globali, ecc.

Come abilitare i dati DynamoDB a Rest Cryption

È importante notare che è necessario integrare un servizio di gestione delle chiavi (AWS KMS) per gestire i tuoi crittografia. In DynamoDB, è possibile utilizzare tre tipi di chiavi per crittografare i dati a riposo:

  • Chiavi gestite da Amazon: Solo l'AWS gestisce queste chiavi e le cambia automaticamente, regolarmente. Puoi usarli nella maggior parte degli scenari di crittografia perché richiedono una configurazione e manutenzione minimi.
  • Chiavi gestite dal cliente: Hai la responsabilità di gestire queste chiavi. Tuttavia, KMS (Amazon Key Management Service (KMS) immagazzina le chiavi. Sei anche responsabile della creazione, della rotazione e dell'eliminazione. Le chiavi gestite dal cliente sono adatte per scenari in cui è necessario un maggiore controllo sul processo di gestione delle chiavi o è necessario utilizzare politiche chiave o programmi di rotazione specifici.
  • Tasti di proprietà di AWS: Queste chiavi sono di proprietà di AWS e vengono utilizzate per crittografare i dati a riposo in alcuni servizi AWS come volumi EBS e istanze RDS. Non è possibile utilizzare le chiavi di proprietà di AWS per crittografare i dati DynamoDB a riposo.

Per utilizzare uno di questi tipi di chiave per crittografare i dati DynamODB a riposo, è necessario specificare il tipo di chiavi e l'identificatore chiave quando si crea o aggiorni la tabella DynamoDB. È possibile utilizzare la console di gestione DynamoDB, la CLI AWS o l'API DynamoDB per specificare il tipo di chiavi e l'identificatore chiave.

È possibile impostare i dati DynamoDB a Rest Cryption utilizzando la CLI AWS utilizzando i seguenti passaggi:

Passo 1 - Crea una chiave KMS (Amazon Key Management Service) o utilizza una chiave esistente per crittografare i dati nella tabella DynamoDB. La chiave KMS viene utilizzata per crittografare e decrittografare i dati a riposo nella tabella DynamoDB.

Passo 2 - Crea una tabella DynamoDB e specifica il tipo di crittografia e la chiave KMS per i dati a Rest Cryption.

Passaggio 3 - Carica i dati nella tabella DynamoDB. I dati vengono crittografati automaticamente quando vengono scritti nella tabella.

Ecco un esempio su come creare una tabella DynamoDB con i dati a Rest Cryption usando la CLI AWS:

AWS DynamoDB Crea-table \
--table-name mytablename \
--Attributi Definizioni attributeName = id, attributeType = s \
--Key-schema attributeName = id, keyType = hash \
--provviso-throughput readCapacityUnits = 5, WriteCapacityUnits = 5 \
--SSE-specification abilitable = true, sseenabled = true, ssetype = kms, kmsMasterKeyId =

In questo esempio, il Mytablename La tabella viene creata con i dati abilitati a Rest Cryption utilizzando la chiave KMS specificata dal Kms_key_arn parametro. I dati nella tabella vengono crittografati utilizzando il tasto KMS quando vengono scritti nella tabella e decrittografato quando viene letto.

È inoltre possibile abilitare i dati a riposo crittografia per una tabella DynamoDB esistente utilizzando il Tabella di aggiornamento comando:

AWS DynamoDB Update Table \
--table-name mytablename \
--SSE-specification abilitable = true, sseenabled = true, ssetype = kms, kmsMasterKeyId =

Il comando precedente abilita i dati a riposo crittografia per il Mytablename tabella usando la chiave KMS specificata dal Kms_key_arn parametro.

È inoltre possibile abilitare la crittografia per una tabella nuova o esistente specificando il BillingMode COME Pay_per_request e impostando il Sspecificazione parametro a ABILITATO Quando si crea o si aggiorna la tabella. Una volta che la crittografia è abilitata, il sistema crittografa tutti i dati nella tabella. Inoltre, crittografa anche tutti i trasferimenti di dati tra la tabella e il client.

In particolare, i dati a Rest Encryption si applicano solo ai nuovi dati scritti nella tabella dopo che è abilitata. Il sistema non crittografa i dati esistenti nella tabella a meno che non si eseguisca una tabella e riscrivi i dati.

Conclusione

È importante notare che mentre i dati a riposo sono crittografati per impostazione predefinita, i dati in transito tra client e DynamoDB non sono crittografati a meno che non si abilita specificamente SSL/TLS. Per abilitare SSL/TLS, è possibile utilizzare il Https protocollo durante la domanda del dinamo. Puoi anche usare il Console di gestione AWS, IL AWS CLI, o uno qualsiasi dei AWS SDKS Per abilitare la crittografia per le tabelle DynamoDB.