Specificazione della crittografia lato server con AWS KMS (SSE-KMS) per il caricamento di nuovi oggetti nei bucket di directory - Amazon Simple Storage Service

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

Specificazione della 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 (-S3) SSE (impostazione predefinita) o la crittografia lato server con () chiavi (-). AWS Key Management Service AWS KMS SSE KMS Consigliamo che la crittografia predefinita del bucket utilizzi la configurazione di crittografia desiderata e di non sovrascrivere la crittografia predefinita del bucket nelle richieste o nelle richieste di oggetti. CreateSession PUT Quindi, i nuovi oggetti vengono crittografati automaticamente con le impostazioni di crittografia desiderate. Per ulteriori informazioni sui comportamenti di sovrascrittura della crittografia nei bucket di directory, consultate Specificazione della crittografia lato server con per il caricamento di nuovi oggetti. AWS KMS

Tutti i bucket Amazon S3 hanno la crittografia configurata per impostazione predefinita e tutti i nuovi oggetti caricati in un bucket S3 vengono automaticamente crittografati quando sono a riposo. La crittografia lato server 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 () chiavi (-). AWS Key Management Service 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 con una KMS chiave (in particolare, una chiave gestita dal cliente). La Chiave gestita da AWS(aws/s3) non è supportata. La tua SSE KMS configurazione può supportare solo 1 chiave gestita dal cliente per bucket di directory per tutta la durata del bucket. Dopo aver specificato una chiave gestita dal cliente per SSE -KMS, non è possibile sostituire la chiave gestita dal cliente per la configurazione del bucket. SSE KMS Quindi, quando specifichi le impostazioni di crittografia lato server per i nuovi oggetti con SSE -KMS, devi assicurarti 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 tuoi dati, ti consigliamo di copiare gli oggetti esistenti in un nuovo bucket di 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 specificareSSE, KMS AWS SDKs utilizzando le REST API operazioni e AWS Command Line Interface ()AWS CLI.

Nota
  • Per i bucket di directory, i comportamenti di sovrascrittura della crittografia sono i seguenti:

    • Quando si utilizza CreateSessionwith REST API per autenticare e autorizzare le API richieste degli endpoint Zonal ad eccezione di CopyObjecte UploadPartCopy, è possibile sostituire le impostazioni di crittografia su SSE -S3 o su, KMS solo se in precedenza è stata specificata la crittografia predefinita del bucket con SSE -. SSE KMS

    • Quando si utilizza CreateSessioncon il AWS CLI o AWS SDKs per autenticare e autorizzare le API richieste degli endpoint Zonal, ad eccezione CopyObjectdi e, non è possibile sovrascrivere affatto le impostazioni di crittografia. UploadPartCopy

    • Quando si effettuano CopyObjectrichieste, è possibile sovrascrivere le impostazioni di crittografia impostandole su SSE -S3 o su, KMS solo se in precedenza è stata specificata la crittografia predefinita del bucket con SSE -. 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 multi-regione come se fossero chiavi a regione singola e non utilizza le caratteristiche multi-regione della chiave. Per ulteriori informazioni, consulta Utilizzo delle chiavi multi-regione nella Guida per gli sviluppatori di AWS Key Management Service .

  • Se desideri utilizzare una KMS chiave di proprietà di un altro account, devi disporre dell'autorizzazione per utilizzare la chiave. Per ulteriori informazioni sulle autorizzazioni per le KMS chiavi su più account, consulta Creazione di KMS chiavi utilizzabili da altri account nella Guida per gli AWS Key Management Service sviluppatori.

Nota

È supportata solo 1 chiave gestita dal cliente per ogni bucket di directory per tutta la durata del bucket. Il Chiave gestita da AWS(aws/s3) non è supportato. Dopo aver specificatoSSE, KMS come configurazione di crittografia predefinita del bucket con una chiave gestita dal cliente, non è possibile modificare la chiave gestita dal cliente per la configurazione del SSE bucket. KMS

Per le APIoperazioni sugli endpoint zonali (a livello di oggetto), ad eccezione di CopyObjecte UploadPartCopy, è possibile autenticare e autorizzare le richieste tramite una latenza ridotta. CreateSession Consigliamo che la crittografia predefinita del bucket utilizzi le configurazioni di crittografia desiderate e di non sovrascrivere la crittografia predefinita del bucket nelle richieste o nelle richieste di oggetti. CreateSession PUT Quindi, i nuovi oggetti vengono 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 con una KMS chiave (in particolare, una chiave gestita dal cliente). Quindi, quando viene creata una sessione per API le operazioni degli endpoint zonali, i nuovi oggetti vengono automaticamente crittografati e decrittografati con SSE - KMS e S3 Bucket Keys 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 API chiamate agli endpoint zonali (eccetto CopyObjecte UploadPartCopy) che utilizzano il RESTAPI, non è possibile sovrascrivere i valori delle impostazioni di crittografia (,, e) presenti nella 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 questi valori delle impostazioni di crittografia nelle API chiamate endpoint zonali e Amazon S3 utilizzerà i valori delle impostazioni di crittografia della CreateSession richiesta per proteggere i nuovi oggetti nel bucket di directory.

Nota

Quando usi AWS CLI o AWS SDKs, forCreateSession, il token di sessione si aggiorna automaticamente per evitare interruzioni del servizio alla scadenza di una sessione. AWS CLI Oppure AWS SDKs utilizza la configurazione di crittografia predefinita del bucket per la richiesta. CreateSession Non è supportato l'override dei valori delle impostazioni di crittografia nella CreateSession richiesta. Inoltre, nelle API chiamate agli endpoint zonali (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 con una KMS chiave (in particolare, una chiave gestita dal cliente). Quindi, quando specificate le impostazioni di crittografia sul lato server per le nuove copie di oggetti con SSE -KMS, dovete assicurarvi 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 con SSE -KMS, è necessario specificare SSE - KMS come configurazione di crittografia predefinita del bucket di directory con una KMS chiave (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 utilizzando SSE - KMS nelle intestazioni della richiesta. UploadPartCopy Inoltre, le impostazioni di crittografia fornite nella CreateMultipartUploadrichiesta devono corrispondere alla configurazione di crittografia predefinita del bucket di destinazione.

RESTAPIOperazioni Amazon S3 che supportano - SSE KMS

Le seguenti REST API operazioni a livello di oggetto nei bucket di directory accettano le intestazioni x-amz-server-side-encryptionx-amz-server-side-encryption-aws-kms-key-id, e request. x-amz-server-side-encryption-context

  • CreateSession— Quando si utilizzano API operazioni di endpoint zonali (a livello di oggetto) (eccetto CopyObject e UploadPartCopy), è possibile specificare queste intestazioni di richiesta.

  • PutObject— Quando si caricano dati utilizzando l'PUTAPIoperazione, è possibile specificare queste intestazioni di richiesta.

  • CopyObject: quando copi un oggetto, disponi di un oggetto di origine e un oggetto di destinazione. Quando si passano SSE le KMS intestazioni con l'CopyObjectoperazione, queste vengono applicate solo all'oggetto di destinazione.

  • CreateMultipartUpload— Quando caricate oggetti di grandi dimensioni utilizzando l'APIoperazione di caricamento in più parti, potete specificare queste intestazioni. Queste intestazioni vengono specificate nella richiesta. CreateMultipartUpload

Le intestazioni di risposta delle seguenti REST API operazioni restituiscono l'x-amz-server-side-encryptionintestazione quando un oggetto viene archiviato utilizzando la crittografia lato server.

Importante
  • Tutte GET le PUT richieste relative a un oggetto protetto da hanno AWS KMS esito negativo se non si effettuano tali richieste utilizzando Transport Layer Security (TLS) o Signature Version 4.

  • Se il tuo oggetto utilizza SSE -KMS, non inviare le intestazioni delle richieste di crittografia per GET richieste e HEAD richieste, altrimenti riceverai un BadRequest errore HTTP400.

Contesto di crittografia (x-amz-server-side-encryption-context)

Se lo specifichix-amz-server-side-encryption:aws:kms, Amazon S3 ti API supporta per 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 bucket Amazon Resource Name (ARN). Un valore aggiuntivo del contesto di crittografia non è supportato.

Per informazioni sul contesto di crittografia nei bucket di directory, vedereContesto 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 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 tua SSE KMS configurazione può supportare solo 1 chiave gestita dal cliente per bucket di directory per tutta la durata del bucket. Il Chiave gestita da AWS(aws/s3) non è supportato. Inoltre, dopo aver specificato una chiave gestita dal cliente per SSE -KMS, non è possibile sostituire la chiave gestita dal cliente per la configurazione del SSE bucket. KMS

È possibile identificare la chiave gestita dal cliente specificata per la KMS configurazione del bucket nel modo seguenteSSE:

  • Fai una richiesta HeadObject API operativa per trovare il valore di x-amz-server-side-encryption-aws-kms-key-id nella tua risposta.

Per utilizzare una nuova chiave gestita dal cliente per i tuoi dati, ti consigliamo di copiare gli oggetti esistenti in un nuovo bucket di directory con una nuova chiave gestita dal cliente.

Per informazioni sul contesto di crittografia nei bucket di directory, consulta. AWS KMS keys

Chiavi bucket S3 (x-amz-server-side-encryption-aws-bucket-key-enabled)

Le chiavi S3 Bucket sono sempre abilitate per GET PUT tutte le operazioni in un bucket di directory e non possono essere disabilitate. Le S3 Bucket Keys non sono supportate, quando copiSSE: oggetti KMS crittografati da bucket generici a bucket di directory, da bucket di directory a bucket generici o tra bucket di directory, tramite CopyObject, UploadPartCopy, il Copy operazione in Batch Operations, oppure import lavori. In questo caso, Amazon S3 effettua una chiamata AWS KMS ogni volta che viene effettuata una richiesta di copia per un oggetto KMS crittografato. Per informazioni sulle chiavi S3 Bucket 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 l'override dei valori delle impostazioni di crittografia per la richiesta. CreateSession Inoltre, nelle API chiamate agli endpoint zonali (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 con una KMS chiave (in particolare, una chiave gestita dal cliente). Quindi, quando viene creata una sessione per API le operazioni degli endpoint zonali, i nuovi oggetti vengono automaticamente crittografati e decrittografati con SSE - KMS e S3 Bucket Keys 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'--server-side-encryption aws:kmsintestazione alla richiesta. Utilizza il --ssekms-key-id example-key-id per aggiungere la AWS KMS chiave gestita dai clienti che hai creato. Se lo specifichi--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 Usando il AWS CLI.

Quindi, quando carichi un nuovo 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 put-object --bucket bucket-base-name--zone-id--x-s3 --key example-object-key --body filepath

Non è necessario aggiungere -\-bucket-key-enabled esplicitamente i comandi operativi degli endpoint zonali. API Le chiavi S3 Bucket sono sempre abilitate per PUT le operazioni in un bucket di directory GET e non possono essere disabilitate. Le S3 Bucket Keys non sono supportate, quando copiSSE: oggetti KMS crittografati da bucket generici a bucket di directory, da bucket di directory a bucket generici o tra bucket di directory, tramite CopyObject, UploadPartCopy, il Copy operazione in Batch Operations, oppure import lavori. In questo caso, Amazon S3 effettua una chiamata AWS KMS ogni volta che viene effettuata una richiesta di copia per un oggetto KMS crittografato.

È 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 SSE la crittografia per gli oggetti di destinazione. KMS 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 Usando il AWS CLI. Quindi, quando copi 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-bucket/example-object-key --bucket bucket-base-name--zone-id--x-s3 --key example-object-key

Durante l'utilizzo AWS SDKs, puoi richiedere che Amazon S3 venga utilizzato AWS KMS keys per la crittografia lato server. Gli esempi seguenti mostrano come usare SSE - KMS with the AWS SDKs for Java e. NET. Per informazioni su altriSDKs, consulta Codice di esempio e librerie nel AWS Developer Center.

Nota

Quando si utilizza AWS SDKs, forCreateSession, il token di sessione si aggiorna automaticamente per evitare interruzioni del servizio alla scadenza di una sessione. Non è supportato l'override dei valori delle impostazioni di crittografia per la richiesta. CreateSession Inoltre, nelle API chiamate agli endpoint zonali (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 con una KMS chiave (in particolare, una chiave gestita dal cliente). Quindi, quando viene creata una sessione per API le operazioni degli endpoint zonali, i nuovi oggetti vengono automaticamente crittografati e decrittografati con SSE - KMS e S3 Bucket Keys durante la sessione.

Per ulteriori informazioni sull'utilizzo per impostare la configurazione AWS SDKs di crittografia predefinita di un bucket di directory come -, vedi. SSE KMS Usando il AWS SDKs

Importante

Quando utilizzi una AWS KMS key crittografia lato server in Amazon S3, devi scegliere una chiave di crittografia simmetrica. KMS Amazon S3 supporta solo chiavi di crittografia simmetriche. KMS Per ulteriori informazioni su queste chiavi, consulta Chiavi di crittografia KMS simmetriche nella Guida per gli sviluppatori.AWS Key Management Service

Per ulteriori informazioni sulla creazione di chiavi gestite dal cliente, consulta Programming the AWS KMS API nella AWS Key Management Service Developer Guide.