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à.
Specificare la crittografia lato server con AWS KMS (SSE-KMS) per il caricamento di nuovi oggetti nei bucket di directory
Per i bucket di directory, per crittografare i dati con la crittografia lato server, puoi utilizzare la crittografia lato server con chiavi gestite di Amazon S3 () (impostazione predefinita) o la crittografia lato server con SSE-S3 () keys (). AWS Key Management Service AWS KMS SSE-KMS Si consiglia di utilizzare la configurazione di crittografia predefinita del bucket e di non sovrascrivere la crittografia predefinita del bucket nelle richieste CreateSession o nelle richieste di oggetti PUT. I nuovi oggetti vengono quindi crittografati automaticamente con le impostazioni di crittografia desiderate. Per ulteriori informazioni sui comportamenti di sovrascrittura della crittografia nei bucket di directory, consulta Specificazione della crittografia lato server con per il caricamento di nuovi oggetti. AWS KMS
Tutti i bucket Amazon S3 hanno la crittografia configurata di default e tutti i nuovi oggetti caricati in un bucket S3 vengono crittografati automaticamente quando sono inattivi. Server-side la crittografia con chiavi gestite di Amazon S3 (SSE-S3) è la configurazione di crittografia predefinita per ogni bucket in Amazon S3. Se desideri specificare un tipo di crittografia diverso per un bucket di directory, puoi utilizzare la crittografia lato server con AWS Key Management Service () keys ().AWS KMS SSE-KMS Per crittografare nuovi oggetti in un bucket di directory con SSE-KMS, è necessario specificare SSE-KMS come configurazione di crittografia predefinita del bucket di directory una chiave KMS (in particolare, una chiave gestita dal cliente). Chiave gestita da AWS (aws/s3) non è supportato. La tua SSE-KMS configurazione può supportare solo 1 chiave gestita dal cliente per ogni bucket di directory per tutta la durata del bucket. Dopo aver specificato una chiave gestita dal cliente per SSE-KMS, non è possibile sovrascrivere la chiave gestita dal cliente per la configurazione del bucket. SSE-KMS Quindi, quando si specificano le impostazioni di crittografia lato server per nuovi oggetti con SSE-KMS, è necessario assicurarsi che la chiave di crittografia sia la stessa chiave gestita dal cliente specificata per la configurazione di crittografia predefinita del bucket di directory. Per utilizzare una nuova chiave gestita dal cliente per i propri dati, si consiglia di copiare gli oggetti esistenti in un nuovo bucket della directory con una nuova chiave gestita dal cliente.
È possibile applicare la crittografia quando stai caricando un nuovo oggetto o copiando un oggetto esistente. Se si modifica la crittografia di un oggetto, viene creato un nuovo oggetto per sostituire quello precedente.
È possibile specificare SSE-KMS utilizzando le operazioni dell'API REST, AWS gli SDK e (). AWS Command Line Interface AWS CLI
Nota
-
Per i bucket di directory, i comportamenti di esclusione della crittografia sono i seguenti:
-
Quando si utilizza l'CreateSessionAPI REST per autenticare e autorizzare le richieste API degli endpoint Zonal, ad eccezione di CopyObjecte UploadPartCopy, è possibile sovrascrivere le impostazioni di crittografia su SSE-S3 o su SSE-KMS solo se in precedenza è stata specificata la crittografia predefinita del bucket. SSE-KMS
-
Quando si utilizza CreateSessioncon l'SDK AWS CLI o gli AWS SDK per autenticare e autorizzare le richieste API degli endpoint Zonal, ad eccezione CopyObjectdi e, non è possibile sovrascrivere affatto le impostazioni di crittografia. UploadPartCopy
-
Quando effettui CopyObjectrichieste, puoi sostituire le impostazioni di crittografia SSE-KMS solo se in precedenza hai specificato la crittografia predefinita del bucket. SSE-S3 SSE-KMS Quando effettui UploadPartCopyrichieste, non puoi sovrascrivere le impostazioni di crittografia.
-
-
Puoi usare più regioni AWS KMS keys in Amazon S3. Tuttavia, Amazon S3 attualmente tratta le chiavi multiregionali come se fossero chiavi monoregionali e non utilizza le caratteristiche multiregionali della chiave. Per ulteriori informazioni, consulta Utilizzo delle chiavi multi-regione nella Guida per gli sviluppatori di AWS Key Management Service .
Se si desidera utilizzare una chiave KMS di proprietà di un altro account, è necessario avere l'autorizzazione a utilizzarla. Per ulteriori informazioni sulle autorizzazioni tra account per le chiavi KMS, vedi Creazione di chiavi KMS utilizzabili da altri account nella Guida per gli sviluppatori di AWS Key Management Service .
Nota
Per ogni bucket di directory è supportata una sola chiave gestita dal cliente per tutta la durata del bucket. Chiave gestita da AWS (aws/s3) non è supportato. Dopo aver specificato SSE-KMS come configurazione di crittografia predefinita del bucket una chiave gestita dal cliente, non è possibile modificare la chiave gestita dal cliente per la configurazione del bucket. SSE-KMS
Per le operazioni API degli endpoint zonali (a livello di oggetto), ad eccezione di CopyObjecte UploadPartCopy, puoi autenticare e autorizzare le richieste per una bassa latenza. CreateSession Si consiglia di utilizzare la crittografia predefinita del bucket con le configurazioni di crittografia desiderate e di non sovrascrivere la crittografia predefinita del bucket nelle richieste CreateSession o nelle richieste di oggetti PUT. I nuovi oggetti vengono quindi crittografati automaticamente con le impostazioni di crittografia desiderate. Per crittografare nuovi oggetti in un bucket di directory con SSE-KMS, è necessario specificare SSE-KMS come configurazione di crittografia predefinita del bucket di directory una chiave KMS (in particolare, una chiave gestita dal cliente). Quindi, quando viene creata una sessione per le operazioni dell'API degli endpoint Zonal, i nuovi oggetti vengono automaticamente crittografati e decrittografati con SSE-KMS le chiavi S3 Bucket durante la sessione. Per ulteriori informazioni sui comportamenti di sovrascrittura della crittografia nei bucket di directory, consulta Specificazione della crittografia lato server con per il caricamento di nuovi oggetti. AWS KMS
Nelle chiamate API degli endpoint Zonal (eccetto CopyObjecte UploadPartCopy) che utilizzano l'API REST, non è possibile sovrascrivere i valori delle impostazioni di crittografia (,, e) dalla richiesta. x-amz-server-side-encryption x-amz-server-side-encryption-aws-kms-key-id x-amz-server-side-encryption-context x-amz-server-side-encryption-bucket-key-enabled CreateSession Non è necessario specificare esplicitamente i valori delle impostazioni di crittografia nelle chiamate API dell'endpoint di zona; Amazon S3 utilizzerà i valori delle impostazioni di crittografia dalla richiesta CreateSession per proteggere i nuovi oggetti nel bucket della directory.
Nota
Quando si utilizzano gli AWS CLI AWS SDK, forCreateSession, il token di sessione si aggiorna automaticamente per evitare interruzioni del servizio alla scadenza di una sessione. Gli AWS CLI o gli AWS SDK utilizzano la configurazione di crittografia predefinita del bucket per la richiesta. CreateSession Non è supportato l'annullamento dei valori delle impostazioni di crittografia nella richiesta CreateSession. Inoltre, nelle chiamate API degli endpoint Zonal (eccetto CopyObjecte UploadPartCopy), non è supportato l'override dei valori delle impostazioni di crittografia della richiesta. CreateSession
Per CopyObjectcrittografare nuove copie di oggetti in un bucket di directory con SSE-KMS, è necessario specificare SSE-KMS come configurazione di crittografia predefinita del bucket di directory una chiave KMS (in particolare, una chiave gestita dal cliente). Quindi, quando si specificano le impostazioni di crittografia sul lato server per le nuove copie di oggetti con SSE-KMS, è necessario assicurarsi che la chiave di crittografia sia la stessa chiave gestita dal cliente specificata per la configurazione di crittografia predefinita del bucket di directory. Per UploadPartCopycrittografare nuove copie di parti di oggetti in un bucket di directory SSE-KMS, è necessario specificare SSE-KMS come configurazione di crittografia predefinita del bucket di directory una chiave KMS (in particolare, una chiave gestita dal cliente). Non è possibile specificare le impostazioni di crittografia sul lato server per le nuove copie di parti dell'oggetto nelle intestazioni della richiesta. SSE-KMS UploadPartCopy Inoltre, le impostazioni di crittografia fornite nella CreateMultipartUploadrichiesta devono corrispondere alla configurazione di crittografia predefinita del bucket di destinazione.
Argomenti
Operazioni dell'API REST di Amazon S3 che supportano SSE-KMS
Le seguenti operazioni REST API a livello di oggetto nei bucket di directory accettano le intestazioni di richiesta x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-ide x-amz-server-side-encryption-context.
-
CreateSession— Quando utilizzi operazioni API Zonal endpoint (a livello di oggetto) (eccetto CopyObject e UploadPartCopy), puoi specificare queste intestazioni di richiesta.
-
PutObject: quando carichi i dati utilizzando l'operazione API
PUT, è possibile specificare queste intestazioni di richiesta. -
CopyObject - Quando si copia un oggetto, si ha un oggetto di origine e un oggetto di destinazione. Quando si passano le SSE-KMS intestazioni con l'
CopyObjectoperazione, queste vengono applicate solo all'oggetto di destinazione. -
CreateMultipartUpload - Quando si caricano oggetti di grandi dimensioni utilizzando l'operazione API di caricamento multiparte, è possibile specificare queste intestazioni. Queste intestazioni vengono specificate nella richiesta
CreateMultipartUpload.
Le intestazioni di risposta delle seguenti operazioni REST API restituiscono l'intestazione x-amz-server-side-encryption quando un oggetto viene memorizzato utilizzando la crittografia lato server.
Importante
-
Tutte le richieste di
GETePUTper un oggetto protetto da AWS KMS falliscono se non si effettuano queste richieste utilizzando il Transport Layer Security (TLS) o la Signature Version 4. -
Se l'oggetto lo utilizza SSE-KMS, non inviate le intestazioni delle richieste di crittografia per
GETrichieste eHEADrichieste, altrimenti riceverete un erroreHTTP 400 BadRequest.
Contesto di crittografia (x-amz-server-side-encryption-context)
Se si specifica x-amz-server-side-encryption:aws:kms, l'API di Amazon S3 consente di fornire facoltativamente un contesto di crittografia esplicito con l'intestazione x-amz-server-side-encryption-context. Per i bucket di directory, un contesto di crittografia è un insieme di coppie chiave-valore che contengono informazioni contestuali sui dati. Il valore deve corrispondere al contesto di crittografia predefinito: il nome della risorsa Amazon (ARN) per il bucket. Non è supportato un valore aggiuntivo del contesto di crittografia.
Per informazioni sul contesto di crittografia nei bucket di directory, consulta Contesto di crittografia. Per informazioni generali sul contesto di crittografia, consulta Concetti di AWS Key Management Service : Contesto di crittografia nella Guida per gli sviluppatori di AWS Key Management Service .
AWS KMS ID della chiave (x-amz-server-side-encryption-aws-kms-key-id)
Puoi utilizzare l'intestazione x-amz-server-side-encryption-aws-kms-key-id per specificare l'ID della chiave gestita dal cliente utilizzata per proteggere i dati.
La SSE-KMS configurazione può supportare solo 1 chiave gestita dal cliente per bucket di directory per tutta la durata del bucket. Chiave gestita da AWS (aws/s3) non è supportato. Inoltre, dopo aver specificato una chiave gestita dal cliente per SSE-KMS, non è possibile sovrascrivere la chiave gestita dal cliente per la configurazione del bucket. SSE-KMS
È possibile identificare la chiave gestita dal cliente specificata per la SSE-KMS configurazione del bucket nel modo seguente:
Si effettua una richiesta di operazione API
HeadObjectper trovare il valore dix-amz-server-side-encryption-aws-kms-key-idnella risposta.
Per utilizzare una nuova chiave gestita dal cliente per i propri dati, si consiglia di copiare gli oggetti esistenti in un nuovo bucket della directory con una nuova chiave gestita dal cliente.
Per informazioni sul contesto di crittografia nei bucket di directory, consulta AWS KMS keys.
Chiavi S3 Bucket (x-amz-server-side-encryption-aws-bucket-key-enabled)
Le S3 Bucket Keys sono sempre abilitate per le operazioni GET e PUT in un bucket di directory e non possono essere disabilitate. Le S3 Bucket Key non sono supportate quando copi oggetti SSE-KMS crittografati da bucket generici a bucket di directory, da bucket di directory a bucket generici o tra bucket di directory, tramite UploadPartCopyl'operazione Copy in Batch Operations o i job. CopyObjectimport In questo caso, Amazon S3 effettua una chiamata AWS KMS ogni volta che viene effettuata una richiesta di copia per un KMS-encrypted oggetto. Per informazioni sulle chiavi dei bucket S3 nei bucket di directory, consulta Contesto di crittografia.
Nota
Quando si utilizza AWS CLI, forCreateSession, il token di sessione si aggiorna automaticamente per evitare interruzioni del servizio alla scadenza di una sessione. Non è supportato sovrascrivere i valori delle impostazioni di crittografia per la richiesta CreateSession. Inoltre, nelle chiamate API degli endpoint Zonal (eccetto CopyObjecte UploadPartCopy), non è supportato l'override dei valori delle impostazioni di crittografia della richiesta. CreateSession
Per crittografare nuovi oggetti in un bucket di directory con SSE-KMS, è necessario specificare SSE-KMS come configurazione di crittografia predefinita del bucket di directory una chiave KMS (in particolare, una chiave gestita dal cliente). Quindi, quando viene creata una sessione per le operazioni dell'API degli endpoint Zonal, i nuovi oggetti vengono automaticamente crittografati e decrittografati con SSE-KMS le chiavi S3 Bucket durante la sessione.
Per utilizzare i seguenti AWS CLI comandi di esempio, sostituiscili con le tue informazioni. user input
placeholders
Quando caricate un nuovo oggetto o copiate un oggetto esistente, potete specificare l'uso della crittografia lato server con AWS KMS chiavi per crittografare i dati. A tale scopo, utilizzate il put-bucket-encryption comando per impostare la configurazione di crittografia predefinita del bucket di directory come (). SSE-KMS aws:kms In particolare, aggiungi l'intestazione --server-side-encryption aws:kms alla richiesta. Utilizzate il --ssekms-key-id per aggiungere la AWS KMS chiave gestita dal cliente che avete creato. Se lo specifichiexample-key-id--server-side-encryption
aws:kms, devi fornire un ID AWS KMS chiave della tua chiave gestita dal cliente. I bucket di directory non utilizzano una chiave AWS gestita. Per un comando di esempio, consulta Utilizzo di AWS CLI.
Quindi, quando si carica un nuovo oggetto con il seguente comando, Amazon S3 utilizza le impostazioni del bucket per la crittografia predefinita per crittografare l'oggetto in modo predefinito.
aws s3api put-object --bucket--keybucket-base-name--zone-id--x-s3example-object-key--bodyfilepath
Non è necessario aggiungere esplicitamente -\-bucket-key-enabled nei comandi delle operazioni API dell'endpoint di zona. Le S3 Bucket Keys sono sempre abilitate per le operazioni GET e PUT in un bucket di directory e non possono essere disabilitate. Le S3 Bucket Key non sono supportate quando copi oggetti SSE-KMS crittografati da bucket generici a bucket di directory, da bucket di directory a bucket generici o tra bucket di directory, tramite UploadPartCopyl'operazione Copy in Batch Operations o i job. CopyObjectimport In questo caso, Amazon S3 effettua una chiamata AWS KMS ogni volta che viene effettuata una richiesta di copia per un KMS-encrypted oggetto.
È possibile copiare un oggetto da un bucket di origine (ad esempio, un bucket generico) in un nuovo bucket (ad esempio un bucket di directory) e utilizzare la SSE-KMS crittografia per gli oggetti di destinazione. A tale scopo, utilizzate il put-bucket-encryption comando per impostare la configurazione di crittografia predefinita del bucket di destinazione (ad esempio, un bucket di directory) come (). SSE-KMS aws:kms Per un comando di esempio, consulta Utilizzo di AWS CLI. Quindi, quando si copia un oggetto con il seguente comando, Amazon S3 utilizza le impostazioni del bucket per la crittografia predefinita per crittografare l'oggetto per impostazione predefinita.
aws s3api copy-object --copy-source/amzn-s3-demo-bucketexample-object-key--bucket--keybucket-base-name--zone-id--x-s3example-object-key
Quando usi AWS gli SDK, puoi richiedere che Amazon S3 venga AWS KMS keys utilizzato per la crittografia lato server. Gli esempi seguenti mostrano come utilizzare SSE-KMS con gli AWS SDK per Java e.NET. Per informazioni su altri SDK, consulta Codice di esempio e librerie
Nota
Quando utilizzi gli AWS SDK, forCreateSession, il token di sessione si aggiorna automaticamente per evitare interruzioni del servizio alla scadenza di una sessione. Non è supportato sovrascrivere i valori delle impostazioni di crittografia per la richiesta CreateSession. Inoltre, nelle chiamate API degli endpoint Zonal (eccetto CopyObjecte UploadPartCopy), non è supportato l'override dei valori delle impostazioni di crittografia della richiesta. CreateSession
Per crittografare nuovi oggetti in un bucket di directory con SSE-KMS, è necessario specificare SSE-KMS come configurazione di crittografia predefinita del bucket di directory una chiave KMS (in particolare, una chiave gestita dal cliente). Quindi, quando viene creata una sessione per le operazioni dell'API degli endpoint Zonal, i nuovi oggetti vengono automaticamente crittografati e decrittografati con SSE-KMS le chiavi S3 Bucket durante la sessione.
Per ulteriori informazioni sull'utilizzo degli AWS SDK per impostare la configurazione di crittografia predefinita di un bucket di directory come, vedi. SSE-KMS Utilizzo di AWS SDK
Importante
Quando utilizzi una chiave KMS AWS KMS key per la crittografia lato server in Amazon S3, devi scegliere una chiave KMS di crittografia simmetrica. Amazon S3 supporta solo chiavi KMS di crittografia simmetrica. Per ulteriori informazioni sulle chiavi, consulta Chiavi KMS di crittografia simmetrica nella Guida per gli sviluppatori di AWS Key Management Service .
Per ulteriori informazioni sulla creazione di chiavi gestite dal cliente, consulta Programming the API nella AWS KMS Developer Guide.AWS Key Management Service