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.

Usa IAM i ruoli 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. AWS API 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 IAM ruolo 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.

Usa IAM le policy per l'autorizzazione di base DynamoDB

Quando concedi le autorizzazioni, sei tu a decidere chi le ottiene, per quale DynamoDB APIs ottengono le autorizzazioni e le azioni specifiche che desideri 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.

Associa le politiche di autorizzazione alle IAM identità (ovvero utenti, gruppi e ruoli) e quindi concedi le autorizzazioni per eseguire operazioni sulle risorse DynamoDB.

Puoi farlo usando quanto segue:

Utilizza le condizioni IAM politiche per un 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.

È possibile specificare le condizioni per la concessione delle autorizzazioni utilizzando una politica. 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, vedere Utilizzo delle condizioni IAM politiche per il controllo granulare degli accessi.

Usa un VPC endpoint e delle policy per accedere a DynamoDB

Se si richiede l'accesso a DynamoDB solo dall'interno di un cloud privato virtuale VPC (), è necessario utilizzare VPC un endpoint per limitare l'accesso solo a quello necessario. VPC Questo impedisce che il traffico attraversi l'Internet aperto e che sia soggetto a tale ambiente.

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

  • VPCpolicy degli endpoint: queste policy vengono applicate all'endpoint DynamoDBVPC. Consentono di controllare e limitare API l'accesso alla tabella DynamoDB.

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

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 è una libreria software che aiuta a proteggere i dati delle tabelle 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 GSI chiave, si consiglia di utilizzare end-to-end la crittografia client. 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 la crittografia del AWS database SDK per DynamoDB, ma ciò non è obbligatorio. Se utilizzi la tua soluzione, 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.