Best practice relative alla sicurezza di prevenzione di DynamoDB - Amazon DynamoDB

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

Best practice relative alla sicurezza di prevenzione di DynamoDB

Le seguenti best practice consentono di anticipare ed evitare incidenti di sicurezza in Amazon DynamoDB.

Crittografia a riposo

DynamoDB esegue la crittografia dei dati a riposo per tutti i dati utente archiviati in tabelle, indici, flussi e backup utilizzando chiavi di crittografia archiviate in AWS Key Management Service (AWS KMS). Questo fornisce un livello aggiuntivo di protezione dei dati dagli accessi non autorizzati allo storage sottostante.

È possibile specificare se DynamoDB deve utilizzare Chiave di proprietà di AWS una chiave (tipo di crittografia predefinito), una o Chiave gestita da AWS una chiave gestita dal cliente per crittografare i dati degli utenti. Per ulteriori informazioni, consulta la sezione relativa alla crittografia dei dati inattivi di Amazon DynamoDB.

Utilizzo di ruoli IAM per autenticare l'accesso a DynamoDB

Affinché utenti, applicazioni e altri AWS servizi possano accedere a DynamoDB, devono includere credenziali AWS valide nelle loro richieste API. AWS Non è necessario archiviare AWS le credenziali direttamente nell'applicazione o nell'istanza EC2. Si tratta di credenziali a lungo termine che non vengono automaticamente ruotate e, pertanto, potrebbero avere un impatto aziendale significativo se compromesse. Un ruolo IAM consente di ottenere chiavi di accesso temporanee che possono essere utilizzate per accedere a AWS servizi e risorse.

Per ulteriori informazioni, consulta Identity and Access Management per Amazon DynamoDB.

Utilizzo di policy IAM per autorizzazione di base di DynamoDB

Quando si concedono le autorizzazioni, si decide gli utenti che le riceveranno, quali API DynamoDB ottengono le autorizzazioni e le operazioni specifiche da consentire su tali risorse. L'implementazione dei privilegi minimi è fondamentale per ridurre i rischi di sicurezza e l'impatto che può risultare da errori o intenzioni dannose.

Collegare policy di autorizzazione a identità IAM (ovvero, utenti, gruppi e ruoli) e concedere in tal modo le autorizzazioni per eseguire operazioni su risorse DynamoDB.

Puoi farlo usando quanto segue:

Utilizzo di condizioni di policy IAM per il controllo granulare degli accessi

Quando si concedono le autorizzazioni in DynamoDB, è possibile specificare le condizioni che determinano il modo in cui una policy di autorizzazioni viene applicata. L'implementazione dei privilegi minimi è fondamentale per ridurre i rischi di sicurezza e l'impatto che può risultare da errori o intenzioni dannose.

Puoi specificare le condizioni durante la concessione delle autorizzazioni utilizzando una policy IAM. Ad esempio, puoi eseguire le operazioni seguenti:

  • Concedere autorizzazioni per permettere agli utenti accesso in sola lettura a determinati elementi e attributi in una tabella o indice secondario.

  • Concedere autorizzazioni per permettere agli utenti di accedere in sola scrittura a determinati attributi in una tabella, in base all'identità di tale utente.

Per ulteriori informazioni, consulta Utilizzo di condizioni di policy IAM per il controllo degli accessi fine-grained.

Utilizzo di un endpoint VPC e delle policy per accedere a DynamoDB

Se si richiede l'accesso a DynamoDB solo da un virtual private cloud (VPC), è necessario utilizzare un endpoint VPC per limitare l'accesso solo dal VPC richiesto. Questo impedisce che il traffico attraversi l'Internet aperto e che sia soggetto a tale ambiente.

L'utilizzo di un endpoint VPC per DynamoDB consente di controllare e imitare l'accesso utilizzando quanto segue:

  • Policy di endpoint VPC: queste policy vengono applicate all'endpoint VPC di DynamoDB. Consentono inoltre di controllare e limitare l'accesso API alla tabella DynamoDB.

  • Policy IAM: utilizzando la condizione aws:sourceVpce sulle policy collegate a utenti, gruppi o ruoli, è possibile imporre che tutti gli accessi alla tabella DynamoDB avvengano tramite l'endpoint VPC specificato.

Per ulteriori informazioni, consulta Endpoint per Amazon DynamoDB.

Valutazione della crittografia lato client

Consigliamo di pianificare la strategia di crittografia prima di implementare la tabella in DynamoDB. Se archivi dati sensibili o riservati in DynamoDB, prendi in considerazione l'inclusione della crittografia lato client nel piano. In questo modo puoi crittografare i dati il più vicino possibile alla loro origine e garantirne la protezione per tutto il loro ciclo di vita. Grazie alla crittografia dei dati sensibili in transito e inattivi, puoi accertarti che i dati di testo non crittografato non siano disponibili per terze parti.

AWS Database Encryption SDK for DynamoDB (SDK di crittografia del database AWS  per DynamoDB) è una libreria software che consente di proteggere i dati della tabella prima di inviarli a DynamoDB. Crittografa, firma, verifica e decrittografa gli elementi della tabella DynamoDB. L'utente controlla quali attributi sono crittografati e firmati.

Considerazioni chiave primarie

Non utilizzate nomi sensibili o dati sensibili in chiaro nella chiave primaria per la tabella e gli indici secondari globali. I nomi delle chiavi verranno visualizzati nella definizione della tabella. Ad esempio, i nomi delle chiavi primarie sono accessibili a chiunque disponga delle autorizzazioni per effettuare chiamate DescribeTable. I valori delle chiavi possono essere visualizzati nei tuoi registri AWS CloudTraile in altri. Inoltre, DynamoDB utilizza i valori chiave per distribuire i dati e instradare le richieste AWS e gli amministratori possono osservare i valori per mantenere l'integrità del servizio.

Se è necessario utilizzare dati sensibili nella tabella o nei valori della chiave GSI, si consiglia di utilizzare la crittografia client. end-to-end Ciò consente di eseguire riferimenti chiave-valore ai dati garantendo al contempo che non appaiano mai non crittografati nei log relativi a DynamoDB. Un modo per farlo è utilizzare il AWS Database Encryption SDK per DynamoDB, ma non è obbligatorio. Se utilizzi una soluzione personalizzata, dovremmo sempre utilizzare un algoritmo di crittografia sufficientemente sicuro. Non dovresti usare un'opzione non crittografica come un hash, poiché nella maggior parte delle situazioni non sono considerate sufficientemente sicure.

Se i nomi delle chiavi primarie sono riservati, consigliamo di utilizzare `pk` e invece. `sk` Questa è una best practice generale che lascia flessibile la progettazione della chiave di partizione.

Consultate sempre i vostri esperti di sicurezza o il team addetto all' AWS account se siete preoccupati di quale sarebbe la scelta giusta.