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à.
Provider di materiali KMS diretto
Nota
La nostra libreria di crittografia lato client è stata rinominata Database Encryption SDK. AWS Il seguente argomento fornisce informazioni sulle versioni 1. x —2. x del DynamoDB Encryption Client for Java e versioni 1. x —3. x del client di crittografia DynamoDB per Python. Per ulteriori informazioni, consulta AWS Database Encryption SDK per il supporto della versione DynamoDB.
Direct KMS Materials Provider (Direct KMS Provider) protegge gli elementi della tabella in modo AWS KMS keyche non rimangano mai () non crittografati. AWS Key Management ServiceAWS KMS Questo provider di materiali crittografici restituisce una chiave di crittografia e una chiave di firma univoche per ogni item della tabella. A tal fine, chiama AWS KMS ogni volta che si crittografa o decrittografa un elemento.
Se stai elaborando elementi DynamoDB ad alta frequenza e su larga scala, potresti superare i limiti, causando ritardi AWS KMS requests-per-secondnell'elaborazione. Se devi superare un limite, crea un caso nel Centro.Supporto AWS
Per utilizzare Direct KMS Provider, il chiamante deve disporre di almeno uno AWS KMS key e del permesso di chiamare GenerateDataKeye decriptare le operazioni su. Account AWS
Nota
Quando si utilizza Direct KMS Provider, i nomi e i valori degli attributi della chiave primaria vengono visualizzati in testo semplice nel contesto di AWS KMS crittografia e nei registri delle operazioni correlate. AWS CloudTrail AWS KMS Tuttavia, il DynamoDB Encryption Client non espone mai il testo in chiaro di alcun valore di attributo crittografato.
Il Direct KMS Provider è uno dei numerosi fornitori di materiali crittografici (CMPs) supportati dal DynamoDB Encryption Client. Per informazioni sull'altro, consulta. CMPs Fornitore di materiali crittografici
Per il codice di esempio, consulta:
Argomenti
Come utilizzarlo
Per creare un Direct KMS Provider, utilizza il parametro key ID per specificare una chiave KMS di crittografia simmetrica nel tuo account. Il valore del parametro key ID può essere l'ID chiave, l'ARN della chiave, il nome dell'alias o l'alias ARN di. AWS KMS keyPer i dettagli sugli identificatori chiave, consulta Identificatori chiave nella Guida per gli sviluppatori.AWS Key Management Service
Il provider Direct KMS richiede una chiave KMS di crittografia simmetrica. Non è possibile utilizzare una chiave KMS asimmetrica. Tuttavia, puoi utilizzare una chiave KMS multiregionale, una chiave KMS con materiale chiave importato o una chiave KMS in un archivio di chiavi personalizzato. È necessario disporre dell'autorizzazione kms: GenerateDataKey e KMS:Decrypt sulla chiave KMS. Pertanto, è necessario utilizzare una chiave gestita dal cliente, non una chiave KMS gestita o di proprietà. AWS AWS
Il client di crittografia DynamoDB per Python determina la regione per la AWS KMS chiamata dalla regione nel valore del parametro ID chiave, se ne include una. Altrimenti, utilizza la Regione nel AWS KMS client, se ne specifichi una, o la Regione che configuri in. AWS SDK for Python (Boto3) Per informazioni sulla selezione della regione in Python, consulta Configuration
Il client di crittografia DynamoDB per Java determina la regione per la AWS KMS chiamata dalla regione del client, se AWS KMS il client specificato include una regione. Altrimenti, utilizza la regione configurata in. AWS SDK for Java Per informazioni sulla selezione della regione in AWS SDK for Java, consulta la Regione AWS selezione nella Guida per gli AWS SDK for Java sviluppatori.
Se utilizzi tabelle globali di Amazon DynamoDB, ti consigliamo di crittografare i dati con una chiave multiregionale. AWS KMS Le chiavi multiregionali sono disponibili AWS KMS keys in diversi formati e possono essere utilizzate in Regioni AWS modo intercambiabile perché hanno lo stesso ID di chiave e lo stesso materiale chiave. Per i dettagli, consulta Uso delle chiavi multiregionali nella Guida per gli sviluppatori.AWS Key Management Service
Nota
Se si utilizza la versione 2017.11.29 delle tabelle globali, è necessario impostare le azioni degli attributi in modo che i campi di replica riservati non siano crittografati o firmati. Per informazioni dettagliate, consultare Problemi con le tabelle globali delle versioni precedenti.
Per utilizzare una chiave multiregione con il DynamoDB Encryption Client, crea una chiave multiregione e replicala nelle regioni in cui viene eseguita l'applicazione. Quindi configura il provider Direct KMS per utilizzare la chiave multiregione nella regione in cui il DynamoDB Encryption Client chiama. AWS KMS
L'esempio seguente configura il DynamoDB Encryption Client per crittografare i dati nella regione Stati Uniti orientali (Virginia settentrionale) (us-east-1) e decrittografarli nella regione Stati Uniti occidentali (Oregon) (us-west-2) utilizzando una chiave multiregionale.
Come funziona
Il provider Direct KMS restituisce chiavi di crittografia e firma protette da una AWS KMS key password specificata dall'utente, come illustrato nel diagramma seguente.

-
Per generare materiali di crittografia, il provider Direct KMS richiede di AWS KMS generare una chiave dati univoca per ogni elemento utilizzando una AWS KMS key chiave specificata dall'utente. Deriva le chiavi di crittografia e di firma dell'item dalla copia di testo non crittografato della chiave di dati e le restituisce, insieme alla chiave di dati crittografata, archiviata nell'attributo di descrizione del materiale dell'item.
Il componente di crittografia dell'item utilizza le chiavi di crittografia e di firma e le rimuove dalla memoria il prima possibile. Nell'item crittografato viene salvata soltanto la copia crittografata della chiave di dati da cui queste chiavi sono state derivate.
-
Per generare materiali di decrittografia, il provider Direct KMS chiede di AWS KMS decrittografare la chiave dati crittografata. Quindi, deriva le chiavi di verifica e di firma dalla chiave di dati con testo non crittografato e le restituisce al componente di crittografia dell'item.
Il componente di crittografia dell'item effettua la verifica dell'item e, in assenza di errori, decrittografa i valori crittografati. Quindi, rimuove le chiavi dalla memoria il prima possibile.
Ottenere materiali di crittografia
Questa sezione descrive nei dettagli gli input, gli output e l'elaborazione del provider KMS diretto al momento della ricezione di una richiesta di materiali di crittografia dal componente di crittografia dell'item.
Input (dall'applicazione)
-
L'ID della chiave di un. AWS KMS key
Input (dal componente di crittografia dell'item)
Output (sul componente di crittografia dell'item)
-
Chiave di crittografia (testo non crittografato)
-
Chiave di firma
-
Nella descrizione dei materiali effettivi: questi valori vengono salvati nell'attributo di descrizione del materiale aggiunto all'item dal client.
-
amzn-ddb-env-key: chiave dati con codifica Base64 crittografata da AWS KMS key
-
amzn-ddb-env-alg: algoritmo di crittografia, per impostazione predefinita AES/256
-
amzn-ddb-sig-alg: algoritmo di firma, per impostazione predefinita, Hmac/256 SHA256
-
amzn-ddb-wrap-alg: km
-
Processing
-
Il provider Direct KMS invia AWS KMS una richiesta per utilizzare quanto specificato AWS KMS key per generare una chiave dati univoca per l'articolo. L'operazione restituisce una chiave di testo non crittografato e una copia che viene crittografata con la AWS KMS key. Quest'ultima è nota come materiale di chiave iniziale.
La richiesta include i valori seguenti sotto forma di testo non crittografato nel contesto di crittografia di AWS KMS. Questi valori non segreti sono crittograficamente legati all'oggetto crittografato; pertanto, per effettuare la decrittografia è necessario lo stesso contesto di crittografia. È possibile utilizzare questi valori per identificare la chiamata AWS KMS ai AWS CloudTrail log.
-
amzn-ddb-env-alg — Algoritmo di crittografia, di default AES/256
-
amzn-ddb-sig-alg — Algoritmo di firma, di default Hmac/256 SHA256
-
(Opzionale) — aws-kms-table
table name
-
(Facoltativo)
partition key name
—partition key value
(i valori binari sono codificati in Base64) -
(Facoltativo)
sort key name
— (i valori binari sono codificati insort key value
Base64)
Il provider Direct KMS ottiene i valori per il contesto di AWS KMS crittografia dal contesto di crittografia DynamoDB per l'elemento. Se il contesto di crittografia DynamoDB non include un valore, ad esempio il nome della tabella, quella coppia nome-valore viene omessa dal contesto di crittografia. AWS KMS
-
-
Il Provider KMS diretto deriva la chiave di crittografia e la chiave di firma simmetriche dalla chiave di dati. Per impostazione predefinita, utilizza Secure Hash Algorithm (SHA) 256 e la Key Derivation Function RFC5869 basata su HMAC per derivare una chiave di crittografia simmetrica AES a 256 bit e una chiave di firma HMAC-SHA-256
a 256 bit. -
Il Provider KMS diretto restituisce l'output al componente di crittografia dell'item.
-
Il componente di crittografia dell'item utilizza la chiave di crittografia per crittografare gli attributi specificati e la chiave di firma per firmarli, tramite gli algoritmi specificati nella descrizione dei materiali effettivi. Rimuove le chiavi di testo non crittografato dalla memoria il prima possibile.
Ottenere materiali di decrittografia
Questa sezione descrive nei dettagli gli input, gli output e l'elaborazione del provider KMS diretto al momento della ricezione di una richiesta di materiali di decrittografia dal componente di crittografia dell'item.
Input (dall'applicazione)
-
L'ID della chiave di un. AWS KMS key
Il valore dell'ID chiave può essere l'ID della chiave, l'ARN della chiave, il nome dell'alias o l'alias ARN di. AWS KMS keyTutti i valori che non sono inclusi nell'ID della chiave, come la regione, devono essere disponibili nel profilo denominato.AWS L'ARN chiave fornisce tutti i valori necessari. AWS KMS
Input (dal componente di crittografia dell'item)
-
Una copia del contesto di crittografia DynamoDB che contiene il contenuto dell'attributo di descrizione del materiale.
Output (sul componente di crittografia dell'item)
-
Chiave di crittografia (testo non crittografato)
-
Chiave di firma
Processing
-
Il provider Direct KMS ottiene la chiave dei dati crittografati dall'attributo di descrizione del materiale nell'elemento crittografato.
-
Chiede AWS KMS di utilizzare quanto specificato AWS KMS key per decrittografare la chiave dati crittografata. L'operazione restituisce una chiave di testo non crittografato.
Questa richiesta deve utilizzare lo stesso contesto di crittografia di AWS KMS utilizzato per generare e crittografare la chiave di dati.
-
aws-kms-table –
table name
-
partition key name
—partition key value
(i valori binari sono codificati in Base64) -
(Facoltativo)
sort key name
— (i valori binari sono codificati insort key value
Base64) -
amzn-ddb-env-alg — Algoritmo di crittografia, di default AES/256
-
amzn-ddb-sig-alg — Algoritmo di firma, di default Hmac/256 SHA256
-
-
Il provider Direct KMS utilizza Secure Hash Algorithm (SHA) 256 e la funzione di derivazione delle chiavi RFC5869 basata su HMAC per derivare una
chiave di crittografia simmetrica AES a 256 bit e una chiave di firma HMAC-SHA-256 a 256 bit dalla chiave dati. -
Il Provider KMS diretto restituisce l'output al componente di crittografia dell'item.
-
Il componente di crittografia dell'item utilizza la chiave di firma per verificare l'item. Se l'operazione riesce, utilizza la chiave di crittografia simmetrica per decrittografare i valori di attributo crittografati. Queste operazioni utilizzano gli algoritmi di crittografia e di firma specificati nella descrizione dei materiali effettivi. Il componente di crittografia dell'item rimuove le chiavi di testo non crittografato dalla memoria il prima possibile.