

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

# Sicurezza in Amazon S3
<a name="security"></a>

**Importante**  
Come [annunciato il 19 novembre 2025,](https://aws.amazon.com/blogs/storage/advanced-notice-amazon-s3-to-disable-the-use-of-sse-c-encryption-by-default-for-all-new-buckets-and-select-existing-buckets-in-april-2026/) Amazon Simple Storage Service sta implementando una nuova impostazione di sicurezza predefinita per i bucket che disabilita automaticamente la crittografia lato server con chiavi fornite dal cliente (SSE-C) per tutti i nuovi bucket generici. Per i bucket esistenti senza oggetti crittografati SSE-C, Amazon S3 disabiliterà anche SSE-C per tutte le nuove richieste di scrittura. Account AWS Infatti, Account AWS con l'utilizzo di SSE-C, Amazon S3 non modificherà la configurazione di crittografia dei bucket su nessuno dei bucket esistenti in tali account. Questa implementazione è iniziata il 6 aprile 2026 e sarà completata nelle prossime settimane in 37 AWS regioni, tra cui AWS Cina e regioni AWS GovCloud (Stati Uniti).  
Con queste modifiche, le applicazioni che richiedono la crittografia SSE-C devono abilitare deliberatamente SSE-C utilizzando l'operazione [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)API dopo la creazione di un nuovo bucket. Per ulteriori informazioni su questa modifica, vedere. [Domande frequenti sull'impostazione SSE-C predefinita per i nuovi bucket](default-s3-c-encryption-setting-faq.md)

La sicurezza del cloud AWS è la massima priorità. In qualità di AWS cliente, puoi beneficiare di un data center e di un'architettura di rete progettati per soddisfare i requisiti delle organizzazioni più sensibili alla sicurezza.

La sicurezza è una responsabilità condivisa tra AWS te e te. Il [modello di responsabilità condivisa](https://aws.amazon.com/compliance/shared-responsibility-model/) descrive questo come sicurezza *del* cloud e sicurezza *nel* cloud:

**Sicurezza del cloud**  
AWS è responsabile della protezione dell'infrastruttura che gestisce AWS i servizi in Cloud AWS. AWS fornisce inoltre servizi che è possibile utilizzare in modo sicuro. L'efficacia della nostra sicurezza è regolarmente testata e verificata da revisori di terze parti come parte dei [programmi di conformitàAWS](https://aws.amazon.com/compliance/programs/). Per ulteriori informazioni sui programmi di conformità che si applicano ad Amazon S3, consulta [AWS Servizi coperti dal programma di conformità](https://aws.amazon.com/compliance/services-in-scope/).

**Sicurezza nel cloud**  
La tua responsabilità è determinata dal AWS servizio che utilizzi. L'utente è anche responsabile per altri fattori, tra cui la riservatezza dei dati, i requisiti dell'azienda e leggi e normative applicabili. Per Amazon S3, la tua responsabilità include le seguenti aree:
+ Gestione dei dati, inclusa la [proprietà degli oggetti](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) e la [crittografia](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingEncryption.html).
+ Classificazione delle tue risorse.
+ [Gestione degli accessi](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-iam.html) ai tuoi dati tramite [ruoli IAM](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html#roles) e altre configurazioni di servizio per applicare le autorizzazioni appropriate.
+ Attivazione di controlli [AWS CloudTrail](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cloudtrail-logging.html)investigativi come [Amazon GuardDuty](https://docs.aws.amazon.com/guardduty/latest/ug/s3_detection.html) per Amazon S3.

Questa documentazione consente di comprendere come applicare il modello di responsabilità condivisa quando utilizzi Amazon S3. Gli argomenti seguenti descrivono come configurare Amazon S3 per soddisfare gli obiettivi di sicurezza e conformità. Imparerai anche come utilizzare altri AWS servizi che possono aiutarti a monitorare e proteggere le tue risorse Amazon S3. 

**Nota**  
Per ulteriori informazioni sull'uso della classe di storage Amazon S3 Express One Zone con i bucket di directory, consulta [S3 Express One Zone](directory-bucket-high-performance.md#s3-express-one-zone) e [Operazioni con i bucket di directory](directory-buckets-overview.md).

**Topics**
+ [Best practice di sicurezza per Amazon S3](security-best-practices.md)
+ [Protezione dei dati in Amazon S3](DataDurability.md)
+ [Protezione dei dati con la crittografia](UsingEncryption.md)
+ [Riservatezza del traffico Internet](inter-network-traffic-privacy.md)
+ [Convalida della conformità per Amazon S3](s3-compliance.md)
+ [Resilienza in Amazon S3](disaster-recovery-resiliency.md)
+ [Sicurezza dell'infrastruttura in Amazon S3](network-isolation.md)
+ [Analisi della configurazione e delle vulnerabilità in Amazon S3](vulnerability-analysis-and-management.md)
+ [Gestione degli accessi](security-access-management.md)
+ [Inventario dei dati Amazon Simple Storage Service](s3-data-inventory.md)

# Best practice di sicurezza per Amazon S3
<a name="security-best-practices"></a>

**Importante**  
Come [annunciato il 19 novembre 2025,](https://aws.amazon.com/blogs/storage/advanced-notice-amazon-s3-to-disable-the-use-of-sse-c-encryption-by-default-for-all-new-buckets-and-select-existing-buckets-in-april-2026/) Amazon Simple Storage Service sta implementando una nuova impostazione di sicurezza predefinita per i bucket che disabilita automaticamente la crittografia lato server con chiavi fornite dal cliente (SSE-C) per tutti i nuovi bucket generici. Per i bucket esistenti senza oggetti crittografati SSE-C, Amazon S3 disabiliterà anche SSE-C per tutte le nuove richieste di scrittura. Account AWS Infatti, Account AWS con l'utilizzo di SSE-C, Amazon S3 non modificherà la configurazione di crittografia dei bucket su nessuno dei bucket esistenti in tali account. Questa implementazione è iniziata il 6 aprile 2026 e sarà completata nelle prossime settimane in 37 AWS regioni, tra cui AWS Cina e regioni AWS GovCloud (Stati Uniti).  
Con queste modifiche, le applicazioni che richiedono la crittografia SSE-C devono abilitare deliberatamente SSE-C utilizzando l'operazione [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)API dopo la creazione di un nuovo bucket. Per ulteriori informazioni su questa modifica, vedere. [Domande frequenti sull'impostazione SSE-C predefinita per i nuovi bucket](default-s3-c-encryption-setting-faq.md)

Amazon S3 fornisce una serie di caratteristiche di sicurezza che occorre valutare durante lo sviluppo e l'implementazione delle policy di sicurezza. Le seguenti best practice sono linee guida generali e non rappresentano una soluzione di sicurezza completa. Poiché queste best practice potrebbero non essere appropriate o sufficienti per il tuo ambiente, considerale come consigli utili più che prescrizioni. 

**Topics**
+ [Best practice di sicurezza per Amazon S3](#security-best-practices-prevent)
+ [Best practice di monitoraggio e audit di Amazon S3](#security-best-practices-detect)
+ [Monitoraggio della sicurezza dei dati con servizi AWS di sicurezza gestiti](#monitoring-data-security)

## Best practice di sicurezza per Amazon S3
<a name="security-best-practices-prevent"></a>

Le seguenti best practice per Amazon S3 consentono di evitare incidenti di sicurezza.

**Disabilitare gli elenchi di controllo degli accessi (ACLs)**  
S3 Object Ownership è un'impostazione a livello di bucket Amazon S3 che puoi usare per controllare la proprietà degli oggetti caricati nel bucket e disabilitarli o abilitarli. ACLs Per impostazione predefinita, Object Ownership è impostata sull'impostazione imposta dal proprietario del bucket e tutti sono disabilitati. ACLs Quando ACLs sono disabilitati, il proprietario del bucket possiede tutti gli oggetti nel bucket e gestisce l'accesso ai dati esclusivamente utilizzando le politiche di gestione degli accessi.   
La maggior parte dei casi d'uso moderni in Amazon S3 non richiede più l'uso di [liste di controllo degli accessi () ACLs](acl-overview.md). Ti consigliamo di disabilitarlo ACLs, tranne nei casi in cui devi controllare l'accesso per ogni oggetto singolarmente. Per disabilitare ACLs e assumere la proprietà di ogni oggetto nel bucket, applica l'impostazione forzata del proprietario del bucket per S3 Object Ownership. Quando la disabiliti ACLs, puoi gestire facilmente un bucket con oggetti caricati da diversi. Account AWS  
Quando ACLs sono disabilitati, il controllo dell'accesso ai dati si basa su politiche come le seguenti:   
+ AWS Identity and Access Management politiche utente (IAM)
+ Policy di bucket S3
+ Policy di endpoint del cloud privato virtuale (VPC)
+ AWS Organizations politiche di controllo del servizio (SCPs)
+ AWS Organizations politiche di controllo delle risorse (RCPs)
  
La disabilitazione ACLs semplifica la gestione e il controllo delle autorizzazioni. ACLs per impostazione predefinita, sono disabilitati per i nuovi bucket. Puoi anche disabilitarli ACLs per i bucket esistenti. Se disponi di un bucket esistente che contiene già oggetti, dopo la disattivazione ACLs, l'oggetto e il bucket non ACLs fanno più parte del processo di valutazione dell'accesso. L'accesso è invece concesso o negato in base alle policy.   
Prima di disabilitarlo ACLs, assicuratevi di fare quanto segue:   
+ Esamina la policy del bucket per assicurarti che copra tutti i modi in cui intendi concedere l'accesso al bucket al di fuori del tuo account.
+ Ripristina le impostazioni di default del bucket ACL (controllo completo per il proprietario del bucket).
  
Dopo la disattivazione ACLs, si verificano i seguenti comportamenti:   
+ Il bucket accetta solo `PUT` richieste che non specificano un ACL o `PUT` richieste con il pieno controllo del proprietario del bucket. ACLs Questi ACLs includono l'ACL `bucket-owner-full-control` predefinito o i moduli equivalenti di questo ACL espressi in XML.
+ Le applicazioni esistenti che supportano il pieno controllo ACLs del proprietario del bucket non hanno alcun impatto. 
+ `PUT`le richieste che ne contengono altre ACLs (ad esempio, concessioni personalizzate a determinate Account AWS) hanno esito negativo e restituiscono un codice di stato HTTP `400 (Bad Request)` con il codice di errore. `AccessControlListNotSupported`
   
Per ulteriori informazioni, consulta [Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).

**Verifica che i bucket Amazon S3 utilizzino le policy corrette e non siano accessibili pubblicamente**  
A meno che non venga richiesto in maniera esplicita che gli utenti su Internet siano in grado di leggere o scrivere nel bucket S3, assicurati che il bucket S3 non sia pubblico. Di seguito sono riportate alcune delle fasi che è possibile eseguire per bloccare l'accesso pubblico:  
+ Utilizza Blocco dell'accesso pubblico S3. Con il Blocco dell'accesso pubblico, è possibile configurare facilmente controlli centralizzati per limitare l'accesso pubblico alle risorse Amazon S3. Questi controlli centralizzati vengono applicati a prescindere da come vengono create le risorse. Per le organizzazioni che gestiscono più AWS account, ora puoi utilizzare l'applicazione AWS Organizations a livello di organizzazione per gestire centralmente le impostazioni di S3 Block Public Access in tutta l'organizzazione con un'unica configurazione di policy.

  Per ulteriori informazioni, consulta [Blocco dell'accesso pubblico allo storage Amazon S3](access-control-block-public-access.md).
+ Identifica le policy di bucket Amazon S3 che consentono l'uso di un'identità jolly, ad esempio `"Principal": "*"` (che significa di fatto "tutti"). Inoltre, cerca policy che consentono un'azione jolly `"*"` (che di fatto consente all'utente di eseguire qualsiasi azione nel bucket Amazon S3).
+ Allo stesso modo, cerca gli elenchi di controllo degli accessi ai bucket Amazon S3 (ACLs) che forniscono lettura, scrittura o accesso completo a «Everyone» o «Qualsiasi utente autenticato». AWS 
+ Utilizza l'operazione API `ListBuckets` per eseguire la scansione di tutti i bucket Amazon S3. Quindi, utilizza `GetBucketAcl`, `GetBucketWebsite` e `GetBucketPolicy` per determinare se ciascun bucket dispone di controlli sugli accessi conformi e configurazione conforme.
+ Utilizza [AWS Trusted Advisor](https://docs.aws.amazon.com/awssupport/latest/user/getting-started.html#trusted-advisor) per ispezionare l’implementazione di Amazon S3.
+ Valuta se implementare controlli di rilevamento continui utilizzando [https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-public-read-prohibited.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-public-read-prohibited.html) e [https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-public-write-prohibited.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-public-write-prohibited.html) gestito Regole di AWS Config.
**Per le organizzazioni con più AWS account, prendi in considerazione l'utilizzo della gestione degli accessi pubblici a blocchi a livello di organizzazione:**  
+ Gestione centralizzata delle policy: AWS Organizations da utilizzare per creare un'unica policy S3 Block Public Access che si applica automaticamente a tutti gli account dei membri o alle unità organizzative selezionate (). OUs
+ Ereditarietà automatica: quando alleghi la policy a livello principale o di unità organizzativa, i nuovi account membro ereditano automaticamente le impostazioni di Block Public Access senza dover configurare un account individuale.
+ Conformità semplificata: le politiche a livello di organizzazione eliminano la necessità di mantenere complesse policy di controllo dei servizi (SCPs) per l'applicazione dei blocchi dell'accesso pubblico e riducono il sovraccarico operativo legato alla gestione delle configurazioni dei singoli account.
+ Funzionalità di audit: vengono utilizzate AWS CloudTrail per monitorare l'allegato e l'applicazione delle politiche tra gli account dei membri per il monitoraggio della conformità.
Per ulteriori informazioni, consulta [Identity and Access Management per Amazon S3](security-iam.md). 

**Disattiva la crittografia lato server con chiavi fornite dal cliente (SSE-C) per i tuoi bucket**  
La maggior parte dei casi d'uso moderni in Amazon S3 non utilizza più SSE-C perché manca la flessibilità della crittografia lato server con chiavi gestite di Amazon S3 (SSE-S3) o della crittografia lato server con chiavi KMS (SSE-KMS). AWS Il requisito di SSE-C di fornire la chiave di crittografia ogni volta che interagisci con i tuoi dati crittografati SSE-C rende poco pratico condividere la tua chiave SSE-C con altri utenti, ruoli o AWS servizi che leggono i dati dai tuoi bucket S3 per operare sui tuoi dati.  
Per limitare i tipi di crittografia lato server che è possibile utilizzare nei bucket generici, è possibile scegliere di bloccare le richieste di scrittura SSE-C aggiornando la configurazione di crittografia predefinita per i bucket. Questa configurazione a livello di bucket blocca le richieste di caricamento di oggetti che specificano SSE-C. Quando SSE-C è bloccato per un bucket `PutObject``CopyObject`, `PostObject` tutte le richieste di caricamento o replica multipart o multipart che specificano la crittografia SSE-C verranno rifiutate con un errore. `HTTP 403 AccessDenied`   
Per ulteriori informazioni sul blocco di SSE-C, consulta. [Blocco o sblocco di SSE-C per un bucket per uso generico](blocking-unblocking-s3-c-encryption-gpb.md)

**Crea bucket nel namespace regionale del tuo account**  
Per impostazione predefinita, crei bucket globali per scopi generici nello spazio dei nomi globale condiviso. Dopo aver creato un bucket generico nello spazio dei nomi globale condiviso, il nome del bucket non può essere creato da nessun altro all'interno della partizione. Quando si elimina un bucket globale generico, il nome del bucket diventa nuovamente disponibile nello spazio dei nomi globale per consentire a chiunque lo possa ricreare.  
Sebbene i bucket generici di Amazon S3 esistano in uno spazio dei nomi globale condiviso, puoi facoltativamente creare bucket nel namespace regionale del tuo account. Lo spazio dei nomi regionale dell'account è una suddivisione riservata dello spazio dei nomi dei bucket globale in cui solo l'account può creare bucket generici. Ti consigliamo di creare bucket nel namespace regionale del tuo account, poiché questi bucket sono unici per il tuo account e non possono mai essere ricreati da un altro account. Per ulteriori informazioni, consulta [Namespace per bucket generici](gpbucketnamespaces.md).  
Ti consigliamo di non eliminare i bucket globali generici nello spazio dei nomi globale condiviso. Tutti gli AWS account ora hanno una quota di bucket predefinita di 10.000 bucket, che riduce la necessità di eliminare i bucket vuoti dal tuo account. Se elimini un bucket nello spazio dei nomi globale condiviso, tieni presente che un altro AWS account nella stessa partizione può utilizzare lo stesso nome di bucket per un nuovo bucket e può quindi potenzialmente ricevere richieste destinate al bucket eliminato. Per evitare che ciò accada o continuare a utilizzare lo stesso nome del bucket, non eliminare il bucket. Ti consigliamo di eliminare solo il contenuto del bucket. Invece di eliminare il bucket, blocca tutte le richieste del bucket, se necessario. Per i bucket non più in uso, è consigliabile eliminare tutti gli oggetti del bucket per ridurre al minimo i costi e mantenere il bucket stesso. Per ulteriori informazioni, consulta [Eliminazione di un bucket per uso generico](delete-bucket.md).

**Applica l'accesso con privilegi minimi**  
Quando concedi le autorizzazioni, puoi decidere quali autorizzazioni assegnare, a chi e per quali risorse Amazon S3. Puoi abilitare operazioni specifiche che desideri consentire su tali risorse. Pertanto, è consigliabile concedere solo le autorizzazioni necessarie richieste per eseguire un'attività. L'implementazione dell'accesso con privilegi minimi è fondamentale per ridurre i rischi di sicurezza e l'impatto risultante da errori o intenzioni dannose.   
Gli strumenti seguenti sono disponibili per implementare l'accesso con privilegi minimi:  
+ [Azioni di policy per Amazon S3](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-actions) e [Limiti delle autorizzazioni per le entità IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)
+ [Come funziona Amazon S3 con IAM](security_iam_service-with-iam.md)
+ [Panoramica delle liste di controllo accessi (ACL)](acl-overview.md)
Per indicazioni sugli aspetti da tenere in considerazione quando scegli uno o più dei meccanismi precedenti, consulta [Identity and Access Management per Amazon S3](security-iam.md).

**Usa i ruoli IAM per applicazioni Servizi AWS che richiedono l'accesso ad Amazon S3**  
Affinché le applicazioni in esecuzione su Amazon EC2 o altro possano accedere Servizi AWS alle risorse Amazon S3, devono includere credenziali AWS valide nelle loro richieste API. AWS Consigliamo di non archiviare AWS le credenziali direttamente nell'applicazione o nell'istanza Amazon EC2. Si tratta di credenziali a lungo termine che non vengono automaticamente ruotate e potrebbero avere un impatto aziendale significativo se vengono compromesse.  
Utilizza invece un ruolo IAM per gestire credenziali temporanee per le applicazioni o i servizi che devono accedere ad Amazon S3. Quando utilizzi un ruolo, non devi distribuire credenziali a lungo termine (come nome utente e password o chiavi di accesso) a un'istanza Amazon EC2 Servizio AWS o, ad esempio. AWS Lambda Il ruolo fornisce autorizzazioni temporanee che le applicazioni possono utilizzare quando effettuano chiamate ad altre risorse. AWS   
Per ulteriori informazioni, consulta gli argomenti seguenti nella *Guida per l'utente IAM*:  
+ [Ruoli IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)
+ [Scenari comuni per ruoli: utenti, applicazioni e servizi](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios.html)

  

**Prendi in considerazione la crittografia dei dati inattivi**  
Per la protezione dei dati inattivi in Amazon S3 sono disponibili le opzioni seguenti:  
+ **Crittografia lato server** - Tutti i bucket Amazon S3 hanno la crittografia configurata per impostazione predefinita e tutti i nuovi oggetti caricati su un bucket S3 vengono automaticamente crittografati a riposo. La crittografia lato server con le chiavi gestite da Amazon S3 (SSE-S3) è la configurazione predefinita della crittografia per ogni bucket di Amazon S3. Per utilizzare un diverso tipo di crittografia, puoi specificare il tipo di crittografia lato server da utilizzare nelle richieste `PUT` S3 oppure impostare la configurazione di crittografia predefinita nel bucket di destinazione. 

  Anche Amazon S3 offre queste opzioni di crittografia lato server:
  + Crittografia lato server con chiavi AWS Key Management Service (AWS KMS) (SSE-KMS) 
  + Crittografia lato server a doppio livello con () chiavi (DSSE-KMS) AWS Key Management Service AWS KMS
  + Crittografia lato server con chiavi fornite dal cliente (SSE-C)

  Per ulteriori informazioni, consulta [Protezione dei dati con la crittografia lato server](serv-side-encryption.md).
+ **Crittografia lato client**: esegui la crittografia dei dati dal lato client e carica i dati crittografati in Amazon S3. In questo caso, è l'utente a gestire la procedura di crittografia, nonché le chiavi e gli strumenti correlati. Come per la crittografia lato server, la crittografia lato client riduce i rischi crittografando i dati con una chiave che viene archiviata in un meccanismo diverso rispetto a quello utilizzato per archiviare i dati stessi. 

  Amazon S3 fornisce più opzioni di crittografia lato client. Per ulteriori informazioni, consulta [Protezione dei dati con la crittografia lato client](UsingClientSideEncryption.md).

**Applica la crittografia dei dati in transito**  
È possibile utilizzare HTTPS (TLS) per impedire a potenziali aggressori di intercettare o manipolare il traffico di rete utilizzando o meno attacchi simili. person-in-the-middle Si consiglia di consentire solo connessioni crittografate su HTTPS (TLS) utilizzando la condizione [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_Boolean](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_Boolean) nelle policy di bucket Amazon S3. Per ulteriori informazioni, consulta l’esempio di policy di bucket S3 [Gestione dell’accesso in base a richieste HTTP o HTTPS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-HTTP-HTTPS). Oltre a rifiutare le richieste HTTP, ti consigliamo di impostare CloudWatch allarmi Amazon in `tlsDetails.tlsVersion NOT EXISTS` modo che ti avvisino se vengono effettuati tentativi di accesso HTTP ai tuoi contenuti. Per ulteriori informazioni su come configurare gli CloudWatch allarmi Amazon, consulta [Creazione di CloudWatch allarmi per CloudTrail eventi: esempi](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudwatch-alarms-for-cloudtrail.html) e [contenuti dei CloudTrail record nella Guida](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-record-contents.html) per l'*AWS CloudTrail utente*.  
Consigliamo alla tua applicazione di non bloccare i certificati TLS di Amazon S3 poiché AWS non supporta il blocco di certificati pubblicamente attendibili. S3 rinnova automaticamente i certificati e il rinnovo può avvenire in qualsiasi momento prima della scadenza del certificato. Il rinnovo di un certificato genera una nuova coppia di chiavi pubbliche e private. Se si è appuntato un certificato S3 che è stato recentemente rinnovato con una nuova chiave pubblica, non sarà possibile connettersi a S3 finché l'applicazione non utilizzerà il nuovo certificato. 
Inoltre, valuta se implementare controlli di rilevamento continui utilizzando la regola [https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-ssl-requests-only.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-ssl-requests-only.html) gestita da AWS Config . 

**Valutazione dell'utilizzo di S3 Object Lock**  
Con S3 Object Lock, puoi archiviare gli oggetti utilizzando il modello "Write Once Read Many" (WORM). Il blocco oggetti S3 può contribuire a evitare l'eliminazione accidentale o inappropriata dei dati. Ad esempio, puoi utilizzare S3 Object Lock per proteggere i tuoi log. AWS CloudTrail   
Per ulteriori informazioni, consulta [Blocco di oggetti con Object Lock](object-lock.md).

**Abilitazione del controllo delle versioni S3**  
Il controllo delle versioni S3 è un modo per conservare più versioni di un oggetto nello stesso bucket. Si può utilizzare questa funzione per conservare, recuperare e ripristinare qualsiasi versione di ogni oggetto archiviato nel bucket . Con la funzione Controllo delle versioni si può facilmente eseguire il ripristino dopo errori dell'applicazione e operazioni non intenzionali dell'utente.   
Inoltre, valuta se implementare controlli di rilevamento continui utilizzando la regola [https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-versioning-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-versioning-enabled.html) gestita da AWS Config .  
Per ulteriori informazioni, consulta [Conservazione di più versioni degli oggetti con Controllo delle versioni S3](Versioning.md). 

**Valutazione dell'utilizzo della replica tra regioni S3**  
Sebbene Amazon S3 per impostazione predefinita archivi i dati in più zone di disponibilità geograficamente distanti, per soddisfare i requisiti di conformità potrebbe essere necessario archiviarli a distanze ancora maggiori. Con S3 Cross-Region Replication (CRR), puoi replicare i dati tra distanti per soddisfare questi requisiti. Regioni AWS CRR consente la copia automatica e asincrona di oggetti tra bucket diversi. Regioni AWS Per ulteriori informazioni, consulta [Replica di oggetti all'interno e tra le Regioni](replication.md).  
CRR richiede che il controllo delle versioni sia abilitato per i bucket S3 di origine e destinazione.
Inoltre, valuta se implementare controlli di rilevamento continui utilizzando la regola [https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-replication-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-replication-enabled.html) gestita da AWS Config .

**Valutazione dell'utilizzo degli endpoint VPC per l'accesso ad Amazon S3**  
Un endpoint Virtual Private Cloud (VPC) Amazon S3 è un'entità logica all'interno di un VPC che consente la connettività solo ad Amazon S3 Gli endpoint VPC impediscono al traffico di attraversare la rete Internet aperta.  
Gli endpoint VPC per Amazon S3 offrono diversi modi per controllare l'accesso ai dati di Amazon S3:  
+ È possibile controllare le richieste, gli utenti o i gruppi autorizzati tramite un endpoint VPC specifico utilizzando policy del bucket S3.
+ Puoi controllare quali endpoint VPCs o VPC hanno accesso ai tuoi bucket S3 utilizzando le policy dei bucket S3.
+ Puoi impedire l'esfiltrazione di dati utilizzando un VPC che non dispone di un Internet gateway.
Per ulteriori informazioni, consulta [Controllo dell'accesso dagli endpoint VPC con policy di bucket](example-bucket-policies-vpc-endpoint.md). 

** Utilizza i servizi di sicurezza gestiti AWS per monitorare la sicurezza dei dati**  
Diversi servizi AWS di sicurezza gestiti possono aiutarti a identificare, valutare e monitorare i rischi di sicurezza e conformità per i tuoi dati Amazon S3. Questi servizi consentono anche di proteggere i dati da tali rischi. Questi servizi includono funzionalità di rilevamento, monitoraggio e protezione automatizzate progettate per scalare dalle risorse di Amazon S3 per una singola unità Account AWS a risorse per organizzazioni con migliaia di account.  
Per ulteriori informazioni, consulta [Monitoraggio della sicurezza dei dati con servizi AWS di sicurezza gestiti](#monitoring-data-security).

## Best practice di monitoraggio e audit di Amazon S3
<a name="security-best-practices-detect"></a>

Le best practice seguenti per Amazon S3 consentono di rilevare potenziali debolezze e incidenti di sicurezza.

**Identificazione e audit di tutti i bucket Amazon S3**  
L'identificazione degli asset IT è un aspetto essenziale di governance e sicurezza. È richiesta la visibilità di tutte le risorse Amazon S3 per valutare il loro assetto di sicurezza e intervenire su aree di debolezza potenziali. Per eseguire l'audit delle risorse, procedi come segue:  
+ Utilizza Tag Editor per identificare e applicare tag a risorse sensibili alla sicurezza e risorse sensibili al controllo; quindi, utilizza questi tag quando devi cercare le risorse. Per ulteriori informazioni, consulta [Searching for Resources to Tag](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html) nella *Tagging AWS * Resources User Guide. 
+ Utilizza S3 Inventory per eseguire l'audit e creare report sullo stato di replica e crittografia degli oggetti per esigenze aziendali, di conformità e normative. Per ulteriori informazioni, consulta [Catalogazione e analisi dei dati con Inventario S3](storage-inventory.md).
+ Crea gruppi di risorse per le risorse Amazon S3. Per ulteriori informazioni, consulta [Che cosa sono i gruppi di risorse?](https://docs.aws.amazon.com/ARG/latest/userguide/welcome.html) nella *Guida per l'utente di AWS Resource Groups *.

**Implementa il monitoraggio utilizzando strumenti AWS di monitoraggio**  
Il monitoraggio è una parte importante per mantenere l'affidabilità, la sicurezza, la disponibilità e le prestazioni di Amazon S3 e delle tue AWS soluzioni. AWS fornisce diversi strumenti e servizi per aiutarti a monitorare Amazon S3 e gli altri. Servizi AWS Ad esempio, puoi monitorare i CloudWatch parametri di Amazon per Amazon S3, in particolare `PutRequests` i parametri`GetRequests`,`4xxErrors`, `DeleteRequests` e. Per ulteriori informazioni, consultare [Monitoraggio delle metriche con Amazon CloudWatch](cloudwatch-monitoring.md) e [Registrazione e monitoraggio in Amazon S3](monitoring-overview.md).  
Per un secondo esempio, consulta [Esempio: attività del bucket Amazon S3](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudwatch-alarms-for-cloudtrail.html#cloudwatch-alarms-for-cloudtrail-s3-bucket-activity). Questo esempio descrive come creare un CloudWatch allarme che viene attivato quando viene effettuata una chiamata API Amazon S3 o una policy del bucket, un ciclo di vita del bucket `DELETE` o una configurazione di replica del bucket o `PUT` verso un bucket ACL. `PUT`

**Abilita la registrazione degli accessi al server Amazon S3**  
La registrazione degli accessi al server fornisce record dettagliati delle richieste che sono effettuate a un bucket. I log di accesso al server possono essere utili durante gli audit di sicurezza e accesso, per conoscere la base clienti e comprendere la fattura Amazon S3. Per istruzioni sull'abilitazione della registrazione degli accessi al server, consulta [Registrazione delle richieste con registrazione dell'accesso al server](ServerLogs.md).  
Prendi in considerazione anche l'implementazione di controlli investigativi continui utilizzando la regola gestita. [https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-logging-enabled.html](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-logging-enabled.html) AWS Config 

**Utilizza AWS CloudTrail**  
AWS CloudTrail fornisce un registro delle azioni intraprese da un utente, da un ruolo o da un utente Servizio AWS in Amazon S3. Puoi utilizzare le informazioni raccolte da CloudTrail per determinare quanto segue:   
+ La richiesta effettuata ad Amazon S3
+ L'indirizzo IP dal quale è stata effettuata la richiesta
+ L'utente che ha effettuato la richiesta
+ L'ora in cui è stata effettuata la richiesta
+ Dettagli aggiuntivi relativi alla richiesta
  
Ad esempio, è possibile identificare le CloudTrail voci relative alle `PUT` azioni che influiscono sull'accesso ai dati`PutBucketAcl`, in particolare`PutObjectAcl`,`PutBucketPolicy`, e`PutBucketWebsite`.   
Quando si configura il Account AWS, CloudTrail è abilitato per impostazione predefinita. È possibile visualizzare gli eventi recenti nella CloudTrail console. Per creare un record continuo di attività ed eventi per i tuoi bucket Amazon S3, puoi creare un percorso nella console. CloudTrail Per ulteriori informazioni, consultare [Registrazione di eventi di dati](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html) nella *Guida per l'utente di AWS CloudTrail *.  
Quando crei un percorso, puoi configurare la registrazione degli eventi relativi CloudTrail ai dati. Gli eventi di dati sono le registrazioni delle operazioni eseguite per una risorsa o al suo interno. In Amazon S3, gli eventi relativi ai dati registrano l'attività delle API a livello di oggetto per singoli bucket. CloudTrail supporta un sottoinsieme di operazioni API a livello di oggetto Amazon S3, ad esempio`GetObject`, e. `DeleteObject` `PutObject` Per ulteriori informazioni su come CloudTrail funziona con Amazon S3, consulta. [Registrazione delle chiamate API Amazon S3 tramite AWS CloudTrail](cloudtrail-logging.md) Nella console di Amazon S3, puoi configurare i tuoi bucket S3 anche su [Abilitazione della registrazione CloudTrail degli eventi per i bucket e gli oggetti S3](enable-cloudtrail-logging-for-s3.md).  
AWS Config fornisce una regola gestita (`cloudtrail-s3-dataevents-enabled`) che puoi utilizzare per confermare che almeno un CloudTrail trail registri gli eventi relativi ai dati per i tuoi bucket S3. Per ulteriori informazioni, consulta la sezione [https://docs.aws.amazon.com//config/latest/developerguide/cloudtrail-s3-dataevents-enabled.html](https://docs.aws.amazon.com//config/latest/developerguide/cloudtrail-s3-dataevents-enabled.html) nella *Guida per gli sviluppatori di AWS Config *.

**Attiva AWS Config**  
Diverse delle best practice elencate in questo argomento suggeriscono la creazione di regole. AWS Config AWS Config ti aiuta a valutare, controllare e valutare le configurazioni delle tue AWS risorse. AWS Config monitora le configurazioni delle risorse in modo da poter valutare le configurazioni registrate rispetto alle configurazioni sicure desiderate. Con AWS Config, è possibile effettuare le seguenti operazioni:   
+ Rivedere le modifiche nelle configurazioni e nelle relazioni tra le risorse AWS 
+ Investigare le cronologie dettagliate della configurazione delle risorse
+ Determinare la conformità complessiva rispetto alle configurazioni specificate nelle linee guida interne
  
Using AWS Config può aiutarvi a semplificare il controllo della conformità, l'analisi della sicurezza, la gestione delle modifiche e la risoluzione dei problemi operativi. Per ulteriori informazioni, consulta [Configurazione AWS Config con la console](https://docs.aws.amazon.com/config/latest/developerguide/gs-console.html) nella *Guida per gli AWS Config sviluppatori*. Durante la specifica dei tipi di risorse da registrare, assicurati di includere le risorse Amazon S3.  
AWS Config le regole gestite supportano solo bucket generici durante la valutazione delle risorse Amazon S3. AWS Config non registra le modifiche alla configurazione per i bucket di directory. Per ulteriori informazioni, consulta [AWS Config Managed Rules](https://docs.aws.amazon.com//config/latest/developerguide/evaluate-config_use-managed-rules.html) e [List of AWS Config Managed Rules](https://docs.aws.amazon.com//config/latest/developerguide/managed-rules-by-aws-config.html) nella *AWS Config Developer Guide*.
*Per un esempio di utilizzo AWS Config, consulta [How to Use AWS Config to Monitor for and Respond to Amazon S3 Bucket Allowing Public Access sul blog](https://aws.amazon.com/blogs/security/how-to-use-aws-config-to-monitor-for-and-respond-to-amazon-s3-buckets-allowing-public-access/) sulla AWS sicurezza.* 

**Utilizzo di S3 Storage Lens**  
S3 Storage Lens è una funzionalità di analisi dell'archiviazione su cloud che puoi utilizzare per avere una panoramica completa a livello di organizzazione sull'utilizzo e sulle attività relative all'archiviazione di oggetti. S3 Storage Lens analizza i parametri di archiviazione per fornire raccomandazioni contestuali che puoi usare per ottimizzare i costi di archiviazione e applicare le best practice sulla protezione dei dati.   
Con S3 Storage Lens puoi usare i parametri per generare approfondimenti, ad esempio per scoprire la quantità di spazio di archiviazione disponibile nell'intera organizzazione o quali sono i bucket e i prefissi caratterizzati da una crescita più rapida. Puoi utilizzare i parametri di Amazon S3 Storage Lens anche per individuare le opportunità di ottimizzazione dei costi, implementare le best practice di protezione dei dati e gestione degli accessi e migliorare le prestazioni dei carichi di lavoro delle applicazioni.   
Ad esempio, puoi identificare i bucket che non hanno regole del ciclo di vita S3 per interrompere i caricamenti in più parti incompleti che risalgono a più di 7 giorni. Puoi anche individuare i bucket non conformi alle best practice di protezione dei dati, come quelli che usano la replica S3 o il controllo delle versioni S3. Per maggiori informazioni, consulta [Informazioni su Amazon S3 Storage Lens](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_basics_metrics_recommendations.html).

**Monitora i suggerimenti di sicurezza di AWS **  
È opportuno controllare regolarmente i consigli di sicurezza pubblicati in Trusted Advisor per il tuo Account AWS. In particolare, cerca gli avvisi relativi ai bucket Amazon S3 con "autorizzazioni di accesso aperte". Puoi eseguire questa operazione a livello di codice o utilizzando [https://docs.aws.amazon.com/cli/latest/reference/support/describe-trusted-advisor-checks.html](https://docs.aws.amazon.com/cli/latest/reference/support/describe-trusted-advisor-checks.html).  
Inoltre, monitora attivamente l'indirizzo e-mail principale registrato su ciascuno dei tuoi. Account AWS AWS utilizza questo indirizzo email per contattarti in merito a problemi di sicurezza emergenti che potrebbero interessarti.  
AWS i problemi operativi di ampio impatto sono pubblicati sulla pagina [Dashboard AWS Health - Stato del servizio](https://status.aws.amazon.com/). I problemi operativi sono anche pubblicati sui singoli account tramite Dashboard AWS Health. Per ulteriori informazioni, consulta la [documentazione relativa ad AWS Health](https://docs.aws.amazon.com/health/).

## Monitoraggio della sicurezza dei dati con servizi AWS di sicurezza gestiti
<a name="monitoring-data-security"></a>

Diversi servizi AWS di sicurezza gestiti possono aiutarti a identificare, valutare e monitorare i rischi di sicurezza e conformità per i tuoi dati Amazon S3. Consentono anche di proteggere i dati da tali rischi. Questi servizi includono funzionalità di rilevamento, monitoraggio e protezione automatizzate progettate per scalare dalle risorse di Amazon S3 per una singola unità Account AWS a risorse per organizzazioni di migliaia di utenti. Account AWS

AWS i servizi di rilevamento e risposta possono aiutarti a identificare potenziali configurazioni errate di sicurezza, minacce o comportamenti imprevisti, in modo da poter rispondere rapidamente ad attività potenzialmente non autorizzate o dannose nel tuo ambiente. AWS i servizi di protezione dei dati possono aiutarti a monitorare e proteggere dati, account e carichi di lavoro da accessi non autorizzati. Inoltre, consentono di individuare dati sensibili, come informazioni di identificazione personale (PII), nel tuo patrimonio di dati Amazon S3.

Per semplificare l'identificazione e la valutazione dei rischi di sicurezza e conformità dei dati, i servizi di sicurezza AWS gestiti generano risultati per segnalare potenziali eventi o problemi di sicurezza con i dati Amazon S3. I risultati forniscono dettagli rilevanti che possono essere utilizzati per analizzare, valutare e agire su questi rischi in base ai flussi di lavoro e alle policy di risposta agli eventi imprevisti. È possibile accedere direttamente ai dati dei risultati utilizzando ciascun servizio. Inoltre, è possibile inviare i dati ad altre applicazioni, servizi e sistemi, ad esempio il sistema SIEM (Security Incident and Event Management).

Per monitorare la sicurezza dei tuoi dati Amazon S3, prendi in considerazione l'utilizzo di questi servizi di AWS sicurezza gestiti.

**Amazon GuardDuty**  
Amazon GuardDuty è un servizio di rilevamento delle minacce che monitora continuamente i tuoi carichi di lavoro Account AWS e quelli di lavoro alla ricerca di attività dannose e fornisce risultati di sicurezza dettagliati per visibilità e risoluzione.  
Con la funzionalità di protezione S3 attiva GuardDuty, puoi configurare l'analisi degli eventi GuardDuty di AWS CloudTrail gestione e dei dati per le tue risorse Amazon S3. GuardDuty monitora quindi tali eventi alla ricerca di attività dannose e sospette. Per supportare l'analisi e identificare i potenziali rischi per la sicurezza, GuardDuty utilizza feed di intelligence sulle minacce e apprendimento automatico.  
GuardDuty può monitorare diversi tipi di attività per le tue risorse Amazon S3. Ad esempio, gli eventi di CloudTrail gestione per Amazon S3 includono operazioni a livello di bucket, come`ListBuckets`, e. `DeleteBucket` `PutBucketReplication` CloudTrail gli eventi di dati per Amazon S3 includono operazioni a livello di oggetto, ad esempio, e`GetObject`. `ListObjects` `PutObject` Se GuardDuty rileva attività anomale o potenzialmente dannose, genera un risultato da inviare all'utente.  
Per ulteriori informazioni, consulta [Amazon S3 Protection in Amazon GuardDuty nella Amazon GuardDuty ](https://docs.aws.amazon.com/guardduty/latest/ug/s3-protection.html) *User* Guide.

**Amazon Detective**  
Amazon Detective semplifica il processo di analisi e consente di condurre indagini sulla sicurezza più rapide ed efficaci. Detective fornisce aggregazioni di dati, riepiloghi e contesto predefiniti che facilitano l'analisi e la valutazione della natura e dell'estensione dei possibili problemi di sicurezza.  
Detective estrae automaticamente gli eventi basati sul tempo, come le chiamate API e i log di flusso di AWS CloudTrail Amazon VPC, per le tue risorse. AWS Inoltre, acquisisce i risultati generati da Amazon GuardDuty. Detective utilizza quindi machine learning, l'analisi statistica e la teoria dei grafi per generare visualizzazioni che consentono di condurre indagini sulla sicurezza efficaci più rapidamente.  
Queste visualizzazioni forniscono una vista unificata, interattiva dei comportamenti delle risorse e delle interazioni tra di esse nel tempo. È possibile esplorare questo grafico del comportamento per esaminare possibili azioni dannose, come tentativi di accesso non riusciti o chiamate API sospette. È anche possibile vedere in che modo queste azioni interessano le risorse, come bucket e oggetti S3.  
Per ulteriori informazioni, consultare la [Guida di amministrazione di Amazon Detective](https://docs.aws.amazon.com/detective/latest/adminguide/what-is-detective.html).

**Sistema di analisi degli accessi IAM**  
AWS Identity and Access Management Access Analyzer (IAM Access Analyzer) può aiutarti a identificare le risorse condivise con un'entità esterna. Puoi anche utilizzare IAM Access Analyzer per convalidare le policy IAM in base alla grammatica e alle best practice delle policy e generare policy IAM basate sull'attività di accesso nei tuoi log. AWS CloudTrail   
IAM Access Analyzer utilizza il ragionamento basato sulla logica per analizzare le politiche relative alle risorse nel tuo ambiente, come le bucket policy. AWS Con IAM Access Analyzer for S3, vieni avvisato quando un bucket S3 viene configurato per consentire l'accesso a chiunque sia connesso a Internet o altro, compresi gli account esterni all'organizzazione. Account AWS Ad esempio, IAM Access Analyzer per S3 potrebbe segnalare che un bucket dispone di accesso in lettura o scrittura fornito tramite una lista di controllo degli accessi (ACL) del bucket, una policy del bucket, una policy del punto di accesso multi-regione o una policy del punto di accesso. Per ogni bucket pubblico o condiviso, vengono visualizzati risultati che indicano l'origine e il livello di accesso pubblico o condiviso. Con questi risultati puoi eseguire azioni correttive immediate e precise per ripristinare l'accesso del bucket desiderato.  
Per ulteriori informazioni, consulta [Revisione dell'accesso al bucket tramite IAM Access Analyzer per S3](access-analyzer.md).

**Amazon Macie**  
Amazon Macie è un servizio di sicurezza che rileva dati sensibili utilizzando il machine learning e la corrispondenza del modello. Macie fornisce visibilità sui rischi legati alla sicurezza dei dati e consente una protezione automatizzata da tali rischi. Con Macie, puoi automatizzare l'individuazione e la creazione di report dei dati sensibili nel tuo patrimonio di dati Amazon S3 per una migliore comprensione dei dati archiviati dall'organizzazione in S3.  
Per individuare dati sensibili con Macie, puoi utilizzare criteri e tecniche integrati progettati per rilevare un elenco ampio e in continua espansione di tipi di dati sensibili per molti Paesi e regioni. Questi tipi di dati sensibili includono diversi tipi di informazioni di identificazione personale (PII), dati finanziari e dati delle credenziali. Puoi anche utilizzare criteri personalizzati: espressioni regolari che definiscono modelli di testo da abbinare e, facoltativamente, sequenze di caratteri e regole di prossimità per perfezionare i risultati.  
Se Macie rileva dati sensibili in un oggetto S3, genera un risultato relativo alla sicurezza per informare l'utente. Questo risultato fornisce informazioni sull'oggetto interessato, i tipi e il numero di occorrenze dei dati sensibili individuati da Macie e dettagli aggiuntivi per facilitare l'analisi del bucket S3 e dell'oggetto interessati. Per ulteriori informazioni, consultare la [Guida per l'utente di Amazon Macie](https://docs.aws.amazon.com/macie/latest/user/what-is-macie.html).

**AWS Security Hub CSPM**  
AWS Security Hub CSPM è un servizio di gestione del livello di sicurezza che esegue controlli basati sulle migliori pratiche di sicurezza, aggrega avvisi e risultati provenienti da più fonti in un unico formato e consente la correzione automatica.  
Security Hub CSPM raccoglie e fornisce dati sui risultati di sicurezza da soluzioni di AWS Partner Network sicurezza integrate, Servizi AWS tra cui Amazon Detective, Amazon GuardDuty, IAM Access Analyzer e Amazon Macie. Inoltre, genera i propri risultati eseguendo controlli di sicurezza continui e automatizzati basati sulle AWS migliori pratiche e sugli standard di settore supportati.  
Security Hub CSPM mette quindi in correlazione e consolida i risultati tra i diversi provider per aiutarti a stabilire le priorità ed elaborare i risultati più significativi. Inoltre, fornisce supporto per azioni personalizzate, che possono essere utilizzate per richiamare risposte o azioni correttive per classi specifiche di risultati.  
Con Security Hub CSPM, puoi valutare lo stato di sicurezza e conformità delle tue risorse Amazon S3 nell'ambito di un'analisi più ampia del livello di sicurezza della tua organizzazione in singole regioni e in Regioni AWS più regioni. Ciò include l'analisi delle tendenze di sicurezza e l'identificazione dei problemi di sicurezza con priorità massima. È anche possibile aggregare i risultati di più Regioni AWS e monitorare ed elaborare i dati dei risultati aggregati di una singola regione.  
Per ulteriori informazioni, consultare la sezione relativa ai [controlli Amazon Simple Storage Service](https://docs.aws.amazon.com/securityhub/latest/userguide/s3-controls.html) nella *Guida per l'utente di AWS Security Hub CSPM *.

# Protezione dei dati in Amazon S3
<a name="DataDurability"></a>

Amazon S3 offre un'infrastruttura di storage estremamente durevole, concepita per lo storage dei dati mission-critical e primari. S3 Standard, S3 Intelligent-Tiering, S3 Standard-IA, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval e S3 Glacier Deep Archive archiviano in modo ridondante gli oggetti su più dispositivi in un minimo di tre zone di disponibilità in un Regione AWS. Una zona di disponibilità consiste in uno o più data center separati con alimentazione, rete e connettività ridondanti in una Regione AWS. Le zone di disponibilità sono fisicamente separate da una distanza significativa, di diversi chilometri, da qualsiasi altra zona di disponibilità, anche se tutte si trovano nel raggio di 100 km (60 miglia) l'una dall'altra. La classe di archiviazione S3 One Zone — IA consente di archiviare i dati in modo ridondante su più dispositivi all'interno di una singola zona di disponibilità. Questi servizi sono progettati per far fronte ai guasti simultanei dei dispositivi rilevando e riparando rapidamente eventuali perdite di ridondanza e controllano regolarmente l'integrità dei dati utilizzando checksum.

Lo storage standard Amazon S3 offre le seguenti caratteristiche: 
+ Sostenuto dall'[Accordo sul livello di servizio (SLA) Amazon S3.](https://aws.amazon.com/s3/sla/)
+ È progettato per garantire una durabilità pari al 99.999999999% e una disponibilità degli oggetti pari al 99.99% per un determinato anno.
+ S3 Standard, S3 Intelligent-Tiering, S3 Standard-IA, S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval e S3 Glacier Deep Archive sono tutti progettati per conservare i dati in caso di perdita di un'intera zona di disponibilità Amazon S3.

Amazon S3 protegge ulteriormente i dati tramite la funzione Controllo delle versioni. che può essere impiegata per conservare, recuperare e ripristinare qualsiasi versione di ogni oggetto archiviato nel bucket Amazon S3. Con la funzione Controllo delle versioni si può facilmente eseguire il ripristino dopo errori dell'applicazione e operazioni non intenzionali dell'utente. Per default, le richieste recuperano la versione più recente scritta. È comunque possibile recuperare versioni meno recenti di un oggetto specificandone la versione in una richiesta. 

Oltre alla funzionalità S3 di controllo delle versioni, puoi anche utilizzare funzionalità Blocco dell'accesso pubblico Amazon S3 e Replica S3 per proteggere i tuoi dati. Per ulteriori informazioni, consulta [Protezione dei dati in Amazon S3](data-protection.md).

Ai fini della protezione dei dati, ti consigliamo di proteggere Account AWS le credenziali e di configurare account utente individuali con AWS Identity and Access Management, in modo che a ciascun utente vengano concesse solo le autorizzazioni necessarie per svolgere le proprie mansioni lavorative.

Se hai bisogno di moduli crittografici convalidati FIPS 140-2 per l'accesso AWS tramite un'interfaccia a riga di comando o un'API, utilizza un endpoint FIPS. Per ulteriori informazioni sugli endpoint FIPS disponibili, consulta il [Federal Information Processing Standard (FIPS) 140-2](https://aws.amazon.com/compliance/fips/).

Le best practice di sicurezza seguenti gestiscono anche la protezione dei dati in Amazon S3:
+ [Implement server-side encryption](security-best-practices.md#server-side)
+ [Enforce encryption of data in transit](security-best-practices.md#transit)
+ [Consider using Macie with Amazon S3](security-best-practices.md#macie)
+ [Identify and audit all your Amazon S3 buckets](security-best-practices.md#audit)
+ [Monitor Amazon Web Services security advisories](security-best-practices.md#advisories)

# Protezione dei dati con la crittografia
<a name="UsingEncryption"></a>

**Importante**  
Amazon S3 ora applica la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3) come livello di base della crittografia per ogni bucket di Amazon S3. A partire dal 5 gennaio 2023, tutti i caricamenti di nuovi oggetti su Amazon S3 vengono crittografati automaticamente senza costi aggiuntivi e senza alcun impatto sulle prestazioni. Lo stato di crittografia automatico per la configurazione di crittografia predefinita del bucket S3 e per il caricamento di nuovi oggetti è disponibile nei CloudTrail log, in S3 Inventory, S3 Storage Lens, nella console Amazon S3 e come intestazione di risposta dell'API Amazon S3 aggiuntiva nella e. AWS CLI AWS SDKs Per ulteriori informazioni, consulta [Domande frequenti sulla crittografia predefinita](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html).

La protezione dei dati ha lo scopo di proteggere i dati sia in transito (durante la trasmissione verso e da Amazon S3), sia quando sono a riposo (ovvero quando sono archiviati su disco nei data center Amazon S3). Puoi proteggere i dati in transito utilizzando Secure Layer/Transport Socket Layer Security (SSL/TLS), incluso lo scambio ibrido di chiavi post-quantistiche o la crittografia lato client. Per la protezione dei dati a riposo in Amazon S3 sono disponibili le opzioni seguenti:
+ **Crittografia lato server**: Amazon S3 crittografa gli oggetti prima di salvarli su dischi AWS nei data center e quindi decrittografa gli oggetti quando li scarichi.

  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 le chiavi gestite da Amazon S3 (SSE-S3) è la configurazione predefinita della crittografia per ogni bucket di Amazon S3. Per utilizzare un diverso tipo di crittografia, puoi specificare il tipo di crittografia lato server da utilizzare nelle richieste `PUT` S3 oppure aggiornare la configurazione di crittografia predefinita nel bucket di destinazione. 

  Se desideri specificare un tipo di crittografia diverso nelle tue `PUT` richieste, puoi utilizzare la crittografia lato server con chiavi AWS Key Management Service (AWS KMS) (SSE-KMS), la crittografia lato server a due livelli con AWS KMS chiavi (DSSE-KMS) o la crittografia lato server con chiavi fornite dal cliente (SSE-C). Per impostare una configurazione di crittografia predefinita diversa nel bucket di destinazione puoi utilizzare SSE-KMS o DSSE-KMS.

  Per ulteriori informazioni su come modificare la configurazione di crittografia predefinita per i bucket per uso generico, consulta [Configurazione della crittografia predefinita](default-bucket-encryption.md). 

  Quando modifichi la configurazione di crittografia predefinita del bucket in SSE-KMS, il tipo di crittografia degli oggetti Amazon S3 esistenti nel bucket non viene modificato. Per modificare il tipo di crittografia degli oggetti preesistenti dopo aver aggiornato la configurazione di crittografia predefinita a SSE-KMS, puoi utilizzare Operazioni in batch Amazon S3. Si fornisce a Operazioni in batch S3 un elenco di oggetti e Operazioni in batch richiama la rispettiva operazione API. È possibile utilizzare l’azione [Copia oggetti](batch-ops-copy-object.md) per copiare gli oggetti esistenti, scrivendoli nello stesso bucket degli oggetti crittografati SSE-KMS. Un solo processo di operazioni in batch può eseguire l'operazione specificata su miliardi di oggetti. Per ulteriori informazioni, consulta [Esecuzione di operazioni sugli oggetti in blocco con le operazioni in batch](batch-ops.md) e il post [Come crittografare retroattivamente gli oggetti esistenti in Amazon S3 utilizzando Inventario S3, Amazon Athena e Operazioni in batch S3](https://aws.amazon.com/blogs/security/how-to-retroactively-encrypt-existing-objects-in-amazon-s3-using-s3-inventory-amazon-athena-and-s3-batch-operations/) nel *Blog dell’archiviazione AWS *. 

  Per ulteriori informazioni su ogni opzione della crittografia lato server, consulta [Protezione dei dati con la crittografia lato server](serv-side-encryption.md).

  Per configurare la crittografia lato server, consulta:
  + [Specifica della crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)](specifying-s3-encryption.md)
  + [Specificare la crittografia lato server con AWS KMS (SSE-KMS)](specifying-kms-encryption.md)
  + [Specificazione della crittografia lato server a doppio livello con chiavi (DSSE-KMS) AWS KMS](specifying-dsse-encryption.md)
  + [Specifica della crittografia lato server con chiavi fornite dal cliente (SSE-C)](specifying-s3-c-encryption.md)

  
+ **Crittografia lato client**: esegui la crittografia dei dati sul lato client e carica i dati crittografati in Amazon S3. In questo caso, è l'utente a gestire il processo di crittografia, nonché le chiavi e gli strumenti correlati.

  Per configurare la crittografia lato client, vedi [Protezione dei dati con la crittografia lato client](UsingClientSideEncryption.md).

Per vedere quale percentuale di byte di archiviazione crittografati, puoi utilizzare i parametri di Amazon S3 Storage Lens. S3 Storage Lens è una funzionalità di analisi dell'archiviazione su cloud che puoi utilizzare per avere una panoramica completa a livello di organizzazione sull'utilizzo e sulle attività relative all'archiviazione di oggetti. Per ulteriori informazioni, consulta [ Valutazione dell'attività e dell'utilizzo dello storage con S3 Storage Lens](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens?icmpid=docs_s3_user_guide_UsingEncryption.html). Per un elenco completo dei parametri, consulta [Glossario dei parametri di S3 Storage](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html?icmpid=docs_s3_user_guide_UsingEncryption).

Per ulteriori informazioni sulla crittografia lato server, sulla crittografia lato client e sulla crittografia in transito, consulta i seguenti argomenti.

**Topics**
+ [Protezione dei dati con la crittografia lato server](serv-side-encryption.md)
+ [Protezione dei dati con la crittografia lato client](UsingClientSideEncryption.md)
+ [Protezione dei dati in transito con crittografia](UsingEncryptionInTransit.md)

# Protezione dei dati con la crittografia lato server
<a name="serv-side-encryption"></a>

**Importante**  
Come [annunciato il 19 novembre 2025,](https://aws.amazon.com/blogs/storage/advanced-notice-amazon-s3-to-disable-the-use-of-sse-c-encryption-by-default-for-all-new-buckets-and-select-existing-buckets-in-april-2026/) Amazon Simple Storage Service sta implementando una nuova impostazione di sicurezza predefinita per i bucket che disabilita automaticamente la crittografia lato server con chiavi fornite dal cliente (SSE-C) per tutti i nuovi bucket generici. Per i bucket esistenti senza oggetti crittografati SSE-C, Amazon S3 disabiliterà anche SSE-C per tutte le nuove richieste di scrittura. Account AWS Infatti, Account AWS con l'utilizzo di SSE-C, Amazon S3 non modificherà la configurazione di crittografia dei bucket su nessuno dei bucket esistenti in tali account. Questa implementazione è iniziata il 6 aprile 2026 e sarà completata nelle prossime settimane in 37 AWS regioni, tra cui AWS Cina e regioni AWS GovCloud (Stati Uniti).  
Con queste modifiche, le applicazioni che richiedono la crittografia SSE-C devono abilitare deliberatamente SSE-C utilizzando l'operazione [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)API dopo la creazione di un nuovo bucket. Per ulteriori informazioni su questa modifica, vedere. [Domande frequenti sull'impostazione SSE-C predefinita per i nuovi bucket](default-s3-c-encryption-setting-faq.md)

**Importante**  
Amazon S3 ora applica la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3) come livello di base della crittografia per ogni bucket di Amazon S3. A partire dal 5 gennaio 2023, tutti i caricamenti di nuovi oggetti su Amazon S3 vengono crittografati automaticamente senza costi aggiuntivi e senza alcun impatto sulle prestazioni. Lo stato di crittografia automatico per la configurazione di crittografia predefinita del bucket S3 e per il caricamento di nuovi oggetti è disponibile nei CloudTrail log, in S3 Inventory, S3 Storage Lens, nella console Amazon S3 e come intestazione di risposta dell'API Amazon S3 aggiuntiva nella e. AWS CLI AWS SDKs Per ulteriori informazioni, consulta [Domande frequenti sulla crittografia predefinita](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html).

La crittografia lato server è la crittografia dei dati nella posizione di destinazione eseguita dall'applicazione o dal servizio che li riceve. Amazon S3 crittografa i dati a livello di oggetto mentre li scrive su dischi nei data AWS center e li decrittografa per te quando vi accedi. Se la richiesta è autenticata e sono disponibili le autorizzazioni per l'accesso, non c'è differenza nelle modalità di accesso agli oggetti, crittografati o meno. Ad esempio, se si condividono gli oggetti tramite un URL prefirmato, quest'ultimo funziona nello stesso modo, sia per i dati crittografati che per quelli non crittografati. Inoltre, quando si richiede un elenco degli oggetti nel bucket, le operazioni API restituisce l'elenco di tutti gli oggetti, crittografati o meno.

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 le chiavi gestite da Amazon S3 (SSE-S3) è la configurazione predefinita della crittografia per ogni bucket di Amazon S3. Per utilizzare un diverso tipo di crittografia, puoi specificare il tipo di crittografia lato server da utilizzare nelle richieste `PUT` S3 oppure aggiornare la configurazione di crittografia predefinita nel bucket di destinazione. 

Se desideri specificare un tipo di crittografia diverso nelle tue `PUT` richieste, puoi utilizzare la crittografia lato server con chiavi AWS Key Management Service (AWS KMS) (SSE-KMS), la crittografia lato server a due livelli con AWS KMS chiavi (DSSE-KMS) o la crittografia lato server con chiavi fornite dal cliente (SSE-C). Per impostare una configurazione di crittografia predefinita diversa nel bucket di destinazione puoi utilizzare SSE-KMS o DSSE-KMS.

Per ulteriori informazioni su come modificare la configurazione di crittografia predefinita per i bucket per uso generico, consulta [Configurazione della crittografia predefinita](default-bucket-encryption.md). 

Quando modifichi la configurazione di crittografia predefinita del bucket in SSE-KMS, il tipo di crittografia degli oggetti Amazon S3 esistenti nel bucket non viene modificato. Per modificare il tipo di crittografia degli oggetti preesistenti dopo aver aggiornato la configurazione di crittografia predefinita a SSE-KMS, puoi utilizzare Operazioni in batch Amazon S3. Si fornisce a Operazioni in batch S3 un elenco di oggetti e Operazioni in batch richiama la rispettiva operazione API. È possibile utilizzare l’azione [Copia oggetti](batch-ops-copy-object.md) per copiare gli oggetti esistenti, scrivendoli nello stesso bucket degli oggetti crittografati SSE-KMS. Un solo processo di operazioni in batch può eseguire l'operazione specificata su miliardi di oggetti. Per ulteriori informazioni, consulta [Esecuzione di operazioni sugli oggetti in blocco con le operazioni in batch](batch-ops.md) e il post [Come crittografare retroattivamente gli oggetti esistenti in Amazon S3 utilizzando Inventario S3, Amazon Athena e Operazioni in batch S3](https://aws.amazon.com/blogs/security/how-to-retroactively-encrypt-existing-objects-in-amazon-s3-using-s3-inventory-amazon-athena-and-s3-batch-operations/) nel *Blog dell’archiviazione AWS *. 

**Nota**  
Non è possibile applicare contemporaneamente tipi diversi di crittografia lato server a uno stesso oggetto.

Se devi crittografare gli oggetti esistenti, usa Operazioni in batch S3 e S3 Inventory. Per ulteriori informazioni, consulta [Crittografia di oggetti con Operazioni in batch Amazon S3](https://aws.amazon.com/blogs/storage/encrypting-objects-with-amazon-s3-batch-operations/) e [Esecuzione di operazioni sugli oggetti in blocco con le operazioni in batch](batch-ops.md).

Quando si archiviano dati in Amazon S3, sono disponibili quattro opzioni reciprocamente esclusive per la crittografia lato server, a seconda di come si sceglie di gestire le chiavi di crittografia e del numero di livelli di crittografia da applicare.

**Crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)**  
Tutti i bucket Amazon S3 hanno la crittografia configurata per impostazione predefinita. L'opzione predefinita per la crittografia lato server prevede le chiavi gestite da Amazon S3 (SSE-S3). Ogni oggetto è crittografato con una chiave univoca. Come ulteriore tutela, SSE-S3 esegue la crittografia della chiave con una chiave root che ruota con regolarità. Per crittografare i dati, SSE-S3 utilizza una delle cifrature di blocco più complesse disponibili, lo standard di crittografia avanzata a 256 bit (AES-256). Per ulteriori informazioni, consulta [Uso della crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)](UsingServerSideEncryption.md).

**Crittografia lato server con chiavi () (SSE-KMS) AWS Key Management Service AWS KMS**  
La crittografia lato server con AWS KMS keys (SSE-KMS) viene fornita tramite l'integrazione del servizio con AWS KMS Amazon S3. Con AWS KMS, hai un maggiore controllo sulle tue chiavi. Ad esempio, puoi visualizzare le chiavi separate, modificare le policy di controllo e seguire le chiavi in AWS CloudTrail. Inoltre, puoi creare e gestire chiavi gestite dal cliente oppure utilizzare chiavi Chiavi gestite da AWS create appositamente per te, il tuo servizio e la tua regione. Per ulteriori informazioni, consulta [Utilizzo della crittografia lato server con chiavi (SSE-KMS) AWS KMS](UsingKMSEncryption.md).

**Crittografia lato server a doppio livello con AWS Key Management Service (AWS KMS) chiavi (DSSE-KMS)**  
La crittografia lato server a doppio livello con AWS KMS keys (DSSE-KMS) è simile a SSE-KMS, ma DSSE-KMS applica due livelli indipendenti di crittografia AES-256 anziché un livello: prima utilizza una chiave di crittografia dei dati, quindi utilizza una chiave di crittografia separata gestita da Amazon S3. AWS KMS Poiché entrambi i livelli di crittografia vengono applicati a un oggetto sul lato server, è possibile utilizzare un'ampia gamma di Servizi AWS strumenti per analizzare i dati in S3 utilizzando un metodo di crittografia in grado di soddisfare i requisiti di conformità per la crittografia multistrato. Per ulteriori informazioni, consulta [Utilizzo della crittografia lato server a due livelli con AWS KMS chiavi (DSSE-KMS)](UsingDSSEncryption.md).

**Crittografia lato server con chiavi fornite dal cliente (SSE-C)**  
Con la crittografia lato server con chiavi fornite dal cliente (SSE-C) gestisci le chiavi di crittografia, mentre Amazon S3 si occupa di crittografare gli oggetti durante la scrittura su disco e di decrittarli al momento dell'accesso. Per ulteriori informazioni, consulta [Utilizzo della crittografia lato server con chiavi fornite dal cliente (SSE-C)](ServerSideEncryptionCustomerKeys.md).

**Nota**  
Quando utilizzi punti di accesso per FSx file system Amazon che utilizzano punti di accesso S3, hai un'opzione per la crittografia lato server.  
Tutti i FSx file system di Amazon hanno la crittografia configurata per impostazione predefinita e sono crittografati a riposo con chiavi gestite tramite AWS Key Management Service. I dati vengono automaticamente crittografati e decrittografati sul file system durante la scrittura e la lettura nel file system. Questi processi vengono gestiti in modo trasparente da Amazon. FSx

# Impostazione del comportamento predefinito della crittografia lato server per i bucket Amazon S3
<a name="bucket-encryption"></a>

**Importante**  
Amazon S3 ora applica la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3) come livello di base della crittografia per ogni bucket di Amazon S3. A partire dal 5 gennaio 2023, tutti i caricamenti di nuovi oggetti su Amazon S3 vengono crittografati automaticamente senza costi aggiuntivi e senza alcun impatto sulle prestazioni. Lo stato di crittografia automatico per la configurazione di crittografia predefinita del bucket S3 e per il caricamento di nuovi oggetti è disponibile nei CloudTrail log, in S3 Inventory, S3 Storage Lens, nella console Amazon S3 e come intestazione di risposta dell'API Amazon S3 aggiuntiva nella e. AWS CLI AWS SDKs Per ulteriori informazioni, consulta [Domande frequenti sulla crittografia predefinita](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html).

La crittografia è configurata per tutti i bucket Amazon S3 per impostazione predefinita; gli oggetti vengono crittografati automaticamente utilizzando la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3). Questa impostazione di crittografia si applica a tutti gli oggetti nei bucket Amazon S3.

Se hai bisogno di un maggiore controllo sulle tue chiavi, come la gestione della rotazione delle chiavi e le concessioni delle policy di accesso, puoi scegliere di utilizzare la crittografia lato server con chiavi AWS Key Management Service (AWS KMS) (SSE-KMS) o la crittografia lato server a due livelli con AWS KMS chiavi (DSSE-KMS). Per ulteriori informazioni sulla modifica delle chiavi KMS, consulta [Modifica delle chiavi](https://docs.aws.amazon.com/kms/latest/developerguide/editing-keys.html) nella *Guida per gli sviluppatori di AWS Key Management Service *. 

**Nota**  
Abbiamo modificato i bucket per crittografare automaticamente i caricamenti di nuovi oggetti. Se in precedenza hai creato un bucket senza crittografia predefinita, Amazon S3 abiliterà la crittografia per impostazione predefinita per il bucket utilizzando SSE-S3. Non verranno apportate modifiche alla configurazione della crittografia predefinita per un bucket con chiavi SSE-S3 o SSE-KMS già configurate. Per crittografare gli oggetti con SSE-KMS, è necessario modificare il tipo di crittografia nelle impostazioni del bucket. Per ulteriori informazioni, consulta [Utilizzo della crittografia lato server con chiavi (SSE-KMS) AWS KMS](UsingKMSEncryption.md). 

Quando configuri il bucket per utilizzare la crittografia predefinita con SSE-KMS, puoi anche abilitare S3 Bucket Keys per ridurre il traffico delle richieste da Amazon S3 e ridurre il costo della crittografia. AWS KMS Per ulteriori informazioni, consulta [Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3](bucket-key.md).

Per identificare i bucket in cui è abilitato SSE-KMS per la crittografia predefinita, puoi utilizzare i parametri di Amazon S3 Storage Lens. S3 Storage Lens è una funzionalità di analisi dell'archiviazione su cloud che puoi utilizzare per avere una panoramica completa a livello di organizzazione sull'utilizzo e sulle attività relative all'archiviazione di oggetti. Per ulteriori informazioni, consulta [Utilizzo di S3 Storage Lens per proteggere i dati](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-lens-data-protection.html?icmpid=docs_s3_user_guide_bucket-encryption.html).

Quando utilizzi la crittografia lato server, Amazon S3 esegue la crittografia di un oggetto prima di salvarlo su disco e lo decritta al momento del download. Per ulteriori informazioni sulla protezione dei dati mediante la crittografia lato server e la gestione delle chiavi di crittografia, consulta [Protezione dei dati con la crittografia lato server](serv-side-encryption.md).

Per ulteriori informazioni sulle autorizzazioni richieste per la crittografia predefinita, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html) nella *Documentazione di riferimento delle API di Amazon Simple Storage Service*.

Puoi configurare il comportamento di crittografia predefinito di Amazon S3 per un bucket S3 utilizzando la console Amazon S3, l'API REST di AWS SDKs Amazon S3 e l'interfaccia a riga di comando (). AWS AWS CLI

**Crittografia di oggetti esistenti**  
Per crittografare gli oggetti Amazon S3 non crittografati esistenti, puoi utilizzare la funzionalità Operazioni in batch Amazon S3. Si fornisce a Operazioni in batch S3 un elenco di oggetti su cui operare e Operazioni in batch chiama le rispettive API per eseguire l'operazione specificata. È possibile utilizzare l'operazione di [copia delle operazioni in batch](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops-copy-object.html) per copiare gli oggetti non crittografati esistenti e scrivere i nuovi oggetti crittografati nello stesso bucket. Un solo processo di operazioni in batch può eseguire l'operazione specificata su miliardi di oggetti. Per ulteriori informazioni, consulta [Esecuzione di operazioni sugli oggetti in blocco con le operazioni in batch](batch-ops.md) e il post del *Blog sull'archiviazione di AWS * [Crittografia di oggetti Amazon S3 esistenti con le operazioni in batch di Amazon S3](https://aws.amazon.com/blogs/storage/encrypting-objects-with-amazon-s3-batch-operations/).

Puoi anche crittografare gli oggetti esistenti utilizzando l'operazione API o il `CopyObject` comando. `copy-object` AWS CLI Per ulteriori informazioni, consulta il post del *Blog sull'archiviazione di AWS * [Crittografia di oggetti Amazon S3 esistenti con AWS CLI l](https://aws.amazon.com/blogs/storage/encrypting-existing-amazon-s3-objects-with-the-aws-cli/).

**Nota**  
I bucket Amazon S3 con la crittografia predefinita SSE-KMS non possono essere utilizzati come bucket di destinazione per [Registrazione delle richieste con registrazione dell'accesso al server](ServerLogs.md). Solo la crittografia predefinita SSE-S3 è supportata per i bucket di destinazione del log di accesso server.

## Utilizzo della crittografia SSE-KMS per operazioni multi-account
<a name="bucket-encryption-update-bucket-policy"></a>

Quando si utilizza la crittografia per operazioni multi-account, tieni presente quanto segue:
+ Se non viene fornito un AWS KMS key Amazon Resource Name (ARN) o un alias al momento della richiesta o tramite la configurazione di crittografia predefinita del bucket, viene utilizzata la Chiave gestita da AWS ()`aws/s3`.
+ Se stai caricando o accedendo a oggetti S3 utilizzando principi AWS Identity and Access Management (IAM) che sono gli stessi Account AWS della tua chiave KMS, puoi usare il (). Chiave gestita da AWS `aws/s3` 
+ Se desideri concedere l'accesso multi-account agli oggetti S3, utilizza una chiave gestita dal cliente. È possibile configurare la policy di una chiave gestita dal cliente per consentire l'accesso da un altro account.
+ Se si specifica una chiave KMS gestita dal cliente, si consiglia di utilizzare un ARN della chiave KMS completamente qualificato. Se invece utilizzi un alias di chiave KMS, AWS KMS risolve la chiave all'interno dell'account del richiedente. Ciò potrebbe comportare la crittografia dei dati con una chiave KMS di proprietà del richiedente e non del proprietario del bucket.
+ È necessario specificare una chiave per cui il richiedente ha ottenuto l'autorizzazione `Encrypt`. Per ulteriori informazioni, consulta l'argomento relativo all'[autorizzazione concessa agli utenti delle chiavi di utilizzare una chiave KMS per le operazioni di crittografia](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-users-crypto) nella *Guida per gli sviluppatori di AWS Key Management Service *.

Per ulteriori informazioni su quando utilizzare le chiavi gestite dal cliente e le chiavi KMS AWS gestite, consulta [Devo usare una chiave Chiave gestita da AWS o una chiave gestita dal cliente per crittografare i miei oggetti in Amazon S3](https://aws.amazon.com/premiumsupport/knowledge-center/s3-object-encryption-keys/)?

## Utilizzo della codifica predefinita con la replica
<a name="bucket-encryption-replication"></a>

Una volta abilitata la crittografia predefinita per un bucket di destinazione della replica, si applica il seguente comportamento di crittografia:
+ Se gli oggetti nel bucket di origine non sono crittografati, gli oggetti replicati nel bucket di destinazione vengono crittografati in base alle impostazioni di crittografia predefinita del bucket di destinazione. Di conseguenza, i tag di entità (ETags) degli oggetti di origine differiscono da quelli degli oggetti ETags di replica. Se disponi di applicazioni che utilizzano ETags, devi aggiornarle per tenere conto di questa differenza.
+ Se gli oggetti nel bucket di origine sono crittografati utilizzando la crittografia lato server con chiavi gestite Amazon S3 (SSE-S3), la crittografia lato server con chiavi () (SSE-KMS AWS KMS) o la crittografia lato server a doppio livello con AWS Key Management Service AWS KMS chiavi (DSSE-KMS), gli oggetti di replica nel bucket di destinazione utilizzano lo stesso tipo di crittografia degli oggetti di origine. Le impostazioni della crittografia predefinita del bucket di destinazione non vengono utilizzate.

Per ulteriori informazioni sull'utilizzo della crittografia di default con SSE-KMS, consulta [Replica di oggetti crittografati](replication-config-for-kms-objects.md).

## Utilizzo di chiavi bucket Amazon S3 con crittografia predefinita
<a name="bucket-key-default-encryption"></a>

Quando configuri il bucket per utilizzare SSE-KMS come funzionalità di crittografia predefinita per i nuovi oggetti, puoi anche configurare le chiavi bucket S3. Le S3 Bucket Keys riducono il numero di transazioni da Amazon S3 AWS KMS per ridurre il costo di SSE-KMS. 

[Quando configuri il bucket per utilizzare S3 Bucket Keys per SSE-KMS su nuovi oggetti, AWS KMS genera una chiave a livello di bucket che viene utilizzata per creare una chiave dati univoca per gli oggetti nel bucket.](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys) Questa S3 Bucket Key viene utilizzata per un periodo di tempo limitato all'interno di Amazon S3, riducendo la necessità per Amazon S3 di effettuare richieste per completare le operazioni di crittografia. AWS KMS 

Per ulteriori informazioni sull'utilizzo delle chiavi del bucket S3, consulta la sezione [Utilizzo di chiavi bucket Amazon S3](bucket-key.md).

# Configurazione della crittografia predefinita
<a name="default-bucket-encryption"></a>

**Importante**  
Amazon S3 ora applica la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3) come livello di base della crittografia per ogni bucket di Amazon S3. A partire dal 5 gennaio 2023, tutti i caricamenti di nuovi oggetti su Amazon S3 vengono crittografati automaticamente senza costi aggiuntivi e senza alcun impatto sulle prestazioni. Lo stato di crittografia automatico per la configurazione di crittografia predefinita del bucket S3 e per il caricamento di nuovi oggetti è disponibile nei CloudTrail log, in S3 Inventory, S3 Storage Lens, nella console Amazon S3 e come intestazione di risposta dell'API Amazon S3 aggiuntiva nella e. AWS CLI AWS SDKs Per ulteriori informazioni, consulta [Domande frequenti sulla crittografia predefinita](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html).

I bucket Amazon S3 hanno la crittografia dei bucket abilitata per impostazione predefinita; i nuovi oggetti vengono crittografati automaticamente utilizzando la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3). Questa crittografia si applica a tutti i nuovi oggetti nei bucket Amazon S3 e non comporta costi aggiuntivi.

Se hai bisogno di un maggiore controllo sulle chiavi di crittografia, come la gestione della rotazione delle chiavi e le concessioni delle policy di accesso, puoi scegliere di utilizzare la crittografia lato server con chiavi AWS Key Management Service (AWS KMS) (SSE-KMS) o la crittografia lato server a due livelli con AWS KMS chiavi (DSSE-KMS). Per ulteriori informazioni su SSE-KMS, consulta [Specificare la crittografia lato server con AWS KMS (SSE-KMS)](specifying-kms-encryption.md). Per ulteriori informazioni su DSSE-KMS, consulta [Utilizzo della crittografia lato server a due livelli con AWS KMS chiavi (DSSE-KMS)](UsingDSSEncryption.md). 

Se desideri utilizzare una chiave KMS di proprietà di un account diverso, devi avere l'autorizzazione necessaria per l'uso della chiave. Per ulteriori informazioni sulle autorizzazioni tra account per le chiavi KMS, vedi [Creazione di chiavi KMS utilizzabili da altri account](https://docs.aws.amazon.com//kms/latest/developerguide/key-policy-modifying-external-accounts.html#cross-account-console) nella *Guida per gli sviluppatori di AWS Key Management Service *. 

Quando imposti la crittografia dei bucket predefinita su SSE-KMS, puoi anche configurare una S3 Bucket Key per ridurre i costi delle richieste. AWS KMS Per ulteriori informazioni, consulta [Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3](bucket-key.md).

**Nota**  
Se utilizzi [PutBucketEncryption](https://docs.aws.amazon.com//AmazonS3/latest/API/API_PutBucketEncryption.html)la crittografia dei bucket predefinita su SSE-KMS, devi verificare che l'ID della tua chiave KMS sia corretto. Amazon S3 non convalida l'ID della chiave KMS fornito nelle richieste. PutBucketEncryption 

L'uso della crittografia predefinita dei bucket S3 non comporta costi aggiuntivi. Per le richieste di configurare la funzione di crittografia predefinita vengono applicati i costi standard per le richieste Amazon S3. Per informazioni sui prezzi, consulta [Prezzi di Amazon S3](https://aws.amazon.com/s3/pricing/). [Per SSE-KMS e DSSE-KMS, vengono applicati dei costi indicati nella tabella dei prezzi. AWS KMSAWS KMS](https://aws.amazon.com/kms/pricing/) 

La crittografia lato server con chiavi di crittografia fornite dal cliente (SSE-C) è supportata per la crittografia predefinita.

Puoi configurare la crittografia predefinita di Amazon S3 per un bucket S3 utilizzando la console Amazon S3, l'API REST di AWS SDKs Amazon S3 e (). AWS Command Line Interface AWS CLI

**Modifiche alla nota prima dell'abilitazione della crittografia predefinita**  
Una volta abilitata la crittografia predefinita di un bucket, si applica il seguente comportamento di crittografia:
+ Non avvengono modifiche della crittografia degli oggetti che esisteva nel bucket prima che la crittografia predefinita venisse abilitata. 
+ Quando si effettua il caricamento di oggetti dopo l'abilitazione della crittografia predefinita:
  + Se le intestazioni della richiesta `PUT` non includono le informazioni di crittografia, Amazon S3 utilizza le impostazioni di crittografia di default del bucket per eseguire la crittografia degli oggetti. 
  + Se le intestazioni della richiesta `PUT` includono le informazioni di crittografia, Amazon S3 utilizza le informazioni di crittografia della richiesta `PUT` per eseguire la crittografia degli oggetti prima di archiviarli in Amazon S3.
+ Se usi l'opzione SSE-KMS o DSSE-KMS per la configurazione della crittografia predefinita, vengono applicati i limiti di richieste al secondo (RPS) di AWS KMS. Per ulteriori informazioni sulle quote AWS KMS e su come richiedere un aumento delle quote, consulta [Quote](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html) nella *Guida per gli sviluppatori di AWS Key Management Service *. 

**Nota**  
Gli oggetti caricati prima dell'abilitazione della crittografia predefinita non verranno crittografati. Per ulteriori informazioni sulla crittografia di oggetti, consulta [Impostazione del comportamento predefinito della crittografia lato server per i bucket Amazon S3](bucket-encryption.md).

## Utilizzo della console S3
<a name="bucket-encryption-how-to-set-up-console"></a>

**Per configurare la crittografia predefinita per un bucket Amazon S3**

1. Accedi Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Nell'elenco **Bucket** scegli il nome del bucket desiderato. 

1. Scegliere la scheda **Properties (Proprietà)**.

1. In **Default encryption (Crittografia di default)**, scegliere **Edit (Modifica)**.

1. Per configurare la crittografia, in **Tipo di crittografia** scegli una delle seguenti opzioni: 
   + **Crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)**
   + **Crittografia lato server con AWS Key Management Service chiavi (SSE-KMS)**
   + **Crittografia lato server a doppio livello con chiavi (DSSE-KMS) AWS Key Management Service **
**Importante**  
Se usi l'opzione SSE-KMS o DSSE-KMS per la configurazione della crittografia predefinita, vengono applicati i limiti di richieste al secondo (RPS) di AWS KMS. [https://docs.aws.amazon.com/kms/latest/developerguide/limits.html](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html) 

   I bucket e i nuovi oggetti sono crittografati per impostazione predefinita con SSE-S3, a meno che non specifichi un altro tipo di crittografia predefinita per i bucket. Per ulteriori informazioni sulla crittografia predefinita, consulta [Impostazione del comportamento predefinito della crittografia lato server per i bucket Amazon S3](bucket-encryption.md).

   Per ulteriori informazioni sull'utilizzo della crittografia lato server di Amazon S3 per crittografare i dati, consulta [Uso della crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)](UsingServerSideEncryption.md).

1. Se hai scelto la **crittografia lato server con AWS Key Management Service chiavi (SSE-KMS) o la crittografia lato server a doppio livello con chiavi (DSSE-KMS)****, procedi** come segue: AWS Key Management Service 

   1. In **Chiave AWS KMS ** specifica la tua chiave KMS in uno dei seguenti modi:
      + **Per scegliere da un elenco di chiavi KMS disponibili, scegli tra le tue e **scegli la tua AWS KMS keys chiave KMS dall'**elenco delle chiavi disponibili.**

        In questo elenco vengono visualizzate sia la chiave Chiave gestita da AWS (`aws/s3`) che quella gestita dai clienti. Per ulteriori informazioni sulle chiavi gestite dai clienti, consulta [Customer keys and AWS keys](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) nella *AWS Key Management Service Developer Guide*.
      + Per specificare l'ARN della chiave KMS, scegli **Inserisci l'ARN della AWS KMS key ** e quindi specifica l'ARN della chiave KMS nel campo visualizzato. 
      + Per creare una nuova chiave gestita dal cliente nella AWS KMS console, scegli **Crea una chiave KMS**.

        Per ulteriori informazioni sulla creazione di una AWS KMS key, consulta [Creating keys](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) nella *AWS Key Management Service Developer Guide*.
**Importante**  
Puoi usare solo chiavi KMS abilitate nello Regione AWS stesso bucket. Quando scegli **Choose from your KMS keys** (Scegli tra le chiavi KMS), la console S3 elenca solo 100 chiavi KMS per regione. Se hai più di 100 chiavi KMS nella stessa regione, puoi vedere solo le prime 100 chiavi KMS nella console S3. Per utilizzare una chiave KMS non elencata nella console, seleziona **Inserisci l'ARN AWS KMS key ** e specifica l'ARN della chiave KMS.  
Quando utilizzi una AWS KMS key 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](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#symmetric-cmks) nella *Guida per gli sviluppatori di AWS Key Management Service *.

      Per ulteriori informazioni sull'uso di SSE-KMS con Amazon S3, consulta [Utilizzo della crittografia lato server con chiavi (SSE-KMS) AWS KMS](UsingKMSEncryption.md). Per ulteriori informazioni sull'uso di DSSE-KMS, consulta [Utilizzo della crittografia lato server a due livelli con AWS KMS chiavi (DSSE-KMS)](UsingDSSEncryption.md).

   1. Quando si configura il bucket per utilizzare la crittografia predefinita con SSE-KMS, è anche possibile abilitare le chiavi bucket S3. S3 Bucket Keys riduce il costo della crittografia diminuendo il traffico di richieste da Amazon S3 a. AWS KMS Per ulteriori informazioni, consulta [Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3](bucket-key.md).

      Per utilizzare le chiavi bucket S3, in **Chiave bucket** seleziona **Abilita**.
**Nota**  
Le chiavi bucket S3 non sono supportate per DSSE-KMS.

1. Scegli **Save changes** (Salva modifiche).

## Usando il AWS CLI
<a name="default-bucket-encryption-cli"></a>

Questi esempi mostrano come configurare la crittografia predefinita utilizzando la crittografia gestita da Amazon S3 (SSE-S3) o la crittografia SSE-KMS con una chiave bucket S3.

Per ulteriori informazioni sulla crittografia predefinita, consulta [Impostazione del comportamento predefinito della crittografia lato server per i bucket Amazon S3](bucket-encryption.md). Per ulteriori informazioni sull'utilizzo della AWS CLI configurazione della crittografia predefinita, vedere [put-bucket-encryption](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-bucket-encryption.html).

**Example - Crittografia predefinita con SSE-S3**  
In questo esempio viene configurata la crittografia predefinita dei bucket con le chiavi gestite da Amazon S3.  

```
aws s3api put-bucket-encryption --bucket amzn-s3-demo-bucket --server-side-encryption-configuration '{
    "Rules": [
        {
            "ApplyServerSideEncryptionByDefault": {
                "SSEAlgorithm": "AES256"
            }
        }
    ]
}'
```

**Example - Crittografia predefinita con SSE-KMS utilizzando una chiave bucket S3**  
In questo esempio viene configurata la crittografia predefinita del bucket con SSE-KMS utilizzando una chiave bucket S3.   

```
aws s3api put-bucket-encryption --bucket amzn-s3-demo-bucket --server-side-encryption-configuration '{
    "Rules": [
            {
                "ApplyServerSideEncryptionByDefault": {
                    "SSEAlgorithm": "aws:kms",
                    "KMSMasterKeyID": "KMS-Key-ARN"
                },
                "BucketKeyEnabled": true
            }
        ]
    }'
```

## Utilizzo della REST API
<a name="bucket-encryption-how-to-set-up-api"></a>

Usa l'operazione REST API `PutBucketEncryption` per abilitare la crittografia predefinita e impostare il tipo di crittografia lato server da utilizzare: SSE-S3, SSE-KMS o DSSE-KMS. 

Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service).

# Monitoraggio della crittografia predefinita con AWS CloudTrail e Amazon EventBridge
<a name="bucket-encryption-tracking"></a>

**Importante**  
Amazon S3 ora applica la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3) come livello di base della crittografia per ogni bucket di Amazon S3. A partire dal 5 gennaio 2023, tutti i caricamenti di nuovi oggetti su Amazon S3 vengono crittografati automaticamente senza costi aggiuntivi e senza alcun impatto sulle prestazioni. Lo stato di crittografia automatico per la configurazione di crittografia predefinita del bucket S3 e per il caricamento di nuovi oggetti è disponibile nei CloudTrail log, in S3 Inventory, S3 Storage Lens, nella console Amazon S3 e come intestazione di risposta dell'API Amazon S3 aggiuntiva nella e. AWS CLI AWS SDKs Per ulteriori informazioni, consulta [Domande frequenti sulla crittografia predefinita](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html).

È possibile tenere traccia le richieste di configurazione della crittografia predefinita per i bucket Amazon S3 mediante gli eventi AWS CloudTrail . I seguenti nomi di eventi API vengono utilizzati nei log: CloudTrail 
+ `PutBucketEncryption`
+ `GetBucketEncryption`
+ `DeleteBucketEncryption`

Puoi anche creare EventBridge regole che corrispondano agli CloudTrail eventi per queste chiamate API. Per ulteriori informazioni sugli CloudTrail eventi, consulta[Abilitazione della registrazione per gli oggetti in un bucket utilizzando la console](enable-cloudtrail-logging-for-s3.md#enable-cloudtrail-events). Per ulteriori informazioni sugli EventBridge eventi, vedere [Events from Servizi AWS](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html).

Puoi utilizzare CloudTrail i log per le azioni Amazon S3 a livello di oggetto per tracciare `PUT` e inviare richieste ad Amazon S3. `POST` È possibile utilizzare queste azioni per verificare se la crittografia predefinita viene utilizzata per crittografare gli oggetti quando le richieste `PUT` in arrivo non dispongono di intestazioni di crittografia.

Quando Amazon S3 esegue la crittografia di un oggetto in base alle impostazioni della crittografia predefinita, il log include uno dei seguenti campi come coppia nome/valore: `"SSEApplied":"Default_SSE_S3"`, `"SSEApplied":"Default_SSE_KMS"` o `"SSEApplied":"Default_DSSE_KMS"`.

Quando Amazon S3 esegue la crittografia di un oggetto in base alle intestazioni di crittografia `PUT`, il log include uno dei campi seguenti come coppia nome/valore: `"SSEApplied":"SSE_S3"`, `"SSEApplied":"SSE_KMS"`, `"SSEApplied":"DSSE_KMS"` o `"SSEApplied":"SSE_C"`. 

Per i caricamenti in più parti, queste informazioni sono incluse nelle richieste dell'operazione API `InitiateMultipartUpload`. Per ulteriori informazioni sull'utilizzo di and, consulta. CloudTrail CloudWatch [Registrazione e monitoraggio in Amazon S3](monitoring-overview.md)

# Domande frequenti sulla crittografia predefinita
<a name="default-encryption-faq"></a>

Amazon S3 ora applica la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3) come livello di base della crittografia per ogni bucket di Amazon S3. A partire dal 5 gennaio 2023, tutti i caricamenti di nuovi oggetti su Amazon S3 vengono crittografati automaticamente senza costi aggiuntivi e senza alcun impatto sulle prestazioni. SSE-S3, che utilizza l'algoritmo Advanced Encryption Standard (AES-256) a 256 bit, viene applicato automaticamente a tutti i nuovi bucket e a qualsiasi bucket S3 esistente per il quale non sia già stata configurata la crittografia predefinita. Lo stato di crittografia automatico per la configurazione di crittografia predefinita del bucket S3 e per il caricamento di nuovi oggetti è disponibile nei AWS CloudTrail log, S3 Inventory, S3 Storage Lens, la console Amazon S3 e come intestazione di risposta dell'API Amazon S3 aggiuntiva nei file () e. AWS Command Line Interface AWS CLI AWS SDKs

Nelle sezioni seguenti vengono fornite le risposte alle domande su questo aggiornamento. 

**Amazon S3 modifica le impostazioni della crittografia predefinita per i miei bucket esistenti che hanno già configurato la crittografia predefinita?**  
No. Non sono state apportate modifiche alla configurazione di crittografia predefinita per un bucket esistente che ha già configurato la crittografia SSE-S3 o lato server con chiavi AWS Key Management Service (AWS KMS) (SSE-KMS). Per ulteriori informazioni su come configurare il comportamento della crittografia predefinita per i bucket, consulta [Impostazione del comportamento predefinito della crittografia lato server per i bucket Amazon S3](bucket-encryption.md). Per ulteriori informazioni sulle impostazioni della crittografia SSE-S3 e SSE-KMS, consulta [Protezione dei dati con la crittografia lato server](serv-side-encryption.md).

**La crittografia predefinita è abilitata nei miei bucket esistenti che non hanno la crittografia predefinita configurata?**  
Sì. Amazon S3 ora configura la crittografia predefinita in tutti i bucket non crittografati esistenti per applicare la crittografia lato server con chiavi gestite da S3 come livello base di crittografia per i nuovi oggetti caricati in questi bucket. Gli oggetti già presenti in un bucket non crittografato esistente non verranno crittografati automaticamente.

**Come posso visualizzare lo stato della crittografia predefinita dei caricamenti di nuovi oggetti?**  
Attualmente, puoi visualizzare lo stato di crittografia predefinito dei caricamenti di nuovi oggetti nei AWS CloudTrail log, S3 Inventory e S3 Storage Lens, nella console Amazon S3 e come intestazione di risposta dell'API Amazon S3 aggiuntiva nei file () e. AWS Command Line Interface AWS CLI AWS SDKs
+ *Per visualizzare i tuoi CloudTrail eventi, consulta [Visualizzazione CloudTrail degli eventi nella console nella](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events-console.html) Guida per l'utente. CloudTrail AWS CloudTrail * CloudTrail i log forniscono il monitoraggio delle API `PUT` e le `POST` richieste ad Amazon S3. Quando viene utilizzata la crittografia predefinita per crittografare gli oggetti nei bucket, i CloudTrail log `PUT` e le richieste `POST` API includeranno il seguente campo come coppia nome-valore:. `"SSEApplied":"Default_SSE_S3"` 
+ Per visualizzare lo stato di crittografia automatica dei nuovi caricamenti di oggetti in S3 Inventory, configura un report di S3 Inventory che includa il campo dei metadati **Encryption (Crittografia)**, quindi visualizza lo stato di crittografia di ogni nuovo oggetto nel report. Per ulteriori informazioni, consulta [Impostazione di Amazon S3 Inventory](https://docs.aws.amazon.com/AmazonS3/latest/userguide/configure-inventory.html#storage-inventory-setting-up).
+ Per visualizzare lo stato di crittografia automatica per i nuovi caricamenti di oggetti in S3 Storage Lens, configura un pannello di controllo di S3 Storage Lens e visualizza le metriche **Encrypted bytes (Byte crittografati)** e **Encrypted object count (Conteggio degli oggetti crittografati)** nella categoria **Data protection (Protezione dei dati)** del pannello di controllo. Per ulteriori informazioni, consultare [Utilizzo della console S3](storage_lens_creating_dashboard.md#storage_lens_console_creating) e [Visualizzazione dei parametri di S3 Storage Lens nei pannelli di controllo](storage_lens_view_metrics_dashboard.md).
+ Per visualizzare lo stato della crittografia automatica a livello di bucket nella console Amazon S3, controlla la **crittografia predefinita** dei bucket Amazon S3 nella console Amazon S3. Per ulteriori informazioni, consulta [Configurazione della crittografia predefinita](default-bucket-encryption.md).
+ Per visualizzare lo stato della crittografia automatica come intestazione di risposta dell'API Amazon S3 aggiuntiva nei campi AWS Command Line Interface (AWS CLI) e AWS SDKs, controlla l'intestazione della risposta `x-amz-server-side-encryption` quando usi l'azione dell'oggetto APIs, ad esempio e. [PutObject[GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) 

**Cosa devo fare per trarre vantaggio da questa modifica?**  
Non è necessario apportare modifiche alle applicazioni esistenti. Poiché la crittografia predefinita è abilitata per tutti i bucket, tutti i nuovi oggetti caricati in Amazon S3 vengono crittografati automaticamente.

**Posso disabilitare la crittografia per i nuovi oggetti che vengono scritti nel mio bucket?**  
No. SSE-S3 è il nuovo livello di crittografia di base che viene applicato a tutti i nuovi oggetti caricati nel bucket. Non è più possibile disabilitare la crittografia per il caricamento di nuovi oggetti.

**Ciò avrà ripercussioni sui miei addebiti?**  
No. La crittografia predefinita con SSE-S3 è disponibile senza costi aggiuntivi. Ti verranno fatturati lo spazio di archiviazione, le richieste e le altre funzionalità di S3, come al solito. Per informazioni sui prezzi, consulta [Prezzi di Amazon S3](https://aws.amazon.com/s3/pricing/).

**Amazon S3 crittograferà i miei oggetti esistenti non crittografati?**  
No. A partire dal 5 gennaio 2023, Amazon S3 crittografa automaticamente solo i caricamenti di nuovi oggetti. Per crittografare gli oggetti esistenti, è possibile utilizzare la funzionalità Operazioni in batch Amazon S3 per creare copie crittografate degli oggetti. Queste copie crittografate manterranno i dati e il nome dell'oggetto esistenti e verranno crittografate utilizzando le chiavi di crittografia specificate. Per ulteriori informazioni, consulta [Crittografia degli oggetti con Operazioni in batch Amazon S3](https://aws.amazon.com/blogs/storage/encrypting-objects-with-amazon-s3-batch-operations/) nel *Blog dell’archiviazione AWS *.

**Non ho abilitato la crittografia per i miei bucket prima di questa versione. Devo cambiare la modalità di accesso agli oggetti?**  
No. La crittografia predefinita con SSE-S3 consente di crittografare automaticamente i dati durante la scrittura in Amazon S3 e di eseguire la decrittografia al momento dell'accesso. Non vi è alcuna modifica nel modo in cui si accede agli oggetti crittografati automaticamente.

**Devo cambiare il modo in cui accedo ai miei oggetti con crittografia lato client?**  
No. Tutti gli oggetti con crittografia lato client crittografati prima di essere caricati in Amazon S3 arrivano come oggetti di testo criptato crittografati all'interno di Amazon S3. Questi oggetti avranno ora un livello di crittografia SSE-S3 aggiuntivo. I carichi di lavoro che utilizzano oggetti con crittografia lato client non richiederanno alcuna modifica ai servizi client o alle impostazioni di autorizzazione.

**Nota**  
HashiCorp Gli utenti Terraform che non utilizzano una versione aggiornata del AWS Provider potrebbero riscontrare una variazione inaspettata dopo la creazione di nuovi bucket S3 senza una configurazione di crittografia definita dal cliente. Per evitare questa deriva, aggiorna la versione di Terraform AWS Provider a una delle seguenti versioni: qualsiasi versione, o. 4.x 3.76.1 2.70.4

# Aggiornamento della crittografia lato server per i dati esistenti
<a name="update-sse-encryption"></a>

La crittografia è configurata per tutti i bucket Amazon S3 per impostazione predefinita; gli oggetti vengono crittografati automaticamente utilizzando la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3). Questa impostazione di crittografia predefinita si applica a tutti i nuovi oggetti nei bucket Amazon S3.

Utilizzando l'operazione `UpdateObjectEncryption` API, puoi aggiornare atomicamente il tipo di crittografia lato server di un oggetto crittografato esistente in un bucket generico dalla crittografia lato server con crittografia gestita Amazon S3 (SSE-S3) alla crittografia lato server con () chiavi di crittografia (SSE-KMS). AWS Key Management Service AWS KMS L'operazione `UpdateObjectEncryption` API utilizza la [crittografia a busta](https://docs.aws.amazon.com/kms/latest/developerguide/kms-cryptography.html#enveloping) per crittografare nuovamente la chiave dati utilizzata per crittografare e decrittografare l'oggetto con il tipo di crittografia lato server appena specificato. 

Amazon S3 esegue questo aggiornamento di tipo di crittografia senza alcun trasferimento di dati. In altre parole, quando si utilizza l'`UpdateObjectEncryption`operazione, i dati non vengono copiati, gli oggetti archiviati in S3 Glacier Flexible Retrieval o S3 Glacier Deep Archive non vengono ripristinati e gli oggetti nella classe di storage S3 Intelligent-Tiering non vengono spostati tra i livelli. Inoltre, l'`UpdateObjectEncryption`operazione conserva tutte le proprietà dei metadati degli oggetti, tra cui la classe di archiviazione, la data di creazione, la data dell'ultima modifica e le proprietà di checksum. ETag

L'`UpdateObjectEncryption`operazione è supportata per tutte le classi di storage S3 supportate da bucket generici. È possibile utilizzare l'`UpdateObjectEncryption`operazione per effettuare le seguenti operazioni: 
+ Modifica gli oggetti crittografati dalla crittografia lato server con la crittografia gestita di Amazon S3 (SSE-S3) alla crittografia lato server con () chiavi di crittografia AWS Key Management Service (SSE-KMS).AWS KMS
+ Aggiorna gli oggetti crittografati SSE-KMS a livello di oggetto per utilizzare S3 Bucket Keys, che riduce il traffico AWS KMS di richieste da Amazon S3 a. AWS KMS Per ulteriori informazioni, consulta [Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3](bucket-key.md).
+ Modifica la chiave KMS gestita dal cliente che viene utilizzata per crittografare i dati in modo da rispettare gli standard personalizzati di rotazione delle chiavi.

**Nota**  
Gli oggetti di origine non crittografati o crittografati con crittografia lato server a doppio livello con AWS KMS keys (DSSE-KMS) o chiavi di crittografia fornite dal cliente (SSE-C) non sono supportati da questa operazione.

L'`UpdateObjectEncryption`operazione viene in genere completata in millisecondi indipendentemente dalla dimensione dell'oggetto o dalla classe di storage, tra cui S3 Glacier Flexible Retrieval o S3 Glacier Deep Archive. Questa operazione non conta come accesso per S3 Intelligent-Tiering, quindi gli oggetti nel livello Infrequent Access o Archive Instant Access non torneranno automaticamente al livello Frequent Access se si modifica il tipo di crittografia lato server dell'oggetto. 

`UpdateObjectEncryption`è un'operazione API a livello di oggetto (piano dati) che viene registrata nei log di accesso al server Amazon S3 e negli eventi dei dati. AWS CloudTrail Per ulteriori informazioni, consulta [Opzioni di registrazione per Amazon S3](logging-with-S3.md). 

 L'`UpdateObjectEncryption`operazione ha lo stesso prezzo di`PUT`, `COPY``POST`, e request (per 1.000 `LIST` richieste) e viene sempre addebitata come richiesta di classe di storage S3 Standard indipendentemente dalla classe di storage dell'oggetto sottostante. Per ulteriori informazioni, consulta [Prezzi di Amazon S3](https://aws.amazon.com/s3/pricing/).

## Restrizioni e considerazioni
<a name="update-sse-encryption-restrictions"></a>

Quando si utilizza l'`UpdateObjectEncryption`operazione, si applicano le seguenti restrizioni e considerazioni:
+ L'`UpdateObjectEncryption`operazione non supporta oggetti non crittografati o oggetti crittografati con crittografia lato server a doppio livello con AWS KMS keys (DSSE-KMS) o chiavi di crittografia fornite dal cliente (SSE-C). Inoltre, non è possibile specificare SSE-S3 come nuova richiesta di tipo di crittografia richiesta. `UpdateObjectEncryption`
+ È possibile utilizzare l'`UpdateObjectEncryption`operazione per aggiornare gli oggetti nei bucket con S3 Versioning abilitato. Per aggiornare il tipo di crittografia di una particolare versione, è necessario specificare un ID di versione nella richiesta. `UpdateObjectEncryption` Se non specificate l'ID della versione, la `UpdateObjectEncryption` richiesta agisce sulla versione corrente dell'oggetto. Per ulteriori informazioni sulla funzione Controllo delle versioni S3, consulta [Conservazione di più versioni degli oggetti con Controllo delle versioni S3](Versioning.md).
+ L'`UpdateObjectEncryption`operazione ha esito negativo su qualsiasi oggetto a cui è applicata una modalità di conservazione o un blocco legale di S3 Object Lock. Se un oggetto ha un periodo di conservazione in modalità governance o un blocco legale, devi prima rimuovere lo stato Object Lock sull'oggetto prima di emettere la richiesta. `UpdateObjectEncryption` Non è possibile utilizzare l'`UpdateObjectEncryption`operazione con oggetti a cui è applicato un periodo di conservazione in modalità di conformità Object Lock. Per ulteriori informazioni sul blocco degli oggetti S3, consulta [Blocco di oggetti con Object Lock](object-lock.md).
+ `UpdateObjectEncryption`le richieste sui bucket di origine con replica live abilitata non avvieranno eventi di replica nel bucket di destinazione. Se desideri modificare il tipo di crittografia degli oggetti sia nei bucket di origine che in quelli di destinazione, devi avviare `UpdateObjectEncryption` richieste separate sugli oggetti nei bucket di origine e di destinazione.
+ Per impostazione predefinita, tutte le `UpdateObjectEncryption` richieste che specificano una chiave KMS gestita dal cliente sono limitate alle chiavi KMS di proprietà del proprietario del bucket. Account AWS Se lo utilizzi AWS Organizations, puoi richiedere la possibilità di utilizzare gli account di AWS KMS keys proprietà di altri membri all'interno della tua organizzazione contattando. Supporto AWS
+ Se utilizzi S3 Batch Replication per replicare set di dati su più regioni e in precedenza il tipo di crittografia lato server degli oggetti era stato aggiornato da SSE-S3 a SSE-KMS, potresti aver bisogno di autorizzazioni aggiuntive. Nel bucket `kms:decrypt` della regione di origine, devi disporre delle autorizzazioni. Quindi, avrai bisogno delle `kms:encrypt` autorizzazioni `kms:decrypt` e per il bucket nella regione di destinazione. 
+ È necessario fornire una chiave KMS completa (ARN) nella `UpdateObjectEncryption` richiesta. Non puoi usare un nome alias o un alias ARN. Puoi determinare l'ARN completo della chiave KMS nella console AWS KMS o utilizzando l'API AWS KMS. `DescribeKey`

## Autorizzazioni richieste
<a name="update-sse-encryption-permissions"></a>

Per eseguire l'`UpdateObjectEncryption`operazione, devi disporre delle seguenti autorizzazioni: 
+ `s3:PutObject`
+ `s3:UpdateObjectEncryption`
+ `kms:Encrypt`
+ `kms:Decrypt`
+ `kms:GenerateDataKey`
+ `kms:ReEncrypt*`

Se utilizzi AWS Organizations, per utilizzare questa operazione con chiavi KMS gestite dal cliente provenienti da altri membri dell' Account AWS organizzazione, devi disporre dell'autorizzazione. `organizations:DescribeAccount` È inoltre necessario richiedere la possibilità di utilizzare gli account AWS KMS keys di proprietà di altri membri all'interno dell'organizzazione contattando. Supporto AWS

Per eseguire l'`UpdateObjectEncryption`operazione, aggiungi la seguente policy AWS Identity and Access Management (IAM) al tuo ruolo IAM. Per utilizzare questa policy, `amzn-s3-demo-bucket` sostituiscila con il nome del tuo bucket generico e sostituisci l'altra `user input placeholders` con le tue informazioni.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "AllowUpdateObjectEncryption",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:UpdateObjectEncryption",
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:ReEncrypt*",
                "organizations:DescribeAccount"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*",
                "arn:aws:kms:us-east-1:111122223333:key/01234567-89ab-cdef-0123-456789abcdef"
            ]
        }
    ]
}
```

## Aggiornamento della crittografia in blocco
<a name="update-sse-encryption-bulk"></a>

Per aggiornare il tipo di crittografia lato server di più di un oggetto Amazon S3 con una singola richiesta, puoi utilizzare S3 Batch Operations. Puoi fornire a S3 Batch Operations un elenco di oggetti su cui operare oppure puoi indirizzare Batch Operations a generare metadati di oggetti basati su un elenco di oggetti, tra cui prefisso, classe di archiviazione, data di creazione, tipo di crittografia, ARN della chiave KMS o stato della chiave S3 Bucket. Le operazioni in batch S3 richiamano la rispettiva API per eseguire l'operazione specificata. Un singolo processo Batch Operations può eseguire l'operazione specificata su miliardi di oggetti all'interno di un bucket contenente petabyte di dati. Per ulteriori informazioni su Batch Operations, consulta [Esecuzione di operazioni sugli oggetti in blocco con le operazioni in batch](batch-ops.md). 

La funzionalità Operazioni in batch S3 tiene traccia dei progressi, invia notifiche e memorizza un report dettagliato sul completamento di tutte le azioni, offrendo un'esperienza serverless completamente gestita e verificabile. Puoi utilizzare S3 Batch Operations tramite la console Amazon S3 AWS Command Line Interface ,AWS CLI( AWS SDKs) o l'API REST di Amazon S3. Per ulteriori informazioni, consulta [Aggiorna la crittografia degli oggetti](batch-ops-update-encryption.md).

## Aggiornamento della crittografia per gli oggetti
<a name="update-sse-encryption-single-object"></a>

Puoi aggiornare il tipo di crittografia lato server per un oggetto tramite AWS Command Line Interface (AWS CLI) AWS SDKs o l'API REST di Amazon S3. 

### Aggiorna la crittografia per un oggetto
<a name="update-sse-encryption-single-object-procedure"></a>

#### Usando il AWS CLI
<a name="update-sse-encryption-single-object-cli"></a>

Per eseguire i seguenti comandi, è necessario averli AWS CLI installati e configurati. Se non lo hai AWS CLI installato, consulta [Installare o aggiornare alla versione più recente di AWS CLI nella](https://docs.aws.amazon.com//cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*.

In alternativa, puoi eseguire AWS CLI comandi dalla console utilizzando AWS CloudShell. AWS CloudShell è una shell preautenticata basata su browser che è possibile avviare direttamente da. Console di gestione AWS[Per ulteriori informazioni, consulta Cos'è? CloudShell](https://docs.aws.amazon.com//cloudshell/latest/userguide/welcome.html) e [Guida introduttiva AWS CloudShell](https://docs.aws.amazon.com//cloudshell/latest/userguide/getting-started.html) nella *Guida AWS CloudShell per l'utente*.

**Per aggiornare la crittografia di un oggetto utilizzando il AWS CLI**

Per utilizzare il seguente comando di esempio, sostituisci `user input placeholders` con le tue informazioni. 

1. Utilizza il seguente comando per aggiornare la crittografia per un singolo oggetto (`index.html`) nel tuo bucket generico (ad esempio,`amzn-s3-demo-bucket`) per utilizzare SSE-KMS con una chiave S3 Bucket:

   ```
   aws s3api update-object-encryption \
   --bucket amzn-s3-demo-bucket \
   --key index.html \
   --object-encryption '{"SSEKMS": { "KMSKeyArn": "arn:aws:kms:us-east-1:111122223333:key/f12a345a-678e-9bbb-1025-62e317037583", "BucketKeyEnabled": true }}'
   ```
**Nota**  
È necessario specificare l' AWS KMS key Amazon Resource Name (ARN) completo. L'ID della chiave KMS e l'alias della chiave KMS non sono supportati.

1. Esegui il `head-object` comando per visualizzare il tipo di crittografia aggiornato del tuo oggetto:

   ```
   aws s3api head-object --bucket amzn-s3-demo-bucket --key index.html
   ```

#### Utilizzo della REST API
<a name="update-sse-encryption-single-object-rest-api"></a>

È possibile inviare richieste REST per aggiornare la crittografia di un oggetto. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateObjectEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateObjectEncryption.html).

#### Usando il AWS SDKs
<a name="update-sse-encryption-single-object-sdk"></a>

È possibile utilizzare AWS SDKs per aggiornare la crittografia di un oggetto. Per ulteriori informazioni, consulta l'[elenco delle opzioni supportate SDKs](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateObjectEncryption.html#API_UpdateObjectEncryption_SeeAlso).

------
#### [ Java ]

**Example**  
L' AWS SDK for Java 2.x esempio seguente aggiorna il tipo di crittografia a SSE-KMS per un oggetto in un bucket generico.  

```
    public void updateObjectEncryption(String bucketName,
                                       String objectKey,
                                       String versionId,
                                       String kmsKeyArn,
                                       boolean bucketKeyEnabled) {
        // Create the target object encryption type.
        ObjectEncryption objectEncryption = ObjectEncryption.builder()
                .ssekms(SSEKMSEncryption.builder()
                        .kmsKeyArn(kmsKeyArn)
                        .bucketKeyEnabled(bucketKeyEnabled)
                        .build())
                .build();

        // Create the UpdateObjectEncryption request.
        UpdateObjectEncryptionRequest request = UpdateObjectEncryptionRequest.builder()
                .bucket(bucketName)
                .key(objectKey)
                .versionId(versionId)
                .objectEncryption(objectEncryption)
                .build();

        // Update the object encryption.
        try {
            getS3Client().updateObjectEncryption(request);
            logger.info("Object encryption updated to SSE-KMS for {} in bucket {}", objectKey, bucketName);
        } catch (S3Exception e) {
            logger.error("Failed to update to object encryption: {} - Error code: {}", e.awsErrorDetails().errorMessage(),
                    e.awsErrorDetails().errorCode());
            throw e;
        }
    }
```

------
#### [ Python ]

**Example**  
L' AWS SDK per Python (Boto3) esempio seguente mostra come aggiornare il tipo di crittografia a SSE-KMS per un oggetto in un bucket generico.   

```
response = client.update_object_encryption(
    Bucket='string',
    Key='string',
    VersionId='string',
    ObjectEncryption={
        'SSEKMS': {
                'KMSKeyArn': 'string',
                'BucketKeyEnabled': True|False
        }
    }
)
```

------

# Uso della crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)
<a name="UsingServerSideEncryption"></a>

**Importante**  
Amazon S3 ora applica la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3) come livello di base della crittografia per ogni bucket di Amazon S3. A partire dal 5 gennaio 2023, tutti i caricamenti di nuovi oggetti su Amazon S3 vengono crittografati automaticamente senza costi aggiuntivi e senza alcun impatto sulle prestazioni. Lo stato di crittografia automatico per la configurazione di crittografia predefinita del bucket S3 e per il caricamento di nuovi oggetti è disponibile nei CloudTrail log, in S3 Inventory, S3 Storage Lens, nella console Amazon S3 e come intestazione di risposta dell'API Amazon S3 aggiuntiva nella e. AWS CLI AWS SDKs Per ulteriori informazioni, consulta [Domande frequenti sulla crittografia predefinita](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html).

Tutti i nuovi caricamenti di oggetti su bucket Amazon S3 vengono crittografati per impostazione predefinita con la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3).

La crittografia lato server protegge i dati inattivi. Amazon S3 crittografa ogni oggetto con una chiave univoca. Come ulteriore tutela, crittografa la chiave con una chiave che ruota con regolarità. La crittografia lato server di Amazon S3 utilizza la modalità AES-GCM (Advanced Encryption Standard Galois/Counter Mode) a 256 bit per crittografare tutti gli oggetti caricati.

Non sono previsti costi aggiuntivi per l'utilizzo della crittografia lato server con le chiavi gestite da Amazon S3 (SSE-S3). Tuttavia, per le richieste di configurare la funzione di crittografia predefinita vengono applicati i costi delle richieste Amazon S3 standard. Per informazioni sui prezzi, consulta [Prezzi di Amazon S3](https://aws.amazon.com/s3/pricing/).

Se desideri che i tuoi caricamenti di dati siano crittografati utilizzando solo le chiavi gestite da Amazon S3, puoi utilizzare la seguente policy dei bucket. Ad esempio, la seguente policy del bucket rifiuta le autorizzazioni al caricamento di un oggetto a meno che la richiesta non includa l'intestazione `x-amz-server-side-encryption` per richiedere la codifica lato server:

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Id": "PutObjectPolicy",
  "Statement": [
    {
      "Sid": "DenyObjectsThatAreNotSSES3",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
      "Condition": {
        "StringNotEquals": {
          "s3:x-amz-server-side-encryption": "AES256"
        }
      }
    }
   ]
}
```

------

**Nota**  
La crittografia lato server viene applicata solo ai dati dell'oggetto, non dei metadati dell'oggetto. 

## Supporto API per la crittografia lato server
<a name="APISupportforServer-SideEncryption"></a>

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 le chiavi gestite da Amazon S3 (SSE-S3) è la configurazione predefinita della crittografia per ogni bucket di Amazon S3. Per utilizzare un diverso tipo di crittografia, puoi specificare il tipo di crittografia lato server da utilizzare nelle richieste `PUT` S3 oppure aggiornare la configurazione di crittografia predefinita nel bucket di destinazione. 

Se desideri specificare un tipo di crittografia diverso nelle tue `PUT` richieste, puoi utilizzare la crittografia lato server con () chiavi (SSE-KMS), la crittografia lato server a doppio livello con chiavi AWS Key Management Service (AWS KMS DSSE-KMS) o la crittografia lato server con chiavi fornite dal cliente (SSE-C). AWS KMS Per impostare una configurazione di crittografia predefinita diversa nel bucket di destinazione puoi utilizzare SSE-KMS o DSSE-KMS.

Per ulteriori informazioni su come modificare la configurazione di crittografia predefinita per i bucket per uso generico, consulta [Configurazione della crittografia predefinita](default-bucket-encryption.md). 

Quando modifichi la configurazione di crittografia predefinita del bucket in SSE-KMS, il tipo di crittografia degli oggetti Amazon S3 esistenti nel bucket non viene modificato. Per modificare il tipo di crittografia degli oggetti preesistenti dopo aver aggiornato la configurazione di crittografia predefinita a SSE-KMS, puoi utilizzare Operazioni in batch Amazon S3. Si fornisce a Operazioni in batch S3 un elenco di oggetti e Operazioni in batch richiama la rispettiva operazione API. È possibile utilizzare l’azione [Copia oggetti](batch-ops-copy-object.md) per copiare gli oggetti esistenti, scrivendoli nello stesso bucket degli oggetti crittografati SSE-KMS. Un solo processo di operazioni in batch può eseguire l'operazione specificata su miliardi di oggetti. Per ulteriori informazioni, consulta [Esecuzione di operazioni sugli oggetti in blocco con le operazioni in batch](batch-ops.md) e il post [Come crittografare retroattivamente gli oggetti esistenti in Amazon S3 utilizzando Inventario S3, Amazon Athena e Operazioni in batch S3](https://aws.amazon.com/blogs/security/how-to-retroactively-encrypt-existing-objects-in-amazon-s3-using-s3-inventory-amazon-athena-and-s3-batch-operations/) nel *Blog dell’archiviazione AWS *. 

Per configurare la crittografia lato server utilizzando il REST per la creazione di oggetti, è necessario fornire l'intestazione della richiesta. APIs `x-amz-server-side-encryption` Per informazioni sul REST, vedere. APIs [Utilizzo della REST API](specifying-s3-encryption.md#SSEUsingRESTAPI)

I seguenti Amazon S3 APIs supportano questa intestazione:
+ **Operazioni PUT**: specifica l'intestazione della richiesta quando si caricano i dati utilizzando l'API `PUT`. Per ulteriori informazioni, consulta [PUT Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html).
+ **Avvia caricamento in più parti**: specifica l'intestazione nella richiesta di avvio quando si caricano oggetti di grandi dimensioni utilizzando l'API per il caricamento in più parti. Per ulteriori informazioni, consulta [Initiate Multipart Upload](https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadInitiate.html).
+ **Operazione COPY**: l'operazione di copia di un oggetto coinvolge un oggetto di origine e un oggetto di destinazione. Per ulteriori informazioni, consulta [PUT Object - Copy](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html).

**Nota**  
Quando si utilizza un'operazione `POST` per caricare un oggetto anziché l'intestazione della richiesta, si specificano le stesse informazioni nei campi del modulo. Per ulteriori informazioni, consulta [POST Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html). 

Forniscono AWS SDKs anche un wrapper APIs che puoi utilizzare per richiedere la crittografia lato server. È inoltre possibile utilizzare il Console di gestione AWS per caricare oggetti e richiedere la crittografia lato server.

Per ulteriori informazioni generali, consulta [Concetti di AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) nella *Guida per gli sviluppatori di AWS Key Management Service *.

**Topics**
+ [Supporto API per la crittografia lato server](#APISupportforServer-SideEncryption)
+ [Specifica della crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)](specifying-s3-encryption.md)

# Specifica della crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)
<a name="specifying-s3-encryption"></a>

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 le chiavi gestite da Amazon S3 (SSE-S3) è la configurazione predefinita della crittografia per ogni bucket di Amazon S3. Per utilizzare un diverso tipo di crittografia, puoi specificare il tipo di crittografia lato server da utilizzare nelle richieste `PUT` S3 oppure aggiornare la configurazione di crittografia predefinita nel bucket di destinazione. 

Se desideri specificare un tipo di crittografia diverso nelle tue `PUT` richieste, puoi utilizzare la crittografia lato server con AWS Key Management Service () chiavi (SSE-KMS AWS KMS), la crittografia lato server a doppio livello con chiavi (DSSE-KMS) o la crittografia lato server con AWS KMS chiavi fornite dal cliente (SSE-C). Per impostare una configurazione di crittografia predefinita diversa nel bucket di destinazione puoi utilizzare SSE-KMS o DSSE-KMS.

Per ulteriori informazioni su come modificare la configurazione di crittografia predefinita per i bucket per uso generico, consulta [Configurazione della crittografia predefinita](default-bucket-encryption.md). 

Quando modifichi la configurazione di crittografia predefinita del bucket in SSE-KMS, il tipo di crittografia degli oggetti Amazon S3 esistenti nel bucket non viene modificato. Per modificare il tipo di crittografia degli oggetti preesistenti dopo aver aggiornato la configurazione di crittografia predefinita a SSE-KMS, puoi utilizzare Operazioni in batch Amazon S3. Si fornisce a Operazioni in batch S3 un elenco di oggetti e Operazioni in batch richiama la rispettiva operazione API. È possibile utilizzare l’azione [Copia oggetti](batch-ops-copy-object.md) per copiare gli oggetti esistenti, scrivendoli nello stesso bucket degli oggetti crittografati SSE-KMS. Un solo processo di operazioni in batch può eseguire l'operazione specificata su miliardi di oggetti. Per ulteriori informazioni, consulta [Esecuzione di operazioni sugli oggetti in blocco con le operazioni in batch](batch-ops.md) e il post [Come crittografare retroattivamente gli oggetti esistenti in Amazon S3 utilizzando Inventario S3, Amazon Athena e Operazioni in batch S3](https://aws.amazon.com/blogs/security/how-to-retroactively-encrypt-existing-objects-in-amazon-s3-using-s3-inventory-amazon-athena-and-s3-batch-operations/) nel *Blog dell’archiviazione AWS *. 

Puoi specificare SSE-S3 APIs utilizzando AWS SDKs la console S3, REST e (). AWS Command Line Interface AWS CLI Per ulteriori informazioni, consulta [Impostazione del comportamento predefinito della crittografia lato server per i bucket Amazon S3](bucket-encryption.md).

## Utilizzo della console S3
<a name="add-object-encryption-s3"></a>

Questo argomento descrive in che modo impostare o modificare il tipo di crittografia che viene utilizzato da un oggetto utilizzando la Console di gestione AWS. Quando si copia un oggetto utilizzando la console, l'oggetto viene copiato da Amazon S3 così com'è: Ciò significa che se l'oggetto di origine è crittografato, anche l'oggetto di destinazione sarà crittografato. Puoi usare la console per aggiungere o modificare la crittografia per un oggetto. 

**Nota**  
È possibile modificare la crittografia di un oggetto se l'oggetto è inferiore a 5 GB. Se l'oggetto è più grande di 5 GB, è necessario utilizzare [AWS CLI](mpu-upload-object.md#UsingCLImpUpload)o [AWS SDKs](CopyingObjectsMPUapi.md)per modificare la crittografia di un oggetto.
Per un elenco delle autorizzazioni aggiuntive necessarie per modificare la crittografia di un oggetto, consulta [Autorizzazioni necessarie per le operazioni API di Amazon S3](using-with-s3-policy-actions.md). Per esempi di policy che concedono questa autorizzazione, consulta [Esempi di policy basate sull'identità per Amazon S3](example-policies-s3.md).
Se si modifica la crittografia di un oggetto, viene creato un nuovo oggetto per sostituire quello precedente. Se è abilitata la funzione Controllo delle versioni S3, viene creata una nuova versione dell'oggetto e l'oggetto esistente diventa una versione precedente. Il ruolo che modifica la proprietà diventa anche il proprietario del nuovo oggetto o della versione dell'oggetto. 

**Per modificare la crittografia di un oggetto**

1. Accedi Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione, scegli **Bucket**, quindi scegli la scheda **Bucket per uso generico**. Naviga al bucket o alla cartella Amazon S3 che contiene gli oggetti da modificare.

1. Seleziona la casella di controllo degli oggetti da modificare.

1. Nel menu **Azioni**, scegli **Modifica crittografia lato server** dall'elenco di opzioni visualizzato.

1. Scorrere fino alla sezione **Crittografia lato server**.

1. In **Impostazioni di crittografia**, scegli **Utilizza le impostazioni del bucket per la crittografia predefinita** o **Ignora le impostazioni del bucket per la crittografia predefinita**.

1. Se scegli **Sostituisci impostazioni del bucket per la crittografia predefinita**, configura le seguenti impostazioni di crittografia.

   1. In **Tipo di crittografia**, scegli **Crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)**. Per crittografare gli oggetti, SSE-S3 utilizza una delle cifrature di blocco più complesse, lo standard di crittografia avanzata a 256 bit (AES-256). Per ulteriori informazioni, consulta [Uso della crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)](UsingServerSideEncryption.md).

1. In **Impostazioni di copia aggiuntive**, scegli se eseguire **Copia impostazioni dell'origine**, **Non specificare le impostazioni** o **Specifica le impostazioni**. **Copia impostazioni dell'origine** è l'opzione predefinita. Se desideri copiare solo l'oggetto senza gli attributi delle impostazioni dell'origine, scegli **Non specificare le impostazioni**. Scegli **Specificare le impostazioni** per specificare le impostazioni per la classe di archiviazione ACLs, i tag degli oggetti, i metadati, la crittografia lato server e i checksum aggiuntivi.

1. Scegli **Save changes** (Salva modifiche).

**Nota**  
Questa azione applica la crittografia a tutti gli oggetti specificati. Durante la crittografia delle cartelle, attendere il completamento dell'operazione di salvataggio prima di aggiungere nuovi oggetti alla cartella.

## Utilizzo della REST API
<a name="SSEUsingRESTAPI"></a>

Al momento della creazione dell'oggetto, ovvero quando si carica un nuovo oggetto o si esegue una copia di un oggetto esistente, è possibile specificare se si desidera che Amazon S3 esegua la crittografia dei dati con le chiavi gestite da Amazon S3 (SSE-S3) aggiungendo alla richiesta l'intestazione `x-amz-server-side-encryption`. Imposta il valore dell'intestazione sull'algoritmo della crittografia `AES256` supportato da Amazon S3. Amazon S3 conferma che l'oggetto è stato archiviato utilizzando SSE-S3 restituendo l'intestazione della risposta `x-amz-server-side-encryption`. 

Le operazioni API per il caricamento REST elencate di seguito accettano l'intestazione della richiesta `x-amz-server-side-encryption`.
+ [PUT Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html)
+ [PUT Object - Copy](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html)
+ [POST Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html)
+ [Avvio del caricamento in più parti](https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadInitiate.html)

Quando si caricano oggetti di grandi dimensioni utilizzando l'operazione API per il caricamento in più parti, è possibile specificare la crittografia lato server aggiungendo l'intestazione `x-amz-server-side-encryption` alla richiesta di avvio del caricamento in più parti. Quando si copia un oggetto esistente, indipendentemente dal fatto che l'oggetto di origine sia stato o meno crittografato, l'oggetto di destinazione non viene crittografato, a meno che non si richieda esplicitamente la crittografia lato server.

Quando un oggetto viene archiviato utilizzando SSE-S3, le intestazioni di risposta delle seguenti operazioni REST API restituiscono l'intestazione `x-amz-server-side-encryption`. 
+ [PUT Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html)
+ [PUT Object - Copy](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html)
+ [POST Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html)
+ [Avvio del caricamento in più parti](https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadInitiate.html)
+ [Upload Part](https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadUploadPart.html)
+ [Caricamento di parte - Copy](https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadUploadPartCopy.html)
+ [Completamento del caricamento in più parti](https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadComplete.html)
+ [Get Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html)
+ [Head Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectHEAD.html)

**Nota**  
Non inviare l'intestazione di richiesta di crittografia per richieste `GET` e `HEAD` se l'oggetto utilizza SSE-S3 per evitare di ricevere un errore HTTP 400 (Bad Request).

## Utilizzando il AWS SDKs
<a name="s3-using-sdks"></a>

Durante l'utilizzo AWS SDKs, puoi richiedere ad Amazon S3 di utilizzare la crittografia lato server con le chiavi di crittografia gestite di Amazon S3 (SSE-S3). Questa sezione fornisce esempi di utilizzo di in più lingue. AWS SDKs Per informazioni su altri SDKs, vai a [Codice di esempio e librerie](https://aws.amazon.com/code). 

------
#### [ Java ]

Quando si utilizza il AWS SDK per Java per caricare un oggetto, è possibile utilizzare SSE-S3 per crittografarlo. Per richiedere la crittografia lato server, utilizza la proprietà `ObjectMetadata` della `PutObjectRequest` per impostare l'intestazione della richiesta `x-amz-server-side-encryption`. Quando si utilizza il metodo `putObject()` di `AmazonS3Client`, Amazon S3 cripta i dati e li salva.

È anche possibile richiedere la crittografia SSE-S3 durante il caricamento di oggetti con l'operazione API per il caricamento in più parti: 
+ Quando si utilizza l'operazione API per il caricamento in più parti di alto livello, usi i metodi `TransferManager` per applicare la crittografia lato server agli oggetti durante il loro caricamento. È possibile utilizzare uno qualsiasi dei metodi di caricamento che accetta `ObjectMetadata` come parametro. Per ulteriori informazioni, consulta [Caricamento di un oggetto utilizzando il caricamento in più parti](mpu-upload-object.md).
+ Quando si utilizza l'operazione API per il caricamento in più parti di basso livello, specifichi la crittografia lato server quando avvii il caricamento in più parti. Si aggiungi la proprietà `ObjectMetadata` mediante una chiamata al metodo `InitiateMultipartUploadRequest.setObjectMetadata()`. Per ulteriori informazioni, consulta [Utilizzo dell'API (di basso livello AWS SDKs )](mpu-upload-object.md#mpu-upload-low-level).

Non puoi direttamente modificare lo stato di crittografia di un oggetto (la crittografia di un oggetto non crittografato o la decrittografia dell'oggetto crittografato). Per modificare lo stato di crittografia di un oggetto, effettuare una copia dell'oggetto, specificando lo stato di crittografia per la copia e poi eliminare l'oggetto originale. Amazon S3 esegue la crittografia dell'oggetto copiato solo se hai effettuato una richiesta specifica di crittografia lato server. Per richiedere la crittografia dell'oggetto copiato tramite l'API Java, utilizza la proprietà `ObjectMetadata` per specificare la crittografia lato server in `CopyObjectRequest`, come mostrato nell'esempio di codice Java riportato di seguito.

**Example Esempio**  
L'esempio che segue mostra come impostare la crittografia lato server utilizzando AWS SDK per Java. Mostra come eseguire le seguenti operazioni:  
+ Carica un nuovo oggetto usando SSE-S3.
+ Modifica lo stato di crittografia di un oggetto (in questo esempio, crittografare un oggetto precedentemente non crittografato) eseguendo una copia dell'oggetto.
+ Controlla lo stato di crittografia dell'oggetto.
Per ulteriori informazioni sulla crittografia lato server, consulta [Utilizzo della REST API](#SSEUsingRESTAPI). Per istruzioni su come creare e testare un esempio funzionante, consulta [Getting Started nella Developer Guide](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/getting-started.html). AWS SDK per Java   

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.SdkClientException;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.internal.SSEResultBase;
import com.amazonaws.services.s3.model.*;

import java.io.ByteArrayInputStream;

public class SpecifyServerSideEncryption {

    public static void main(String[] args) {
        Regions clientRegion = Regions.DEFAULT_REGION;
        String bucketName = "*** Bucket name ***";
        String keyNameToEncrypt = "*** Key name for an object to upload and encrypt ***";
        String keyNameToCopyAndEncrypt = "*** Key name for an unencrypted object to be encrypted by copying ***";
        String copiedObjectKeyName = "*** Key name for the encrypted copy of the unencrypted object ***";

        try {
            AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
                    .withRegion(clientRegion)
                    .withCredentials(new ProfileCredentialsProvider())
                    .build();

            // Upload an object and encrypt it with SSE.
            uploadObjectWithSSEEncryption(s3Client, bucketName, keyNameToEncrypt);

            // Upload a new unencrypted object, then change its encryption state
            // to encrypted by making a copy.
            changeSSEEncryptionStatusByCopying(s3Client,
                    bucketName,
                    keyNameToCopyAndEncrypt,
                    copiedObjectKeyName);
        } catch (AmazonServiceException e) {
            // The call was transmitted successfully, but Amazon S3 couldn't process
            // it, so it returned an error response.
            e.printStackTrace();
        } catch (SdkClientException e) {
            // Amazon S3 couldn't be contacted for a response, or the client
            // couldn't parse the response from Amazon S3.
            e.printStackTrace();
        }
    }

    private static void uploadObjectWithSSEEncryption(AmazonS3 s3Client, String bucketName, String keyName) {
        String objectContent = "Test object encrypted with SSE";
        byte[] objectBytes = objectContent.getBytes();

        // Specify server-side encryption.
        ObjectMetadata objectMetadata = new ObjectMetadata();
        objectMetadata.setContentLength(objectBytes.length);
        objectMetadata.setSSEAlgorithm(ObjectMetadata.AES_256_SERVER_SIDE_ENCRYPTION);
        PutObjectRequest putRequest = new PutObjectRequest(bucketName,
                keyName,
                new ByteArrayInputStream(objectBytes),
                objectMetadata);

        // Upload the object and check its encryption status.
        PutObjectResult putResult = s3Client.putObject(putRequest);
        System.out.println("Object \"" + keyName + "\" uploaded with SSE.");
        printEncryptionStatus(putResult);
    }

    private static void changeSSEEncryptionStatusByCopying(AmazonS3 s3Client,
            String bucketName,
            String sourceKey,
            String destKey) {
        // Upload a new, unencrypted object.
        PutObjectResult putResult = s3Client.putObject(bucketName, sourceKey, "Object example to encrypt by copying");
        System.out.println("Unencrypted object \"" + sourceKey + "\" uploaded.");
        printEncryptionStatus(putResult);

        // Make a copy of the object and use server-side encryption when storing the
        // copy.
        CopyObjectRequest request = new CopyObjectRequest(bucketName,
                sourceKey,
                bucketName,
                destKey);
        ObjectMetadata objectMetadata = new ObjectMetadata();
        objectMetadata.setSSEAlgorithm(ObjectMetadata.AES_256_SERVER_SIDE_ENCRYPTION);
        request.setNewObjectMetadata(objectMetadata);

        // Perform the copy operation and display the copy's encryption status.
        CopyObjectResult response = s3Client.copyObject(request);
        System.out.println("Object \"" + destKey + "\" uploaded with SSE.");
        printEncryptionStatus(response);

        // Delete the original, unencrypted object, leaving only the encrypted copy in
        // Amazon S3.
        s3Client.deleteObject(bucketName, sourceKey);
        System.out.println("Unencrypted object \"" + sourceKey + "\" deleted.");
    }

    private static void printEncryptionStatus(SSEResultBase response) {
        String encryptionStatus = response.getSSEAlgorithm();
        if (encryptionStatus == null) {
            encryptionStatus = "Not encrypted with SSE";
        }
        System.out.println("Object encryption status is: " + encryptionStatus);
    }
}
```

------
#### [ .NET ]

Quando carichi un oggetto, puoi indirizzare Amazon S3 per crittografarlo. Per modificare lo stato di crittografia di un oggetto esistente, effettuare una copia dell'oggetto ed eliminare l'oggetto di origine. Per impostazione predefinita, l'operazione di copia crittografa la destinazione solo se si richiede esplicitamente la crittografia lato server dell'oggetto di destinazione. Per specificare SSE-S3 in `CopyObjectRequest`, aggiungi quanto segue:

```
 ServerSideEncryptionMethod = ServerSideEncryptionMethod.AES256
```

Per un esempio di come copiare un oggetto, consulta [Usando il AWS SDKs](copy-object.md#CopyingObjectsUsingSDKs). 

Nel seguente esempio viene caricato un oggetto. Nella richiesta l'esempio indirizza Amazon S3 per crittografare l'oggetto. L'esempio poi recupera i metadati dell'oggetto e verifica i metodi di crittografia utilizzati. Per informazioni sulla configurazione e l'esecuzione degli esempi di codice, consulta [Getting Started with the AWS SDK for .NET nella AWS SDK for](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-setup.html) .NET *Developer Guide*. 

```
using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
using System;
using System.Threading.Tasks;

namespace Amazon.DocSamples.S3
{
    class SpecifyServerSideEncryptionTest
    {
        private const string bucketName = "*** bucket name ***";
        private const string keyName = "*** key name for object created ***";
        // Specify your bucket region (an example region is shown).
        private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2;
        private static IAmazonS3 client;

        public static void Main()
        {
            client = new AmazonS3Client(bucketRegion);
            WritingAnObjectAsync().Wait();
        }

        static async Task WritingAnObjectAsync()
        {
            try
            {
                var putRequest = new PutObjectRequest
                {
                    BucketName = bucketName,
                    Key = keyName,
                    ContentBody = "sample text",
                    ServerSideEncryptionMethod = ServerSideEncryptionMethod.AES256
                };

                var putResponse = await client.PutObjectAsync(putRequest);

                // Determine the encryption state of an object.
                GetObjectMetadataRequest metadataRequest = new GetObjectMetadataRequest
                {
                    BucketName = bucketName,
                    Key = keyName
                };
                GetObjectMetadataResponse response = await client.GetObjectMetadataAsync(metadataRequest);
                ServerSideEncryptionMethod objectEncryption = response.ServerSideEncryptionMethod;

                Console.WriteLine("Encryption method used: {0}", objectEncryption.ToString());
            }
            catch (AmazonS3Exception e)
            {
                Console.WriteLine("Error encountered ***. Message:'{0}' when writing an object", e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message);
            }
        }
    }
}
```

------
#### [ PHP ]

Questo argomento mostra come utilizzare le classi della versione 3 di AWS SDK per PHP per aggiungere SSE-S3 agli oggetti caricati su Amazon S3. Per ulteriori informazioni sull'API AWS SDK for Ruby, [AWS vai a SDK for Ruby](https://docs.aws.amazon.com/sdkforruby/api/index.html) - Versione 2.

Per caricare un oggetto su Amazon S3, si utilizza il metodo [Aws\$1S3\$1S3Client::putObject()](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#putobject). Per aggiungere l'intestazione di richiesta `x-amz-server-side-encryption` alla richiesta di caricamento, specificare il parametro`ServerSideEncryption` con il valore `AES256`, come mostrato nel seguente esempio di codice. Per ulteriori informazioni sulla crittografia lato server delle richieste, consultare [Utilizzo della REST API](#SSEUsingRESTAPI).

```
 require 'vendor/autoload.php';

use Aws\S3\S3Client;

$bucket = '*** Your Bucket Name ***';
$keyname = '*** Your Object Key ***';

// $filepath should be an absolute path to a file on disk.
$filepath = '*** Your File Path ***';

$s3 = new S3Client([
    'version' => 'latest',
    'region'  => 'us-east-1'
]);

// Upload a file with server-side encryption.
$result = $s3->putObject([
    'Bucket'               => $bucket,
    'Key'                  => $keyname,
    'SourceFile'           => $filepath,
    'ServerSideEncryption' => 'AES256',
]);
```

Nella risposta Amazon S3 restituisce l'intestazione `x-amz-server-side-encryption` con il valore dell'algoritmo di crittografia utilizzato per crittografare i dati dell'oggetto. 

Quando si caricano oggetti di grandi dimensioni utilizzando l'API per il caricamento in più parti, puoi specificare SSE-S3 per gli oggetti che carichi, come segue: 
+ Quando utilizzi l'operazione API di caricamento multiparte di basso livello, specifica la crittografia lato server quando chiami il metodo [Aws\$1 S3\$1 S3Client](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#createmultipartupload):: (). createMultipartUpload Per aggiungere l'intestazione di richiesta `x-amz-server-side-encryption` alla richiesta, specificare la chiave `array` del parametro `ServerSideEncryption` con il valore `AES256`. Per ulteriori informazioni sull'operazione API per il caricamento in più parti di basso livello, consulta [Utilizzo dell'API (di basso livello AWS SDKs )](mpu-upload-object.md#mpu-upload-low-level).
+ Quando utilizzi l'operazione API di caricamento multiparte di alto livello, specifica la crittografia lato server utilizzando il parametro dell'operazione API. `ServerSideEncryption` [CreateMultipartUpload](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#createmultipartupload) Per un esempio di utilizzo del metodo `setOption()` con l'operazione API per il caricamento in più parti di alto livello, consulta [Caricamento di un oggetto utilizzando il caricamento in più parti](mpu-upload-object.md).

Per determinare lo stato di crittografia di un oggetto esistente, recuperare i metadati dell'oggetto richiamando il metodo [Aws\$1S3\$1S3Client::headObject()](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#headobject), come mostrato nell'esempio di codice PHP riportato di seguito.

```
 require 'vendor/autoload.php';

use Aws\S3\S3Client;

$bucket = '*** Your Bucket Name ***';
$keyname = '*** Your Object Key ***';

$s3 = new S3Client([
    'version' => 'latest',
    'region'  => 'us-east-1'
]);

// Check which server-side encryption algorithm is used.
$result = $s3->headObject([
    'Bucket' => $bucket,
    'Key'    => $keyname,
]);
echo $result['ServerSideEncryption'];
```

Per modificare lo stato di crittografia di un oggetto esistente, effettuare una copia dell'oggetto utilizzando il metodo [Aws\$1S3\$1S3Client::copyObject()](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#copyobject) ed eliminare l'oggetto di origine. Per impostazione predefinita, `copyObject()` non esegue la crittografia della destinazione, a meno che non si richieda esplicitamente la crittografia lato server dell'oggetto di destinazione utilizzando il parametro `ServerSideEncryption` con il valore `AES256`. Il seguente esempio di codice PHP esegue una copia di un oggetto e aggiunge la crittografia lato server all'oggetto copiato.

```
 require 'vendor/autoload.php';

use Aws\S3\S3Client;

$sourceBucket = '*** Your Source Bucket Name ***';
$sourceKeyname = '*** Your Source Object Key ***';

$targetBucket = '*** Your Target Bucket Name ***';
$targetKeyname = '*** Your Target Object Key ***';

$s3 = new S3Client([
    'version' => 'latest',
    'region'  => 'us-east-1'
]);

// Copy an object and add server-side encryption.
$s3->copyObject([
    'Bucket'               => $targetBucket,
    'Key'                  => $targetKeyname,
    'CopySource'           => "$sourceBucket/$sourceKeyname",
    'ServerSideEncryption' => 'AES256',
]);
```

Per ulteriori informazioni, consulta i seguenti argomenti:
+ [AWS SDK per PHP per la classe Amazon S3 Aws\$1 S3\$1 S3Client](https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.S3.S3Client.html) 
+ [Documentazione di AWS SDK per PHP](https://aws.amazon.com/documentation/sdk-for-php/)

------
#### [ Ruby ]

Quando si utilizza AWS SDK per Ruby per caricare un oggetto, è possibile specificare che l'oggetto venga archiviato crittografato quando è inattivo con SSE-S3. Dopo essere stato letto, l'oggetto viene automaticamente decrittografato.

Il seguente esempio di AWS SDK per Ruby versione 3 dimostra come specificare che un file caricato su Amazon S3 sia crittografato quando è inattivo.

```
require 'aws-sdk-s3'

# Wraps Amazon S3 object actions.
class ObjectPutSseWrapper
  attr_reader :object

  # @param object [Aws::S3::Object] An existing Amazon S3 object.
  def initialize(object)
    @object = object
  end

  def put_object_encrypted(object_content, encryption)
    @object.put(body: object_content, server_side_encryption: encryption)
    true
  rescue Aws::Errors::ServiceError => e
    puts "Couldn't put your content to #{object.key}. Here's why: #{e.message}"
    false
  end
end

# Example usage:
def run_demo
  bucket_name = "amzn-s3-demo-bucket"
  object_key = "my-encrypted-content"
  object_content = "This is my super-secret content."
  encryption = "AES256"

  wrapper = ObjectPutSseWrapper.new(Aws::S3::Object.new(bucket_name, object_content))
  return unless wrapper.put_object_encrypted(object_content, encryption)

  puts "Put your content into #{bucket_name}:#{object_key} and encrypted it with #{encryption}."
end

run_demo if $PROGRAM_NAME == __FILE__
```

L'esempio di codice seguente dimostra come determinare lo stato di crittografia di un oggetto esistente.

```
require 'aws-sdk-s3'

# Wraps Amazon S3 object actions.
class ObjectGetEncryptionWrapper
  attr_reader :object

  # @param object [Aws::S3::Object] An existing Amazon S3 object.
  def initialize(object)
    @object = object
  end

  # Gets the object into memory.
  #
  # @return [Aws::S3::Types::GetObjectOutput, nil] The retrieved object data if successful; otherwise nil.
  def object
    @object.get
  rescue Aws::Errors::ServiceError => e
    puts "Couldn't get object #{@object.key}. Here's why: #{e.message}"
  end
end

# Example usage:
def run_demo
  bucket_name = "amzn-s3-demo-bucket"
  object_key = "my-object.txt"

  wrapper = ObjectGetEncryptionWrapper.new(Aws::S3::Object.new(bucket_name, object_key))
  obj_data = wrapper.get_object
  return unless obj_data

  encryption = obj_data.server_side_encryption.nil? ? 'no' : obj_data.server_side_encryption
  puts "Object #{object_key} uses #{encryption} encryption."
end

run_demo if $PROGRAM_NAME == __FILE__
```

Se la crittografia lato server non viene utilizzata per l'oggetto archiviato in Amazon S3, il metodo restituisce `null`.

Per modificare lo stato di crittografia di un oggetto esistente, effettuare una copia dell'oggetto ed eliminare l'oggetto di origine. Per default, i metodi di copia non eseguono la crittografia della destinazione, a meno che non si richieda esplicitamente la crittografia lato server. È possibile richiedere la crittografia dell'oggetto di destinazione specificando il valore `server_side_encryption` nell'argomento hash dell'opzione, come mostrato nel seguente esempio di codice Ruby. L'esempio di codice dimostra come copiare un oggetto e crittografare la copia con SSE-S3. 

```
require 'aws-sdk-s3'

# Wraps Amazon S3 object actions.
class ObjectCopyEncryptWrapper
  attr_reader :source_object

  # @param source_object [Aws::S3::Object] An existing Amazon S3 object. This is used as the source object for
  #                                        copy actions.
  def initialize(source_object)
    @source_object = source_object
  end

  # Copy the source object to the specified target bucket, rename it with the target key, and encrypt it.
  #
  # @param target_bucket [Aws::S3::Bucket] An existing Amazon S3 bucket where the object is copied.
  # @param target_object_key [String] The key to give the copy of the object.
  # @return [Aws::S3::Object, nil] The copied object when successful; otherwise, nil.
  def copy_object(target_bucket, target_object_key, encryption)
    @source_object.copy_to(bucket: target_bucket.name, key: target_object_key, server_side_encryption: encryption)
    target_bucket.object(target_object_key)
  rescue Aws::Errors::ServiceError => e
    puts "Couldn't copy #{@source_object.key} to #{target_object_key}. Here's why: #{e.message}"
  end
end

# Example usage:
def run_demo
  source_bucket_name = "amzn-s3-demo-bucket1"
  source_key = "my-source-file.txt"
  target_bucket_name = "amzn-s3-demo-bucket2"
  target_key = "my-target-file.txt"
  target_encryption = "AES256"

  source_bucket = Aws::S3::Bucket.new(source_bucket_name)
  wrapper = ObjectCopyEncryptWrapper.new(source_bucket.object(source_key))
  target_bucket = Aws::S3::Bucket.new(target_bucket_name)
  target_object = wrapper.copy_object(target_bucket, target_key, target_encryption)
  return unless target_object

  puts "Copied #{source_key} from #{source_bucket_name} to #{target_object.bucket_name}:#{target_object.key} and "\
       "encrypted the target with #{target_object.server_side_encryption} encryption."
end

run_demo if $PROGRAM_NAME == __FILE__
```

------

## Usando il AWS CLI
<a name="sse-s3-aws-cli"></a>

Per specificare SSE-S3 quando caricate un oggetto utilizzando il AWS CLI, utilizzate il seguente esempio.

```
aws s3api put-object --bucket amzn-s3-demo-bucket1 --key object-key-name --server-side-encryption AES256  --body file path
```

Per ulteriori informazioni, consulta [put-object](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-object.html) in *Riferimenti della AWS CLI *. [Per specificare SSE-S3 quando si copia un oggetto utilizzando il, vedere copy-object. AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/copy-object.html)

## Usando CloudFormation
<a name="ss3-s3-cfn"></a>

*Per esempi di configurazione della crittografia utilizzando CloudFormation, consulta l'esempio [Creare un bucket con crittografia predefinita](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionrule.html#aws-properties-s3-bucket-serversideencryptionrule--examples--Create_a_bucket_with_default_encryption) e [Creare un bucket utilizzando la crittografia AWS KMS lato server con una chiave S3 Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionrule.html#aws-properties-s3-bucket-serversideencryptionrule--examples--Create_a_bucket_using_AWS_KMS_server-side_encryption_with_an_S3_Bucket_Key) nell'argomento della Guida per l'`AWS::S3::Bucket ServerSideEncryptionRule`utente.AWS CloudFormation * 

# Utilizzo della crittografia lato server con chiavi (SSE-KMS) AWS KMS
<a name="UsingKMSEncryption"></a>

**Importante**  
Amazon S3 ora applica la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3) come livello di base della crittografia per ogni bucket di Amazon S3. A partire dal 5 gennaio 2023, tutti i caricamenti di nuovi oggetti su Amazon S3 vengono crittografati automaticamente senza costi aggiuntivi e senza alcun impatto sulle prestazioni. Lo stato di crittografia automatico per la configurazione di crittografia predefinita del bucket S3 e per il caricamento di nuovi oggetti è disponibile nei CloudTrail log, in S3 Inventory, S3 Storage Lens, nella console Amazon S3 e come intestazione di risposta dell'API Amazon S3 aggiuntiva nella e. AWS CLI AWS SDKs Per ulteriori informazioni, consulta [Domande frequenti sulla crittografia predefinita](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html).

La crittografia lato server è la crittografia dei dati nella posizione di destinazione eseguita dall'applicazione o dal servizio che li riceve.

Amazon S3 abilita automaticamente la crittografia lato server con le chiavi gestite da Amazon S3 (SSE-S3) per il caricamento di nuovi oggetti.

Salvo diversa indicazione, per crittografare gli oggetti i bucket utilizzano SSE-S3 per impostazione predefinita. Tuttavia, puoi scegliere di configurare i bucket per utilizzare invece la crittografia lato server con () chiavi (SSE-KMS). AWS Key Management Service AWS KMS Per ulteriori informazioni, consulta [Specificare la crittografia lato server con AWS KMS (SSE-KMS)](specifying-kms-encryption.md).

AWS KMS è un servizio che combina hardware e software sicuri e ad alta disponibilità per fornire un sistema di gestione delle chiavi scalabile per il cloud. Amazon S3 utilizza la crittografia lato server con AWS KMS (SSE-KMS) per crittografare i dati degli oggetti S3. Inoltre, quando SSE-KMS viene richiesto per l'oggetto, il checksum S3 (come parte dei metadati dell'oggetto) viene memorizzato in forma criptata. Per ulteriori informazioni sui checksum, consulta [Verifica dell'integrità degli oggetti in Amazon S3](checking-object-integrity.md).

[Se utilizzi le chiavi KMS, puoi utilizzarle AWS KMS tramite l'API o per effettuare le seguenti operazioni: [Console di gestione AWS](https://console.aws.amazon.com/kms)AWS KMS](https://docs.aws.amazon.com/kms/latest/APIReference/) 
+ Creare, visualizzare, modificare, monitorare, abilitare o disabilitare, ruotare e pianificare l'eliminazione delle chiavi KMS in modo centralizzato.
+ Definire le policy che controllano come e da chi possono essere utilizzate le chiavi KMS.
+ Controllare l’utilizzo delle chiavi KMS per verificarne l’uso corretto. Il controllo è supportato dall’[API AWS KMS](https://docs.aws.amazon.com/kms/latest/APIReference/), ma non dalla [console AWS KMS](https://console.aws.amazon.com/kms).



I controlli di sicurezza inclusi AWS KMS possono aiutarti a soddisfare i requisiti di conformità relativi alla crittografia. Puoi utilizzare queste chiavi KMS per proteggere i dati nei bucket Amazon S3. Quando utilizzi la crittografia SSE-KMS con un bucket S3, AWS KMS keys deve trovarsi nella stessa regione del bucket.

Sono previsti costi aggiuntivi per l'utilizzo. AWS KMS keys Per ulteriori informazioni, consulta la sezione [Concetti di AWS KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) nella *Guida per gli sviluppatori di AWS Key Management Service * e i [Prezzi di AWS KMS](https://aws.amazon.com/kms/pricing).

Per istruzioni su come consentire agli utenti IAM di accedere ai bucket crittografati con KMS, consulta La sezione Il [mio bucket Amazon S3 ha una crittografia predefinita utilizzando una chiave personalizzata. AWS KMS Come posso consentire agli utenti di scaricare e caricare file nel bucket?](https://repost.aws/knowledge-center/s3-bucket-access-default-encryption) nel AWS re:Post Knowledge Center.

**Permissions**  
Per effettuare correttamente una richiesta `PutObject` per crittografare un oggetto con una chiave AWS KMS su Amazon S3, sono necessarie le autorizzazioni `kms:GenerateDataKey` per la chiave. Per scaricare un oggetto crittografato con un AWS KMS key, sono necessarie `kms:Decrypt` le autorizzazioni per la chiave. Per [eseguire un caricamento in più parti](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions) per crittografare un oggetto con un AWS KMS key, è necessario disporre delle `kms:Decrypt` autorizzazioni `kms:GenerateDataKey` e relative alla chiave.

**Importante**  
Esamina attentamente le autorizzazioni concesse nelle policy delle chiavi KMS. Limita sempre le autorizzazioni relative alle policy chiave KMS gestite dal cliente solo ai responsabili e ai AWS servizi IAM che devono accedere all'azione chiave pertinente. AWS KMS [Per ulteriori informazioni, consulta Politiche chiave in. AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)

**Topics**
+ [AWS KMS keys](#aws-managed-customer-managed-keys)
+ [Chiavi bucket Amazon S3](#sse-kms-bucket-keys)
+ [Richiesta della crittografia lato server](#require-sse-kms)
+ [Contesto di crittografia](#encryption-context)
+ [Invio di richieste per oggetti AWS KMS crittografati](#aws-signature-version-4-sse-kms)
+ [Specificare la crittografia lato server con AWS KMS (SSE-KMS)](specifying-kms-encryption.md)
+ [Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3](bucket-key.md)

## AWS KMS keys
<a name="aws-managed-customer-managed-keys"></a>

Quando utilizzi la crittografia lato server con AWS KMS (SSE-KMS), puoi utilizzare la [chiave AWS gestita predefinita oppure puoi specificare una chiave gestita](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) [dal cliente che hai già creato](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk). AWS KMS *supporta la crittografia delle buste.* S3 utilizza le AWS KMS funzionalità di *crittografia delle buste per proteggere ulteriormente i dati*. La crittografia a busta consiste nel crittografare i dati di testo non crittografato con una chiave di dati e quindi nel crittografare la chiave di dati con una chiave KMS. Per ulteriori informazioni sulla crittografia envelope, consulta [Crittografia envelope](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#enveloping) nella *Guida per sviluppatori di AWS Key Management Service *.

Se non specifichi una chiave gestita dal cliente, Amazon S3 ne crea automaticamente una per Account AWS la prima volta che aggiungi un Chiave gestita da AWS oggetto crittografato con SSE-KMS a un bucket. Per impostazione predefinita, Amazon S3 utilizza questa chiave KMS per SSE-KMS. 

**Nota**  
Gli oggetti crittografati mediante SSE-KMS con [Chiavi gestite da AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) non possono essere condivisi tra più account. [Se devi condividere i dati SSE-KMS tra più account, devi utilizzare una chiave gestita dal cliente da.](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) AWS KMS

Se desideri utilizzare una chiave gestita dal cliente per SSE-KMS, crea una chiave di crittografia simmetrica gestita dal cliente prima di configurare SSE-KMS. Quindi, quando configuri SSE-KMS per il bucket, potrai specificare la chiave gestita dal cliente esistente. Per ulteriori informazioni sulla chiave di crittografia simmetrica, consulta [Chiavi KMS di crittografia simmetrica](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#symmetric-cmks) nella *Guida per gli sviluppatori di AWS Key Management Service *.

La creazione di una chiave gestita dal cliente offre maggiore flessibilità e controllo. Ad esempio, puoi creare, ruotare e disabilitare le chiavi gestite dal cliente. Puoi anche definire controlli di accesso e controllare le chiavi gestite dal cliente utilizzate per proteggere i dati. *Per ulteriori informazioni sulle chiavi gestite e AWS gestite dal cliente, consulta [Customer keys and AWS keys](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) nella Developer Guide.AWS Key Management Service *

**Nota**  
Quando utilizzi la crittografia lato server con una chiave gestita dal cliente archiviata in un archivio di chiavi esterno, a differenza delle chiavi KMS standard, hai la responsabilità di garantire la disponibilità e la durata del materiale chiave. Per ulteriori informazioni sugli archivi di chiavi esterni e sul loro impatto sul modello di responsabilità condivisa, vedi [Archivi di chiavi esterni](https://docs.aws.amazon.com//kms/latest/developerguide/keystore-external.html) nella *Guida per gli sviluppatori di AWS Key Management Service *.

### Utilizzo della crittografia SSE-KMS per operazioni multi-account
<a name="sse-kms-cross-account-operations"></a>

Quando si utilizza la crittografia per operazioni multi-account, tieni presente quanto segue:
+ Se un AWS KMS key Amazon Resource Name (ARN) o un alias non viene fornito al momento della richiesta o tramite la configurazione di crittografia predefinita del bucket, il Chiave gestita da AWS (`aws/s3`) dell'account di caricamento viene utilizzato per la crittografia ed è necessario per la decrittografia.
+ Chiave gestita da AWS (`aws/s3`) può essere utilizzata come chiave KMS per operazioni su più account quando i principali di caricamento e accesso AWS Identity and Access Management (IAM) provengono dagli stessi. Account AWS
+ Se desideri concedere l'accesso multi-account agli oggetti S3, utilizza una chiave gestita dal cliente. È possibile configurare la policy di una chiave gestita dal cliente per consentire l'accesso da un altro account.
+ Se si specifica una chiave KMS gestita dal cliente, si consiglia di utilizzare un ARN della chiave KMS completamente qualificato. Se invece utilizzi un alias di chiave KMS, AWS KMS risolve la chiave all'interno dell'account del richiedente. Ciò potrebbe comportare la crittografia dei dati con una chiave KMS di proprietà del richiedente e non del proprietario del bucket.
+ È necessario specificare una chiave per cui il richiedente ha ottenuto l'autorizzazione `Encrypt`. Per ulteriori informazioni, consulta l'argomento relativo all'[autorizzazione concessa agli utenti delle chiavi di utilizzare una chiave KMS per le operazioni di crittografia](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-users-crypto) nella *Guida per gli sviluppatori di AWS Key Management Service *.

Per ulteriori informazioni su quando utilizzare le chiavi gestite dal cliente e le chiavi KMS AWS gestite, consulta [Devo usare una chiave Chiave gestita da AWS o una chiave gestita dal cliente per crittografare i miei oggetti in Amazon S3](https://aws.amazon.com/premiumsupport/knowledge-center/s3-object-encryption-keys/)?

### Flusso di lavoro della crittografia SSE-KMS
<a name="sse-kms-encryption-workflow"></a>

Se scegli di crittografare i tuoi dati utilizzando una chiave Chiave gestita da AWS o una chiave gestita dal cliente AWS KMS e Amazon S3 esegue le seguenti azioni di crittografia della busta:

1. Amazon S3 richiede una [chiave di dati](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#data-keys) in testo non formattato e una copia della chiave crittografata con la chiave KMS specificata.

1. AWS KMS genera una chiave dati, la crittografa con la chiave KMS e invia sia la chiave dati in testo semplice che la chiave dati crittografata ad Amazon S3.

1. Amazon S3 crittografa i dati utilizzando la chiave di dati ed eliminando appena possibile la chiave di testo normale dalla memoria dopo l'utilizzo.

1. Amazon S3 archivia la chiave di dati crittografata come metadati con i dati crittografati.

Quando richiedi che i tuoi dati vengano decrittografati, usa Amazon S3 AWS KMS ed esegui le seguenti azioni:

1. Amazon S3 invia la chiave dati crittografata AWS KMS a una `Decrypt` richiesta.

1. AWS KMS decrittografa la chiave dati crittografata utilizzando la stessa chiave KMS e restituisce la chiave dati in testo semplice ad Amazon S3.

1. Amazon S3 utilizza la chiave di dati non crittografati per decrittografare i dati crittografati, quindi rimuove il prima possibile la chiave di dati non crittografati dalla memoria.

**Importante**  
Quando utilizzi una AWS KMS key 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](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#symmetric-cmks) nella *Guida per gli sviluppatori di AWS Key Management Service *.

### Verifica della crittografia SSE-KMS
<a name="sse-kms-encryption-audit"></a>

Per identificare le richieste che specificano SSE-KMS, puoi utilizzare i parametri **All SSE-KMS requests** (Tutte le richieste SSE-KMS) e **% all SSE-KMS requests** (% tutte le richieste SSE-KMS) nei parametri di Amazon S3 Storage Lens. S3 Storage Lens è una funzionalità di analisi dell'archiviazione su cloud che puoi utilizzare per avere una panoramica completa a livello di organizzazione sull'utilizzo e sulle attività relative all'archiviazione di oggetti. È inoltre possibile utilizzare il conteggio dei bucket abilitati SSE-KMS e la % di bucket abilitati SSE-KMS per capire il conteggio dei bucket che (SSE-KMS) per la [crittografia predefinita dei bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html). Per ulteriori informazioni, consulta [ Valutazione dell'attività e dell'utilizzo dello storage con S3 Storage Lens](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html?icmpid=docs_s3_user_guide_UsingKMSEncryption.html). Per un elenco completo dei parametri, consulta [Glossario dei parametri di S3 Storage](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html?icmpid=docs_s3_user_guide_UsingKMSEncryption.html).

Per verificare l'utilizzo delle AWS KMS chiavi per i dati crittografati SSE-KMS, puoi utilizzare i log. AWS CloudTrail Puoi ottenere informazioni dettagliate sulle tue [operazioni crittografiche](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations), ad esempio e. [https://docs.aws.amazon.com/kms/latest/developerguide/ct-generatedatakey.html](https://docs.aws.amazon.com/kms/latest/developerguide/ct-generatedatakey.html) CloudTrail supporta numerosi [valori di attributo](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html) per filtrare la ricerca, tra cui il nome dell'evento, il nome utente e l'origine dell'evento. 

## Chiavi bucket Amazon S3
<a name="sse-kms-bucket-keys"></a>

Quando configuri la crittografia lato server utilizzando AWS KMS (SSE-KMS), puoi configurare i bucket per utilizzare S3 Bucket Keys per SSE-KMS. L'utilizzo di una chiave a livello di bucket per SSE-KMS può ridurre i costi delle AWS KMS richieste fino al 99 percento diminuendo il traffico delle richieste da Amazon S3 a. AWS KMS

Quando si configura il bucket per utilizzare una chiave di bucket S3 per SSE-KMS su nuovi oggetti, AWS KMS genera una chiave a livello di bucket che viene utilizzata per creare [chiavi di dati](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys) univoche per gli oggetti nel bucket. Questa S3 Bucket Key viene utilizzata per un periodo di tempo limitato all'interno di Amazon S3, riducendo ulteriormente la necessità per Amazon S3 di effettuare richieste per completare le operazioni di crittografia. AWS KMS Per ulteriori informazioni sull'utilizzo delle chiavi del bucket S3, consulta la sezione [Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3](bucket-key.md).

## Richiesta della crittografia lato server
<a name="require-sse-kms"></a>

Per richiedere la crittografia lato server di tutti gli oggetti in uno specifico bucket Amazon S3, è possibile utilizzare una policy di bucket. Ad esempio, la seguente policy di bucket rifiuta a chiunque l'autorizzazione al caricamento dell'oggetto (`s3:PutObject`) se la richiesta non include un'intestazione `x-amz-server-side-encryption-aws-kms-key-id` che richiede la crittografia lato server con SSE-KMS.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id":"PutObjectPolicy",
   "Statement":[{
         "Sid":"DenyObjectsThatAreNotSSEKMS",
         "Effect":"Deny",
         "Principal":"*",
         "Action":"s3:PutObject",
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1/*",
         "Condition":{
            "Null":{
               "s3:x-amz-server-side-encryption-aws-kms-key-id":"true"
            }
         }
      }
   ]
}
```

------

Per richiedere che un particolare AWS KMS key venga utilizzato per crittografare gli oggetti in un bucket, puoi usare la chiave condition. `s3:x-amz-server-side-encryption-aws-kms-key-id` Per specificare la chiave KMS, devi utilizzare una chiave Amazon Resource Name (ARN) nel `arn:aws:kms:region:acct-id:key/key-id` formato. AWS Identity and Access Management non convalida se la stringa for esiste. `s3:x-amz-server-side-encryption-aws-kms-key-id` 

**Nota**  
Quando si carica un oggetto, è possibile specificare la chiave KMS utilizzando l'intestazione `x-amz-server-side-encryption-aws-kms-key-id` o affidarsi alla [configurazione predefinita della crittografia del bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html). Se la tua PutObject richiesta è specificata `aws:kms` nell'`x-amz-server-side-encryption`intestazione, ma non specifica l'`x-amz-server-side-encryption-aws-kms-key-id`intestazione, Amazon S3 presume che tu voglia utilizzare il. Chiave gestita da AWS Indipendentemente da ciò, l'ID della AWS KMS chiave utilizzato da Amazon S3 per la crittografia degli oggetti deve corrispondere all'ID della AWS KMS chiave nella policy, altrimenti Amazon S3 nega la richiesta.

Per un elenco completo delle chiavi di condizione specifiche per Amazon S3, consulta [Chiavi di condizione per Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-policy-keys) in *Riferimento alle autorizzazioni di servizio*.

## Contesto di crittografia
<a name="encryption-context"></a>

Un *contesto di crittografia* è un set di coppie chiave-valore che contiene ulteriori informazioni contestuali sui dati. Il contesto di crittografia non è crittografato. Quando viene specificato un contesto di crittografia per un'operazione di crittografia, Amazon S3 deve specificare lo stesso contesto di crittografia per l'operazione di decrittografia. In caso contrario, la decrittografia non riesce. AWS KMS [utilizza il contesto di crittografia come [dati autenticati aggiuntivi](https://docs.aws.amazon.com/database-encryption-sdk/latest/devguide/concepts.html#digital-sigs) (AAD) per supportare la crittografia autenticata.](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations#digital-sigs) Per ulteriori informazioni sul contesto di crittografia, consulta il [Contesto di crittografia](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) nella *Guida per gli sviluppatori di AWS Key Management Service *. 

Per impostazione predefinita, Amazon S3 utilizza il nome della risorsa Amazon (ARN) dell'oggetto o del bucket come coppia di contesto di crittografia: 
+ **Se utilizzi SSE-KMS senza abilitare una chiave bucket S3**, l'ARN del oggetto viene utilizzato come contesto di crittografia.

  ```
  arn:aws:s3:::object_ARN
  ```
+ **Se utilizzi SSE-KMS e abiliti una chiave di bucket S3**, l'ARN del bucket viene utilizzato come contesto di crittografia. Per ulteriori informazioni sui bucket S3, consulta la sezione [Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3](bucket-key.md).

  ```
  arn:aws:s3:::bucket_ARN
  ```

[Facoltativamente, puoi fornire una coppia di contesti di crittografia aggiuntiva utilizzando l'`x-amz-server-side-encryption-context`intestazione in una richiesta s3:. PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#API_PutObject_RequestSyntax) Tuttavia, poiché il contesto di crittografia non è crittografato, assicurati che non includa informazioni sensibili. Amazon S3 archivia questa coppia di chiavi aggiuntiva insieme al contesto di crittografia predefinito. Quando elabora la tua richiesta `PUT`, Amazon S3 aggiunge il contesto di crittografia predefinito di `aws:s3:arn` a quello che fornisci. 

È possibile utilizzare il contesto di crittografia per identificare e categorizzare le operazioni di crittografia. Puoi anche utilizzare il valore ARN del contesto di crittografia predefinito per tenere traccia delle richieste pertinenti AWS CloudTrail visualizzando quale ARN Amazon S3 è stato utilizzato con quale chiave di crittografia.

Nel `requestParameters` campo di un file di CloudTrail registro, il contesto di crittografia è simile al seguente. 

```
"encryptionContext": {
    "aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-bucket1/file_name"
}
```

Quando utilizzi SSE-KMS con la funzione opzionale chiavi bucket S3, il valore di contesto di crittografia è l'ARN del bucket.

```
"encryptionContext": {
    "aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-bucket1"
}
```

## Invio di richieste per oggetti AWS KMS crittografati
<a name="aws-signature-version-4-sse-kms"></a>

**Importante**  
Tutte `GET` le `PUT` richieste di oggetti AWS KMS crittografati devono essere effettuate utilizzando Secure Sockets Layer (SSL) o Transport Layer Security (TLS). Le richieste devono inoltre essere firmate utilizzando credenziali valide, come AWS Signature Version 4 (o AWS Signature Version 2).

AWS Signature Version 4 è il processo di aggiunta di informazioni di autenticazione alle AWS richieste inviate tramite HTTP. Per motivi di sicurezza, la maggior parte delle richieste AWS deve essere firmata con una chiave di accesso, che consiste in un ID della chiave di accesso e una chiave di accesso segreta. Queste due chiavi in genere vengono definite come le tue credenziali di sicurezza. Per ulteriori informazioni, consulta le sezioni [Autenticazione delle richieste (AWS Signature Version 4)](https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html) e [Processo di firma Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).

**Importante**  
Se l'oggetto utilizza SSE-KMS, non inviare intestazioni di richiesta di crittografia per le richieste `GET` e `HEAD`. In caso contrario, riceverai un errore HTTP 400 Bad Request (HTTP 400 - Richiesta non valida).

**Topics**
+ [AWS KMS keys](#aws-managed-customer-managed-keys)
+ [Chiavi bucket Amazon S3](#sse-kms-bucket-keys)
+ [Richiesta della crittografia lato server](#require-sse-kms)
+ [Contesto di crittografia](#encryption-context)
+ [Invio di richieste per oggetti AWS KMS crittografati](#aws-signature-version-4-sse-kms)
+ [Specificare la crittografia lato server con AWS KMS (SSE-KMS)](specifying-kms-encryption.md)
+ [Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3](bucket-key.md)

# Specificare la crittografia lato server con AWS KMS (SSE-KMS)
<a name="specifying-kms-encryption"></a>

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 le chiavi gestite da Amazon S3 (SSE-S3) è la configurazione predefinita della crittografia per ogni bucket di Amazon S3. Per utilizzare un diverso tipo di crittografia, puoi specificare il tipo di crittografia lato server da utilizzare nelle richieste `PUT` S3 oppure aggiornare la configurazione di crittografia predefinita nel bucket di destinazione. 

Se desideri specificare un tipo di crittografia diverso nelle tue `PUT` richieste, puoi utilizzare la crittografia lato server con () chiavi AWS Key Management Service (SSE-KMS AWS KMS), la crittografia lato server a due livelli con chiavi (DSSE-KMS) o la crittografia lato server con AWS KMS chiavi fornite dal cliente (SSE-C). Per impostare una configurazione di crittografia predefinita diversa nel bucket di destinazione puoi utilizzare SSE-KMS o DSSE-KMS.

Per ulteriori informazioni su come modificare la configurazione di crittografia predefinita per i bucket per uso generico, consulta [Configurazione della crittografia predefinita](default-bucket-encryption.md). 

Quando modifichi la configurazione di crittografia predefinita del bucket in SSE-KMS, il tipo di crittografia degli oggetti Amazon S3 esistenti nel bucket non viene modificato. Per modificare il tipo di crittografia degli oggetti preesistenti dopo aver aggiornato la configurazione di crittografia predefinita a SSE-KMS, puoi utilizzare Operazioni in batch Amazon S3. Si fornisce a Operazioni in batch S3 un elenco di oggetti e Operazioni in batch richiama la rispettiva operazione API. È possibile utilizzare l’azione [Copia oggetti](batch-ops-copy-object.md) per copiare gli oggetti esistenti, scrivendoli nello stesso bucket degli oggetti crittografati SSE-KMS. Un solo processo di operazioni in batch può eseguire l'operazione specificata su miliardi di oggetti. Per ulteriori informazioni, consulta [Esecuzione di operazioni sugli oggetti in blocco con le operazioni in batch](batch-ops.md) e il post [Come crittografare retroattivamente gli oggetti esistenti in Amazon S3 utilizzando Inventario S3, Amazon Athena e Operazioni in batch S3](https://aws.amazon.com/blogs/security/how-to-retroactively-encrypt-existing-objects-in-amazon-s3-using-s3-inventory-amazon-athena-and-s3-batch-operations/) nel *Blog dell’archiviazione AWS *. 

Puoi specificare SSE-KMS utilizzando la console Amazon S3, le operazioni API REST e il (). AWS SDKs AWS Command Line Interface AWS CLI Per ulteriori informazioni, consulta i seguenti argomenti. 

**Nota**  
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 multiregione](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) nella *Guida per gli sviluppatori di AWS Key Management Service *.

**Nota**  
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](https://docs.aws.amazon.com//kms/latest/developerguide/key-policy-modifying-external-accounts.html#cross-account-console) nella *Guida per gli sviluppatori di AWS Key Management Service *. 

## Utilizzo della console S3
<a name="add-object-encryption-kms"></a>

Questo argomento descrive come impostare o modificare il tipo di crittografia di un oggetto per utilizzare la crittografia lato server con AWS Key Management Service (AWS KMS) chiavi (SSE-KMS) utilizzando la console Amazon S3.

**Nota**  
È possibile modificare la crittografia di un oggetto se l'oggetto è inferiore a 5 GB. Se l'oggetto è superiore a 5 GB, è necessario utilizzare [AWS CLI](mpu-upload-object.md#UsingCLImpUpload)o [AWS SDKs](CopyingObjectsMPUapi.md)per modificare la crittografia di un oggetto.
Per un elenco delle autorizzazioni aggiuntive necessarie per modificare la crittografia di un oggetto, consulta [Autorizzazioni necessarie per le operazioni API di Amazon S3](using-with-s3-policy-actions.md). Per esempi di policy che concedono questa autorizzazione, consulta [Esempi di policy basate sull'identità per Amazon S3](example-policies-s3.md).
Se si modifica la crittografia di un oggetto, viene creato un nuovo oggetto per sostituire quello precedente. Se è abilitata la funzione Controllo delle versioni S3, viene creata una nuova versione dell'oggetto e l'oggetto esistente diventa una versione precedente. Il ruolo che modifica la proprietà diventa anche il proprietario del nuovo oggetto o della versione dell'oggetto. 

**Per aggiungere o modificare la crittografia di un oggetto**

1. Accedi Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione, scegli **Bucket**, quindi scegli la scheda **Bucket per uso generico**. Naviga al bucket o alla cartella Amazon S3 che contiene gli oggetti da modificare.

1. Seleziona la casella di controllo degli oggetti da modificare.

1. Nel menu **Azioni**, scegli **Modifica crittografia lato server** dall'elenco di opzioni visualizzato.

1. Scorrere fino alla sezione **Crittografia lato server**.

1. In **Impostazioni di crittografia**, scegli **Utilizza le impostazioni del bucket per la crittografia predefinita** o **Ignora le impostazioni del bucket per la crittografia predefinita**.
**Importante**  
Se usi l'opzione SSE-KMS per la configurazione della crittografia predefinita, vengono applicati i limiti di richieste al secondo (RPS) pari a AWS KMS. Per ulteriori informazioni sulle quote AWS KMS e su come richiedere un aumento delle quote, consulta [Quote](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html) nella *Guida per gli sviluppatori di AWS Key Management Service *. 

1. Se scegli **Sostituisci impostazioni del bucket per la crittografia predefinita**, configura le seguenti impostazioni di crittografia.

   1. In **Tipo di crittografia**, scegli Crittografia **lato server con AWS Key Management Service chiavi (SSE-KMS**).

   1. In **AWS KMS key**, esegui una delle seguenti operazioni per scegliere la chiave KMS:
      + Per scegliere da un elenco di chiavi KMS disponibili, seleziona **Scegli tra le chiavi AWS KMS keys**, quindi scegli la **chiave KMS** dall'elenco delle chiavi disponibili.

        In questo elenco vengono visualizzate sia la chiave Chiave gestita da AWS (`aws/s3`) che quella gestita dal cliente. Per ulteriori informazioni sulle chiavi gestite dal cliente, consulta [Chiavi gestite dal cliente e chiavi AWS](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) nella *Guida per gli sviluppatori di AWS Key Management Service *.
      + Per inserire l'ARN della chiave KMS, scegli **Inserisci AWS KMS key ARN**, quindi inserisci l'ARN della chiave KMS nel campo visualizzato. 
      + **Per creare una nuova chiave gestita dal cliente nella AWS KMS console, scegli Crea una chiave KMS.**

        Per ulteriori informazioni sulla creazione di una AWS KMS key, consulta [Creating keys](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) nella *AWS Key Management Service Developer Guide*.
**Importante**  
Puoi utilizzare solo le chiavi KMS disponibili nello Regione AWS stesso bucket. La console Amazon S3 elenca solo le prime 100 chiavi KMS nella stessa Regione del bucket. Per utilizzare una chiave KMS non elencata, devi inserire l'ARN della chiave KMS. Se desideri utilizzare una chiave KMS di proprietà di un account diverso, è necessario innanzitutto disporre dell'autorizzazione necessaria per l'uso della chiave e quindi inserire l'ARN della chiave KMS.  
Amazon S3 supporta solo chiavi KMS di crittografia simmetriche e non chiavi KMS asimmetriche. Per ulteriori informazioni, consulta [Identificazione delle chiavi KMS simmetriche e asimmetriche](https://docs.aws.amazon.com//kms/latest/developerguide/find-symm-asymm.html) nella *Guida per gli sviluppatori di AWS Key Management Service *.

1. In **Impostazioni di copia aggiuntive**, scegli se eseguire **Copia impostazioni dell'origine**, **Non specificare le impostazioni** o **Specifica le impostazioni**. **Copia impostazioni dell'origine** è l'opzione predefinita. Se desideri copiare solo l'oggetto senza gli attributi delle impostazioni dell'origine, scegli **Non specificare le impostazioni**. Scegliete **Specificate impostazioni** per specificare le impostazioni per la classe di archiviazione ACLs, i tag degli oggetti, i metadati, la crittografia lato server e i checksum aggiuntivi.

1. Scegli **Save changes** (Salva modifiche).

**Nota**  
Questa azione applica la crittografia a tutti gli oggetti specificati. Durante la crittografia delle cartelle, attendere il completamento dell'operazione di salvataggio prima di aggiungere nuovi oggetti alla cartella.

## Utilizzo della REST API
<a name="KMSUsingRESTAPI"></a>

Quando crei un oggetto, ovvero quando carichi un nuovo oggetto o copi un oggetto esistente, puoi specificare l'uso della crittografia lato server con le AWS KMS keys (SSE-KMS) per crittografare i dati. Per fare ciò, aggiungi l'intestazione `x-amz-server-side-encryption` alla richiesta. Impostare il valore dell'intestazione sull'algoritmo di crittografia `aws:kms`. Amazon S3 conferma che l'oggetto è stato archiviato utilizzando SSE-KMS restituendo l'intestazione della risposta `x-amz-server-side-encryption`. 

Se specifichi l'intestazione `x-amz-server-side-encryption` con il valore `aws:kms`, puoi anche utilizzare le intestazioni di richiesta seguenti:
+ `x-amz-server-side-encryption-aws-kms-key-id`
+ `x-amz-server-side-encryption-context`
+ `x-amz-server-side-encryption-bucket-key-enabled`

**Topics**
+ [Operazioni REST API di Amazon S3 che supportano SSE-KMS](#sse-request-headers-kms)
+ [Contesto di crittografia (`x-amz-server-side-encryption-context`)](#s3-kms-encryption-context)
+ [AWS KMS ID chiave () `x-amz-server-side-encryption-aws-kms-key-id`](#s3-kms-key-id-api)
+ [Chiavi bucket S3 (`x-amz-server-side-encryption-aws-bucket-key-enabled`)](#bucket-key-api)

### Operazioni REST API di Amazon S3 che supportano SSE-KMS
<a name="sse-request-headers-kms"></a>

Le operazioni REST API seguenti accettano le intestazioni di richiesta `x-amz-server-side-encryption`, `x-amz-server-side-encryption-aws-kms-key-id` e `x-amz-server-side-encryption-context`.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html): quando carichi i dati utilizzando l'operazione API `PUT`, è possibile specificare queste intestazioni di richiesta. 
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) - Quando si copia un oggetto, si ha un oggetto di origine e un oggetto di destinazione. Quando si passano le intestazioni SSE-KMS con l'operazione `CopyObject`, queste vengono applicate solo all'oggetto di destinazione. Quando si copia un oggetto esistente, indipendentemente dal fatto che l'oggetto di partenza sia criptato o meno, l'oggetto di destinazione non viene criptato, a meno che non si richieda esplicitamente la crittografia lato server.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) - Quando si usa un'operazione `POST` per caricare un oggetto, invece delle intestazioni della richiesta, si forniscono le stesse informazioni nei campi del modulo.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) - 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.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html)

**Importante**  
Tutte le richieste di `GET` e `PUT` per un oggetto protetto da AWS KMS falliscono se non si effettuano queste richieste utilizzando Secure Sockets Layer (SSL), 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 errore HTTP 400. BadRequest

### Contesto di crittografia (`x-amz-server-side-encryption-context`)
<a name="s3-kms-encryption-context"></a>

Se si specifica `x-amz-server-side-encryption:aws:kms`, l'API Amazon S3 supporta un contesto di crittografia con l'intestazione `x-amz-server-side-encryption-context`. Un contesto di crittografia è un set di coppie chiave-valore che possono contenere ulteriori informazioni contestuali sui dati.

Amazon S3 utilizza automaticamente l'oggetto o il bucket Amazon Resource Name (ARN) come coppia di contesto di crittografia. Se utilizzi SSE-KMS senza abilitare una chiave bucket S3, usa l'ARN dell'oggetto come contesto di crittografia, ad esempio `arn:aws:s3:::object_ARN`. Se invece utilizzi SSE-KMS e abiliti una chiave bucket S3, usa l'ARN del bucket per il contesto di crittografia, ad esempio `arn:aws:s3:::bucket_ARN`. 

Facoltativamente, è possibile fornire una coppia di contesto di crittografia aggiuntiva utilizzando l'intestazione `x-amz-server-side-encryption-context`. Tuttavia, poiché il contesto di crittografia non è criptato, assicurarsi che non contenga informazioni sensibili. Amazon S3 archivia questa coppia di chiavi aggiuntiva insieme al contesto di crittografia predefinito.

Per informazioni sul contesto di crittografia in Amazon S3, consulta la sezione [Contesto di crittografia](UsingKMSEncryption.md#encryption-context). Per informazioni generali sul contesto di crittografia, consulta [Concetti di AWS Key Management Service : Contesto di crittografia](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) nella *Guida per gli sviluppatori di AWS Key Management Service *. 

### AWS KMS ID chiave () `x-amz-server-side-encryption-aws-kms-key-id`
<a name="s3-kms-key-id-api"></a>

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. Se specifichi l'intestazione `x-amz-server-side-encryption:aws:kms`, ma non fornisci l'intestazione `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 utilizza la Chiave gestita da AWS (`aws/s3`) per proteggere i dati. Se desideri utilizzare una chiave gestita dal cliente, devi fornire l'intestazione `x-amz-server-side-encryption-aws-kms-key-id` della chiave gestita dal cliente.

**Importante**  
Quando utilizzi una AWS KMS key 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](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#symmetric-cmks) nella *Guida per gli sviluppatori di AWS Key Management Service *.

### Chiavi bucket S3 (`x-amz-server-side-encryption-aws-bucket-key-enabled`)
<a name="bucket-key-api"></a>

È possibile utilizzare l'intestazione della richiesta `x-amz-server-side-encryption-aws-bucket-key-enabled` per abilitare o disabilitare un bucket S3 Key a livello di oggetto. S3 Bucket Keys riduce i costi delle AWS KMS richieste diminuendo il traffico delle richieste da Amazon S3 a. AWS KMS Per ulteriori informazioni, consulta [Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3](bucket-key.md).

Se specifichi l'intestazione `x-amz-server-side-encryption:aws:kms` ma non fornisci l'intestazione `x-amz-server-side-encryption-aws-bucket-key-enabled`, per crittografare l'oggetto saranno utilizzate le impostazioni della chiave bucket S3 per il bucket di destinazione. Per ulteriori informazioni, consulta [Configurazione di una chiave bucket S3 a livello di oggetto](configuring-bucket-key-object.md).

## Utilizzando il AWS CLI
<a name="KMSUsingCLI"></a>

Per utilizzare i seguenti AWS CLI comandi di esempio, `user input placeholders` sostituiscili con le tue informazioni.

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. Per fare ciò, aggiungi l'intestazione `--server-side-encryption aws:kms` alla richiesta. Utilizza il `--ssekms-key-id example-key-id` per aggiungere la [AWS KMS chiave gestita dal cliente](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#customer-cmk) che hai creato. Se specifichi`--server-side-encryption aws:kms`, ma non fornisci un ID di AWS KMS chiave, Amazon S3 utilizzerà una chiave AWS gestita.

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key example-object-key --server-side-encryption aws:kms --ssekms-key-id example-key-id --body filepath
```

Puoi inoltre abilitare o disabilitare le chiavi di bucket Amazon S3 nelle operazioni PUT o COPY aggiungendo `--bucket-key-enabled` o `--no-bucket-key-enabled`. Amazon S3 Bucket Keys può ridurre i costi delle AWS KMS richieste diminuendo il traffico delle richieste da Amazon S3 a. AWS KMS Per ulteriori informazioni, consulta [Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3](https://docs.aws.amazon.com//AmazonS3/latest/userguide/bucket-key.html).

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key example-object-key --server-side-encryption aws:kms --bucket-key-enabled --body filepath
```

È possibile crittografare un oggetto non crittografato con SSE-KMS copiando l'oggetto nella sua posizione.

```
aws s3api copy-object --bucket amzn-s3-demo-bucket --key example-object-key --body filepath --bucket amzn-s3-demo-bucket --key example-object-key --sse aws:kms --sse-kms-key-id example-key-id --body filepath
```

## Utilizzando il AWS SDKs
<a name="kms-using-sdks"></a>

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 con Java e.NET. AWS SDKs Per informazioni su altri SDKs, consulta [Codice di esempio e librerie](https://aws.amazon.com/code) nel AWS Developer Center.

**Importante**  
Quando utilizzi una AWS KMS key 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](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#symmetric-cmks) nella *Guida per gli sviluppatori di AWS Key Management Service *.

### Operazione `CopyObject`
<a name="kms-copy-operation"></a>

Quando copi gli oggetti, puoi aggiungere le stesse proprietà della richiesta (`ServerSideEncryptionMethod` e `ServerSideEncryptionKeyManagementServiceKeyId`) per richiedere che Amazon S3 utilizzi una AWS KMS key. Per ulteriori informazioni sulla copia di oggetti, consulta la sezione [Copia, spostamento e denominazione di oggetti](copy-object.md). 

### Operazione `PUT`
<a name="kms-put-operation"></a>

------
#### [ Java ]

Quando carichi un oggetto utilizzando il AWS SDK per Java, puoi richiedere ad Amazon S3 di utilizzare AWS KMS key un oggetto aggiungendo `SSEAwsKeyManagementParams` la proprietà come mostrato nella seguente richiesta:

```
PutObjectRequest putRequest = new PutObjectRequest(bucketName,
   keyName, file).withSSEAwsKeyManagementParams(new SSEAwsKeyManagementParams());
```

In questo caso, Amazon S3 utilizza Chiave gestita da AWS ()`aws/s3`. Per ulteriori informazioni, consulta [Utilizzo della crittografia lato server con chiavi (SSE-KMS) AWS KMS](UsingKMSEncryption.md). È possibile creare facoltativamente una chiave KMS di crittografia simmetrica e specificarla nella richiesta, come mostrato nell'esempio seguente:

```
PutObjectRequest putRequest = new PutObjectRequest(bucketName,
   keyName, file).withSSEAwsKeyManagementParams(new SSEAwsKeyManagementParams(keyID));
```

Per ulteriori informazioni sulla creazione di chiavi gestite dal cliente, consulta [Programming the AWS KMS API](https://docs.aws.amazon.com/kms/latest/developerguide/programming-top.html) nella *AWS Key Management Service Developer Guide*.

Per esempi di codice di utilizzo per il caricamento di un oggetto, consulta gli argomenti elencati di seguito. Per usare questi esempi dovrai aggiornare gli esempi di codice e fornire informazioni sulla crittografia come mostrato nel frammento di codice precedente.
+ Per il caricamento di un oggetto in un'unica operazione, consulta [Caricamento degli oggetti](upload-objects.md).
+ Per i caricamenti multiparte che utilizzano le operazioni API di caricamento multiparte di alto livello o di basso livello, consulta [Caricamento di un oggetto utilizzando il caricamento in più parti](mpu-upload-object.md). 

------
#### [ .NET ]

Quando carichi un oggetto utilizzando il AWS SDK per .NET, puoi richiedere ad Amazon S3 di utilizzare AWS KMS key un oggetto aggiungendo `ServerSideEncryptionMethod` la proprietà come mostrato nella seguente richiesta:

```
PutObjectRequest putRequest = new PutObjectRequest
 {
     BucketName = amzn-s3-demo-bucket,
     Key = keyName,
     // other properties
     ServerSideEncryptionMethod = ServerSideEncryptionMethod.AWSKMS
 };
```

In questo caso, Amazon S3 utilizza il. Chiave gestita da AWS Per ulteriori informazioni, consulta [Utilizzo della crittografia lato server con chiavi (SSE-KMS) AWS KMS](UsingKMSEncryption.md). È possibile creare una propria chiave di crittografia simmetrica gestita dal cliente e specificarla nella richiesta, come mostrato nell'esempio seguente:

```
PutObjectRequest putRequest1 = new PutObjectRequest
{
  BucketName = amzn-s3-demo-bucket,
  Key = keyName,
  // other properties
  ServerSideEncryptionMethod = ServerSideEncryptionMethod.AWSKMS,
  ServerSideEncryptionKeyManagementServiceKeyId = keyId
};
```

Per ulteriori informazioni sulla creazione di chiavi gestite dal cliente, consulta [Programming the AWS KMS API](https://docs.aws.amazon.com/kms/latest/developerguide/programming-top.html) nella *AWS Key Management Service Developer Guide*. 

Per esempi di codice di utilizzo per il caricamento di un oggetto, consulta gli argomenti elencati di seguito. Per usare questi esempi dovrai aggiornare gli esempi di codice e fornire informazioni sulla crittografia come mostrato nel frammento di codice precedente.
+ Per il caricamento di un oggetto in un'unica operazione, consulta [Caricamento degli oggetti](upload-objects.md).
+ Per i caricamenti multiparte che utilizzano le operazioni API di caricamento multiparte di alto livello o di basso livello, consulta [Caricamento di un oggetto utilizzando il caricamento in più parti](mpu-upload-object.md). 

------

### Predefinito URLs
<a name="kms-presigned-urls"></a>

------
#### [ Java ]

Quando si crea un URL prefirmato per un oggetto crittografato con AWS KMS key, è necessario specificare esplicitamente Signature Version 4, come mostrato nell'esempio seguente:

```
ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setSignerOverride("AWSS3V4SignerType");
AmazonS3Client s3client = new AmazonS3Client(
        new ProfileCredentialsProvider(), clientConfiguration);
...
```

Per un esempio di codice, consulta [Condivisione di oggetti con presigned URLs](ShareObjectPreSignedURL.md). 

------
#### [ .NET ]

Quando si crea un URL prefirmato per un oggetto crittografato con AWS KMS key, è necessario specificare esplicitamente Signature Version 4, come mostrato nell'esempio seguente:

```
AWSConfigs.S3Config.UseSignatureVersion4 = true;
```

Per un esempio di codice, consulta [Condivisione di oggetti con presigned URLs](ShareObjectPreSignedURL.md).

------

# Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3
<a name="bucket-key"></a>

Amazon S3 Bucket Keys riduce il costo della crittografia lato server di Amazon S3 con AWS Key Management Service chiavi () (SSE-KMS).AWS KMS L'utilizzo di una chiave a livello di bucket per SSE-KMS può ridurre i costi delle AWS KMS richieste fino al 99 percento diminuendo il traffico delle richieste da Amazon S3 a. AWS KMS Con pochi clic nella Console di gestione AWS e senza alcuna modifica alle applicazioni client, potrai configurare il bucket in modo da utilizzare una chiave bucket S3 per la crittografia SSE-KMS sui nuovi oggetti.

**Nota**  
Le S3 Bucket Keys non sono supportate per la crittografia lato server a doppio livello con chiavi () (DSSE-KMS). AWS Key Management Service AWS KMS

## Chiavi bucket S3 per SSE-KMS
<a name="bucket-key-overview"></a>

I carichi di lavoro che accedono a milioni o miliardi di oggetti crittografati con SSE-KMS possono generare grandi volumi di richieste verso. AWS KMS[Quando usi SSE-KMS per proteggere i tuoi dati senza una S3 Bucket Key, Amazon S3 utilizza una chiave dati individuale per ogni oggetto. AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys) In questo caso, Amazon S3 effettua una chiamata AWS KMS ogni volta che viene effettuata una richiesta su un oggetto crittografato con KMS. Per informazioni sul funzionamento di SSE-KMS, consulta [Utilizzo della crittografia lato server con chiavi (SSE-KMS) AWS KMS](UsingKMSEncryption.md). 

Quando configuri il bucket per utilizzare una chiave S3 Bucket per SSE-KMS, AWS genera una chiave a livello di bucket di breve durata da, quindi la conserva temporaneamente in S3. AWS KMS Questa chiave a livello di bucket creerà chiavi di dati per i nuovi oggetti durante il relativo ciclo di vita. Le S3 Bucket Key vengono utilizzate per un periodo di tempo limitato all'interno di Amazon S3, riducendo la necessità per S3 di effettuare richieste AWS KMS per completare le operazioni di crittografia. Ciò riduce il traffico da S3 a AWS KMS, consentendoti di accedere AWS KMS agli oggetti crittografati in Amazon S3 a una frazione del costo precedente.

Le chiavi univoche a livello di bucket vengono recuperate almeno una volta per richiedente per garantire che l'accesso del richiedente alla chiave venga acquisito in un evento. AWS KMS CloudTrail Amazon S3 tratta i chiamanti come richiedenti diversi quando utilizzano ruoli o account diversi o lo stesso ruolo con politiche di ambito diverse. AWS KMS i risparmi sulle richieste riflettono il numero di richiedenti, i modelli di richiesta e l'età relativa degli oggetti richiesti. Ad esempio, un numero inferiore di richiedenti, la richiesta di più oggetti in una finestra temporale limitata e la crittografia con la stessa chiave a livello di bucket comportano un risparmio maggiore.

**Nota**  
L'utilizzo di S3 Bucket Keys ti consente di risparmiare sui costi delle AWS KMS richieste diminuendo le richieste a AWS KMS for `Encrypt` e le `Decrypt` operazioni tramite l'uso di una chiave a livello di bucket. `GenerateDataKey` In base alla progettazione, le richieste successive che sfruttano questa chiave a livello di bucket non generano richieste AWS KMS API né convalidano l'accesso in base alla policy della chiave. AWS KMS 

Quando si configura una chiave bucket S3, gli oggetti già presenti nel bucket non utilizzano la chiave Bucket S3. Per configurare una chiave bucket S3 per gli oggetti esistenti, è possibile utilizzare un'operazione `CopyObject`. Per ulteriori informazioni, consulta [Configurazione di una chiave bucket S3 a livello di oggetto](configuring-bucket-key-object.md).

Amazon S3 condividerà una chiave S3 bucket solo per gli oggetti crittografati dalla stessa AWS KMS key. Le S3 Bucket Keys sono compatibili con le chiavi KMS create da AWS KMS, il [materiale chiave importato e il materiale chiave supportato](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) da archivi di [chiavi personalizzati](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).

![\[Diagramma che mostra la AWS KMS generazione di una chiave bucket che crea chiavi dati per oggetti in un bucket.\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/S3-Bucket-Keys.png)


## Configurazione delle chiavi bucket S3
<a name="configure-bucket-key"></a>

Puoi configurare il tuo bucket per utilizzare una chiave S3 Bucket per SSE-KMS su nuovi oggetti tramite la console Amazon S3 o l'API REST. AWS SDKs AWS CLI Con le chiavi di bucket S3 abilitate sul bucket, gli oggetti caricati con una chiave SSE-KMS specificata diversamente utilizzeranno chiavi di bucket S3 proprie. Indipendentemente dall'impostazione della chiave di bucket S3, puoi includere l'intestazione `x-amz-server-side-encryption-bucket-key-enabled`con un valore `true` o `false` or nella richiesta, per sovrascrivere l'impostazione del bucket.

Prima di configurare il bucket per utilizzare una chiave bucket S3, consulta [Modifiche alla nota prima dell'abilitazione di una chiave bucket S3](#bucket-key-changes). 

### Configurazione di una chiave bucket S3 tramite la console di Amazon S3
<a name="configure-bucket-key-console"></a>

Quando crei un nuovo bucket, puoi configurarlo in modo da utilizzare una chiave bucket S3 per SSE-KMS su nuovi oggetti. Puoi inoltre configurare un bucket esistente in modo utilizzare una chiave bucket S3 per SSE-KMS su nuovi oggetti aggiornando le proprietà del bucket. 

Per ulteriori informazioni, consulta [Configurazione del bucket per utilizzare una chiave bucket S3 con SSE-KMS per nuovi oggetti](configuring-bucket-key.md).

### API REST e supporto SDK per S3 Bucket AWS CLI Keys AWS
<a name="configure-bucket-key-programmatic"></a>

Puoi utilizzare l'API REST o l' AWS SDK per configurare il tuo bucket in modo che utilizzi una S3 Bucket Key per SSE-KMS su nuovi oggetti. AWS CLI Puoi inoltre abilitare una chiave bucket S3 a livello di oggetto.

Per ulteriori informazioni, consulta gli argomenti seguenti: 
+ [Configurazione di una chiave bucket S3 a livello di oggetto](configuring-bucket-key-object.md)
+ [Configurazione del bucket per utilizzare una chiave bucket S3 con SSE-KMS per nuovi oggetti](configuring-bucket-key.md)

Le seguenti operazioni API supportano le chiavi bucket S3 per SSE-KMS:
+ [PutBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)
  + `ServerSideEncryptionRule` accetta il parametro `BucketKeyEnabled` per abilitare e disabilitare una chiave bucket S3.
+ [GetBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html)
  + `ServerSideEncryptionRule` restituisce le impostazioni per `BucketKeyEnabled`.
+ [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)[,](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html), e oggetto POST [CopyObject[CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)
  + L'intestazione della richiesta `x-amz-server-side-encryption-bucket-key-enabled` abilita o disabilita una chiave bucket S3 a livello di oggetto.
+ [HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html), [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html), [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html), [UploadPart](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html), e [CompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
  + L'intestazione della risposta `x-amz-server-side-encryption-bucket-key-enabled` indica se una chiave bucket S3 è abilitata o disabilitata per un oggetto.

### Lavorare con CloudFormation
<a name="configure-bucket-key-cfn"></a>

In CloudFormation, la `AWS::S3::Bucket` risorsa include una proprietà di crittografia denominata `BucketKeyEnabled` che puoi utilizzare per abilitare o disabilitare una S3 Bucket Key. 

Per ulteriori informazioni, consulta [Usando CloudFormation](configuring-bucket-key.md#enable-bucket-key-cloudformation).

## Modifiche alla nota prima dell'abilitazione di una chiave bucket S3
<a name="bucket-key-changes"></a>

Prima di abilitare una chiave bucket S3, tieni presente le seguenti modifiche correlate:

### IAM o politiche chiave AWS KMS
<a name="bucket-key-policies"></a>

Se le tue policy AWS Identity and Access Management (IAM) o le policy AWS KMS chiave esistenti utilizzano il tuo oggetto Amazon Resource Name (ARN) come contesto di crittografia per perfezionare o limitare l'accesso alla tua chiave KMS, queste policy non funzioneranno con una S3 Bucket Key. Le chiavi bucket S3 utilizzano l'ARN del bucket come contesto di crittografia. Prima di abilitare una chiave S3 Bucket, aggiorna le policy IAM o le policy AWS KMS chiave per utilizzare l'ARN del bucket come contesto di crittografia.

Per ulteriori informazioni sul contesto di crittografia e sulle chiavi bucket S3, consulta [Contesto di crittografia](UsingKMSEncryption.md#encryption-context).

### CloudTrail eventi per AWS KMS
<a name="bucket-key-cloudtrail"></a>

Dopo aver abilitato una S3 Bucket Key, AWS KMS CloudTrail gli eventi registrano l'ARN del bucket anziché l'ARN dell'oggetto. Inoltre, nei log vengono visualizzati meno CloudTrail eventi KMS per gli oggetti SSE-KMS. Poiché il materiale chiave è limitato nel tempo in Amazon S3, vengono inviate meno richieste. AWS KMS

## Utilizzo di una chiave bucket S3 con la replica
<a name="bucket-key-replication"></a>

Le chiavi bucket S3 possono essere utilizzate con la replica della stessa regione (SRR) e con la replica tra regioni (CRR).

Quando Amazon S3 replica un oggetto crittografato, in genere conserva le impostazioni di crittografia dell'oggetto di replica nel bucket di destinazione. Tuttavia, se l'oggetto di origine non è crittografato e il bucket di destinazione utilizza la crittografia predefinita o una chiave bucket S3, Amazon S3 crittografa l'oggetto con la configurazione del bucket di destinazione. 

Negli esempi seguenti viene illustrato il funzionamento di una chiave bucket S3 con la replica. Per ulteriori informazioni, consulta [Replica di oggetti crittografati (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md). 

**Example Esempio 1: l'oggetto di origine utilizza le chiavi bucket S3 e il bucket di destinazione usa la crittografia predefinita**  
Se l'oggetto di origine utilizza una chiave bucket S3 ma il bucket di destinazione utilizza la crittografia predefinita con SSE-KMS, l'oggetto di replica mantiene le impostazioni di crittografia della chiave bucket S3 nel bucket di destinazione. Il bucket di destinazione utilizza ancora la crittografia predefinita con SSE-KMS.   


**Example Esempio 2: l'oggetto di origine non è crittografato e il bucket di destinazione usa una chiave bucket S3 con SSE-KMS**  
Se l'oggetto di origine non è crittografato e il bucket di destinazione usa una chiave bucket S3 con SSE-KMS, l'oggetto di replica viene crittografato con una chiave bucket S3 utilizzando SSE-KMS nel bucket di destinazione. Ciò fa sì che l'`ETag` dell'oggetto di origine sia diverso dall'`ETag` dell'oggetto replicato. È necessario aggiornare le applicazioni che utilizzano l'`ETag` per tenere conto di tale differenza.

## Operazioni con le chiavi bucket S3
<a name="using-bucket-key"></a>

Per ulteriori informazioni sull'abilitazione e l'utilizzo di chiavi bucket S3, consulta le sezioni seguenti:
+ [Configurazione del bucket per utilizzare una chiave bucket S3 con SSE-KMS per nuovi oggetti](configuring-bucket-key.md)
+ [Configurazione di una chiave bucket S3 a livello di oggetto](configuring-bucket-key-object.md)
+ [Visualizzazione delle impostazioni per una chiave bucket S3](viewing-bucket-key-settings.md)

# Configurazione del bucket per utilizzare una chiave bucket S3 con SSE-KMS per nuovi oggetti
<a name="configuring-bucket-key"></a>

Quando configuri la crittografia lato server con le chiavi AWS Key Management Service (AWS KMS) (SSE-KMS), puoi configurare il bucket per utilizzare una S3 Bucket Key per SSE-KMS su nuovi oggetti. Le S3 Bucket Keys riducono il traffico delle richieste da Amazon S3 AWS KMS a SSE-KMS e riducono il costo. Per ulteriori informazioni, consulta [Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3](bucket-key.md).

Puoi configurare il tuo bucket per utilizzare una chiave S3 Bucket per SSE-KMS su nuovi oggetti utilizzando la console Amazon S3, l'API REST,, () o. AWS SDKs AWS Command Line Interface AWS CLI CloudFormation Se desideri abilitare o disabilitare una chiave bucket S3 per gli oggetti esistenti, puoi utilizzare un'operazione `CopyObject`. Per ulteriori informazioni, consulta [Configurazione di una chiave bucket S3 a livello di oggetto](configuring-bucket-key-object.md) e [Utilizzo delle operazioni in batch per abilitare le chiavi S3 Bucket per SSE-KMS](batch-ops-copy-example-bucket-key.md).

Quando una chiave bucket S3 è abilitata per il bucket di origine o di destinazione, il contesto di crittografia sarà l'Amazon Resource Name (ARN) del bucket e non l'ARN dell'oggetto, ad esempio, `arn:aws:s3:::bucket_ARN`. Dovrai aggiornare le policy IAM per utilizzare l'ARN del bucket per il contesto di crittografia. Per ulteriori informazioni, consulta [Chiavi bucket S3 e replica](replication-config-for-kms-objects.md#bk-replication).

Negli esempi seguenti viene illustrato il funzionamento di una chiave bucket S3 con la replica. Per ulteriori informazioni, consulta [Replica di oggetti crittografati (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md). 

**Prerequisiti**  
Prima di configurare il bucket per utilizzare una chiave bucket S3, consulta [Modifiche alla nota prima dell'abilitazione di una chiave bucket S3](bucket-key.md#bucket-key-changes).

**Topics**

## Utilizzo della console S3
<a name="enable-bucket-key"></a>

Nella console S3, puoi abilitare o disabilitare una chiave bucket S3 per un bucket nuovo o esistente. Gli oggetti nella console S3 ereditano l'impostazione della chiave bucket S3 dalla configurazione del bucket. Quando abiliti una chiave bucket S3 per il bucket, i nuovi oggetti caricati nel bucket utilizzano una chiave bucket S3 per SSE-KMS. 

**Caricamento, copia o modifica di oggetti nei bucket che dispongono di una chiave bucket S3 abilitata**  
Se carichi, modifichi o copi un oggetto in un bucket con una chiave bucket S3 abilitata, le impostazioni della chiave bucket S3 per tale oggetto potrebbero essere aggiornate in modo da allinearsi alla configurazione del bucket.

Se un oggetto ha già una chiave bucket S3 abilitata, le impostazioni della chiave bucket S3 per quell'oggetto non cambiano quando si copia o si modifica l'oggetto. Tuttavia, se modifichi o copi un oggetto che non dispone di una chiave bucket S3 attivata e il bucket di destinazione ha una configurazione con una chiave bucket S3, l'oggetto eredita le impostazioni della chiave bucket S3 del bucket di destinazione. Ad esempio, se l'oggetto di origine non ha una chiave bucket S3 abilitata ma il bucket di destinazione ne ha una, una chiave bucket S3 è abilitata per l'oggetto.

**Abilitazione di una chiave bucket S3 quando si crea un nuovo bucket**

1. Accedi Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Seleziona **Crea bucket**. 

1. Inserisci il nome del bucket e scegli la tua Regione AWS. 

1. In **Crittografia predefinita**, scegli **Chiave AWS Key Management Service (SSE-KMS)** per **Tipo di chiave di crittografia**.

1. In **Chiave AWS KMS ** effettua una delle seguenti operazioni per scegliere la chiave KMS:
   + Per scegliere da un elenco di chiavi KMS disponibili, scegli **Scegli tra le tue AWS KMS keys**, quindi scegli la tua **chiave KMS** dall'elenco delle chiavi disponibili.

     In questo elenco vengono visualizzate sia la chiave Chiave gestita da AWS (`aws/s3`) che quella gestita dai clienti. Per ulteriori informazioni sulle chiavi gestite dai clienti, consulta [Customer keys and AWS keys](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) nella *AWS Key Management Service Developer Guide*.
   + Per specificare l'ARN della chiave KMS, scegli **Inserisci l'ARN della AWS KMS key ** e quindi specifica l'ARN della chiave KMS nel campo visualizzato. 
   + Per creare una nuova chiave gestita dal cliente nella AWS KMS console, scegli **Crea una chiave KMS**.

     Per ulteriori informazioni sulla creazione di una AWS KMS key, consulta [Creating Keys](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) nella *AWS Key Management Service Developer Guide*.

1. In **Chiave bucket** scegli **Abilita**. 

1. Scegliere **Create bucket (Crea bucket)**. 

   Amazon S3 crea il tuo bucket con una chiave bucket S3 abilitata. I nuovi oggetti caricati nel bucket utilizzeranno una chiave bucket S3. 

   Per disabilitare una chiave bucket S3, completa i passaggi precedenti e scegli **Disabilita**.

**Abilitazione di una chiave bucket S3 per un bucket esistente**

1. Apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Nell'elenco **Bucket** scegli il bucket per cui desideri abilitare una chiave bucket S3.

1. Scegliere la scheda **Properties (Proprietà)**.

1. In **Default encryption (Crittografia di default)**, scegliere **Edit (Modifica)**.

1. In **Crittografia predefinita**, scegli **Chiave AWS Key Management Service (SSE-KMS)** per **Tipo di chiave di crittografia**.

1. In **Chiave AWS KMS ** effettua una delle seguenti operazioni per scegliere la chiave KMS:
   + Per scegliere da un elenco di chiavi KMS disponibili, **scegli tra le tue AWS KMS keys**, quindi scegli la tua **chiave KMS** dall'elenco delle chiavi disponibili.

     In questo elenco vengono visualizzate sia la chiave Chiave gestita da AWS (`aws/s3`) che quella gestita dai clienti. Per ulteriori informazioni sulle chiavi gestite dai clienti, consulta [Customer keys and AWS keys](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) nella *AWS Key Management Service Developer Guide*.
   + Per specificare l'ARN della chiave KMS, scegli **Inserisci l'ARN della AWS KMS key ** e quindi specifica l'ARN della chiave KMS nel campo visualizzato. 
   + Per creare una nuova chiave gestita dal cliente nella AWS KMS console, scegli **Crea una chiave KMS**.

     Per ulteriori informazioni sulla creazione di una AWS KMS key, consulta [Creating Keys](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) nella *AWS Key Management Service Developer Guide*.

1. In **Chiave bucket** scegli **Abilita**. 

1. Seleziona **Salva modifiche**.

   Amazon S3 abilita una chiave bucket S3 per i nuovi oggetti aggiunti al tuo bucket. Gli oggetti esistenti non utilizzano la chiave bucket S3. Per configurare una chiave bucket S3 per gli oggetti esistenti, è possibile utilizzare un'operazione `CopyObject`. Per ulteriori informazioni, consulta [Configurazione di una chiave bucket S3 a livello di oggetto](configuring-bucket-key-object.md).

   Per disabilitare una chiave bucket S3, completa i passaggi precedenti e scegli **Disabilita**.

## Utilizzo dell'API REST
<a name="enable-bucket-key-rest"></a>

Puoi utilizzarla [PutBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)per abilitare o disabilitare una S3 Bucket Key per il tuo bucket. Per configurare una S3 Bucket Key con`PutBucketEncryption`, usa il tipo di [ServerSideEncryptionRule](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ServerSideEncryptionRule.html)dati, che include la crittografia predefinita con SSE-KMS. Puoi inoltre utilizzare una chiave gestita dal cliente specificando l'ID della chiave KMS per la chiave gestita dal cliente.  

Per ulteriori informazioni ed esempi di sintassi, consulta. [PutBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html) 

## Utilizzo dell' AWS SDK for Java
<a name="enable-bucket-key-sdk"></a>

Nell'esempio seguente viene abilitata la crittografia bucket predefinita con SSE-KMS e una chiave bucket S3 utilizzando la AWS SDK per Java.

------
#### [ Java ]

```
AmazonS3 s3client = AmazonS3ClientBuilder.standard()
    .withRegion(Regions.DEFAULT_REGION)
    .build();
    
ServerSideEncryptionByDefault serverSideEncryptionByDefault = new ServerSideEncryptionByDefault()
    .withSSEAlgorithm(SSEAlgorithm.KMS);
ServerSideEncryptionRule rule = new ServerSideEncryptionRule()
    .withApplyServerSideEncryptionByDefault(serverSideEncryptionByDefault)
    .withBucketKeyEnabled(true);
ServerSideEncryptionConfiguration serverSideEncryptionConfiguration =
    new ServerSideEncryptionConfiguration().withRules(Collections.singleton(rule));

SetBucketEncryptionRequest setBucketEncryptionRequest = new SetBucketEncryptionRequest()
    .withServerSideEncryptionConfiguration(serverSideEncryptionConfiguration)
    .withBucketName(bucketName);
            
s3client.setBucketEncryption(setBucketEncryptionRequest);
```

------

## Usando il AWS CLI
<a name="enable-bucket-key-cli"></a>

Nell'esempio seguente viene abilitata la crittografia bucket predefinita con SSE-KMS e una chiave bucket S3 utilizzando la AWS CLI. Sostituisci `user input placeholders` con le informazioni appropriate.

```
aws s3api put-bucket-encryption --bucket amzn-s3-demo-bucket --server-side-encryption-configuration '{
        "Rules": [
            {
                "ApplyServerSideEncryptionByDefault": {
                    "SSEAlgorithm": "aws:kms",
                    "KMSMasterKeyID": "KMS-Key-ARN"
                },
                "BucketKeyEnabled": true
            }
        ]
    }'
```

## Usando CloudFormation
<a name="enable-bucket-key-cloudformation"></a>

*Per ulteriori informazioni sulla configurazione di una S3 Bucket Key con CloudFormation, consulta [AWS::S3::Bucket ServerSideEncryptionRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionrule.html)la Guida per l'AWS CloudFormation utente.*

# Configurazione di una chiave bucket S3 a livello di oggetto
<a name="configuring-bucket-key-object"></a>

Quando esegui un'operazione PUT o COPY utilizzando l'API REST, oppure AWS SDKs AWS CLI, puoi abilitare o disabilitare una chiave S3 Bucket a livello di oggetto aggiungendo l'intestazione della `x-amz-server-side-encryption-bucket-key-enabled` richiesta con un valore or. `true` `false` S3 Bucket Keys riduce il costo della crittografia lato server utilizzando AWS Key Management Service (AWS KMS) (SSE-KMS) diminuendo il traffico delle richieste da Amazon S3 a. AWS KMS Per ulteriori informazioni, consulta [Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3](bucket-key.md). 

Quando configuri una chiave bucket S3 per un oggetto utilizzando un'operazione PUT o COPY, Amazon S3 aggiorna le impostazioni solo per quell'oggetto. Le impostazioni della chiave bucket S3 per il bucket di destinazione non cambiano. Se invii una richiesta PUT o COPY per un oggetto crittografato con KMS in un bucket con le chiavi di bucket S3 abilitate, l'operazione a livello di oggetto utilizzerà automaticamente le chiavi di bucket S3 a meno che non disabiliti le chiavi nell'intestazione della richiesta. Se non specifichi una chiave bucket S3 per il tuo oggetto, Amazon S3 applica le impostazioni della chiave bucket S3 per il bucket di destinazione all'oggetto.

**Prerequisito**  
Prima di configurare l'oggetto per utilizzare una chiave bucket S3, consulta [Modifiche alla nota prima dell'abilitazione di una chiave bucket S3](bucket-key.md#bucket-key-changes). 

**Topics**
+ [Operazioni in Batch Amazon S3](#bucket-key-object-bops)
+ [Utilizzo della REST API](#bucket-key-object-rest)
+ [Utilizzo dell' AWS SDK per Java PutObject ()](#bucket-key-object-sdk)
+ [Usando il AWS CLI () PutObject](#bucket-key-object-cli)

## Operazioni in Batch Amazon S3
<a name="bucket-key-object-bops"></a>

Per crittografare gli oggetti Amazon S3 esistenti, puoi utilizzare le operazioni in batch di Amazon S3. Fornisci alle operazioni in batch S3 un elenco di oggetti da utilizzare e le operazioni in batch chiamano la rispettiva API per eseguire l'operazione specifica. 

Puoi utilizzare l'operazione di [copia delle operazioni in batch S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops-copy-object.html) per copiare gli oggetti non crittografati esistenti e scriverli nello stesso bucket degli oggetti crittografati. Un solo processo di operazioni in batch può eseguire l'operazione specificata su miliardi di oggetti. Per ulteriori informazioni, consulta [Esecuzione di operazioni sugli oggetti in blocco con le operazioni in batch](batch-ops.md) e [Crittografia di oggetti con le operazioni in batch di Amazon S3](https://aws.amazon.com/blogs/storage/encrypting-objects-with-amazon-s3-batch-operations/).

## Utilizzo della REST API
<a name="bucket-key-object-rest"></a>

Quando utilizzi SSE-KMS, puoi abilitare una chiave bucket S3 per un oggetto utilizzando le seguenti operazioni API: 
+ [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)— Quando carichi un oggetto, puoi specificare l'intestazione della `x-amz-server-side-encryption-bucket-key-enabled` richiesta per abilitare o disabilitare una S3 Bucket Key a livello di oggetto. 
+ [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)— Quando copi un oggetto e configuri SSE-KMS, puoi specificare l'intestazione della `x-amz-server-side-encryption-bucket-key-enabled` richiesta per abilitare o disabilitare una S3 Bucket Key per il tuo oggetto. 
+ [POST Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html): quando esegui un'operazione `POST` per caricare un oggetto e configurare SSE-KMS, puoi utilizzare il campo del modulo `x-amz-server-side-encryption-bucket-key-enabled` per abilitare o disabilitare una chiave bucket S3 per l'oggetto.
+ [CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)— Quando carichi oggetti di grandi dimensioni utilizzando l'operazione `CreateMultipartUpload` API e configuri SSE-KMS, puoi utilizzare l'intestazione della `x-amz-server-side-encryption-bucket-key-enabled` richiesta per abilitare o disabilitare una S3 Bucket Key per il tuo oggetto.

Per abilitare una chiave bucket S3 a livello di oggetto, dovrai includere l'intestazione della richiesta `x-amz-server-side-encryption-bucket-key-enabled`. Per ulteriori informazioni su SSE-KMS e REST API, consulta la sezione [Utilizzo della REST API](specifying-kms-encryption.md#KMSUsingRESTAPI).

## Utilizzo dell' AWS SDK per Java PutObject ()
<a name="bucket-key-object-sdk"></a>

Il seguente esempio può essere utilizzato per configurare una chiave bucket S3 a livello di oggetto utilizzando AWS SDK per Java.

------
#### [ Java ]

```
AmazonS3 s3client = AmazonS3ClientBuilder.standard()
    .withRegion(Regions.DEFAULT_REGION)
    .build();

String bucketName = "amzn-s3-demo-bucket1";
String keyName = "key name for object";
String contents = "file contents";

PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, keyName, contents)
    .withBucketKeyEnabled(true);
    
s3client.putObject(putObjectRequest);
```

------

## Usando il AWS CLI () PutObject
<a name="bucket-key-object-cli"></a>

È possibile utilizzare il seguente AWS CLI esempio per configurare una S3 Bucket Key a livello di oggetto come parte di una `PutObject` richiesta.

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key object key name --server-side-encryption aws:kms --bucket-key-enabled --body filepath
```

# Visualizzazione delle impostazioni per una chiave bucket S3
<a name="viewing-bucket-key-settings"></a>

Puoi visualizzare le impostazioni per una chiave S3 Bucket a livello di bucket o oggetto utilizzando la console Amazon S3, l'API REST, AWS Command Line Interface () o.AWS CLI AWS SDKs

Le S3 Bucket Keys riducono il traffico delle richieste da Amazon S3 AWS KMS a (SSE-KMS) e riducono il costo della crittografia lato server. AWS Key Management Service Per ulteriori informazioni, consulta [Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3](bucket-key.md). 

Per visualizzare le impostazioni della chiave bucket S3 per un bucket o un oggetto che ha ereditato le impostazioni della chiave bucket S3 dalla configurazione del bucket, è necessaria l'autorizzazione per eseguire l'operazione `s3:GetEncryptionConfiguration`. Per ulteriori informazioni, consulta [GetBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service). 

## Utilizzo della console S3
<a name="bucket-key-settings"></a>

Nella console S3, puoi visualizzare le impostazioni della chiave bucket S3 per il bucket o l'oggetto. Le impostazioni della chiave bucket S3 vengono ereditate dalla configurazione del bucket a meno che gli oggetti di origine non dispongano già di una chiave bucket S3 configurata.

Oggetti e cartelle nello stesso bucket possono avere diverse impostazioni della chiave bucket S3. Ad esempio, se carichi un oggetto utilizzando REST API e abiliti una chiave bucket S3 per tale oggetto, questo manterrà l'impostazione della chiave bucket S3 nel bucket di destinazione anche se la chiave bucket S3 è disabilitata. Come altro esempio, se abiliti una chiave bucket S3 per un bucket esistente, gli oggetti già presenti nel bucket non utilizzeranno una chiave bucket S3. Tuttavia, i nuovi oggetti avranno una chiave bucket S3 abilitata. 

**Visualizzazione dell'impostazione della chiave bucket S3 per il bucket**

1. Accedi Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Buckets** (Bucket).

1. Nell'elenco **Bucket** scegli il bucket per cui desideri abilitare una chiave bucket S3.

1. Scegliere **Properties (Proprietà)**.

1. Nella sezione **Crittografia predefinita**, in **Chiave bucket**, viene visualizzata l'impostazione della chiave bucket S3 per il bucket.

   Se non riesci a visualizzare l'impostazione della chiave bucket S3, è possibile che non disponi dell'autorizzazione per eseguire l'operazione `s3:GetEncryptionConfiguration`. Per ulteriori informazioni, consulta [GetBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html) in *Amazon Simple Storage Service API Reference* (Guida di riferimento per l'API di Amazon Simple Storage Service). 

**Visualizzazione dell'impostazione della chiave bucket S3 per l'oggetto**

1. Accedi Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nell'elenco **Bucket** scegli il bucket per cui desideri abilitare una chiave bucket S3. 

1. Nell'elenco **Oggetti** scegli il nome dell'oggetto.

1. Nella scheda **Dettagli** , in **Impostazioni di crittografia lato server**, seleziona **Modifica**. 

   In **Chiave bucket** è visualizzata l'impostazione della chiave bucket S3 per l'oggetto. Non è possibile modificare questa impostazione. 

## Usando il AWS CLI
<a name="bucket-key-settings-cli"></a>

**Restituzione delle impostazioni della chiave bucket S3 a livello di bucket**  
Per usare questo comando, sostituire `user input placeholder` con le proprie informazioni.

```
aws s3api get-bucket-encryption --bucket amzn-s3-demo-bucket1
```

Per ulteriori informazioni, consulta [get-bucket-encryption](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-encryption.html) nella *documentazione di riferimento dei comandi della AWS CLI *.

**Restituzione delle impostazioni a livello di oggetto di una chiave bucket S3**  
Per usare questo comando, sostituire `user input placeholder` con le proprie informazioni.

```
aws s3api head-object --bucket amzn-s3-demo-bucket1 --key my_images.tar.bz2
```

Per ulteriori informazioni, consulta [head-object](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/head-object.html) in *Guida di riferimento dei comandi di AWS CLI *.

## Utilizzo della REST API
<a name="bucket-key-settings-rest"></a>

**Restituzione delle impostazioni della chiave bucket S3 a livello di bucket**  
Per restituire le informazioni di crittografia per un bucket, incluse le impostazioni per una chiave bucket S3, utilizza l'operazione `GetBucketEncryption`. Le impostazioni della chiave bucket S3 vengono restituite nel corpo della risposta nell'elemento `ServerSideEncryptionConfiguration` con l'impostazione `BucketKeyEnabled`. Per ulteriori informazioni, consulta [GetBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html) nella *documentazione di riferimento delle API di Amazon S3*. 

**Restituzione delle impostazioni a livello di oggetto per una chiave bucket S3**  
Per restituire lo stato della chiave bucket S3 per un oggetto, utilizza l'operazione `HeadObject`. `HeadObject` restituisce l'intestazione della risposta `x-amz-server-side-encryption-bucket-key-enabled` per mostrare se una chiave bucket S3 è abilitata o disabilitata per l'oggetto. Per ulteriori informazioni, consulta [HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html) nella *documentazione di riferimento delle API di Amazon S3*. 

Le seguenti operazioni delle API restituiscono l'intestazione della risposta `x-amz-server-side-encryption-bucket-key-enabled` anche se una chiave bucket S3 è configurata per un oggetto: 
+ [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) 
+ [PostObject](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) 
+ [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) 
+ [CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) 
+ [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html) 
+ [UploadPart](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) 
+ [CompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html) 
+ [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) 

# Utilizzo della crittografia lato server a due livelli con AWS KMS chiavi (DSSE-KMS)
<a name="UsingDSSEncryption"></a>

L'utilizzo della crittografia lato server a due livelli con AWS Key Management Service (AWS KMS) chiavi (DSSE-KMS) applica due livelli di crittografia agli oggetti quando vengono caricati su Amazon S3. DSSE-KMS consente di soddisfare più facilmente gli standard di conformità che richiedono l'applicazione della crittografia a più livelli ai dati e il pieno controllo delle chiavi di crittografia.

Il termine “doppio” in DSSE-KMS si riferisce a due livelli indipendenti di crittografia AES-256 applicati ai dati:
+ *Primo livello:* i dati vengono crittografati utilizzando una chiave di crittografia dei dati unica (DEK) generata da AWS KMS
+ *Secondo livello:* i dati già crittografati vengono crittografati nuovamente utilizzando una chiave di crittografia AES-256 separata gestita da Amazon S3

Questo comportamento differisce dallo standard SSE-KMS, che applica solo un singolo livello di crittografia. L’approccio a doppio livello offre una maggiore sicurezza garantendo che, anche se un livello di crittografia fosse compromesso, i dati rimangano protetti dal secondo livello. Questa sicurezza aggiuntiva comporta un aumento del sovraccarico di elaborazione e delle chiamate AWS KMS API, il che rappresenta il costo più elevato rispetto allo SSE-KMS standard. [Per ulteriori informazioni sui prezzi di DSSE-KMS, consulta i [AWS KMS key concetti](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) nella Guida per gli sviluppatori e i prezzi. AWS Key Management ServiceAWS KMS](https://aws.amazon.com/kms/pricing)

Quando usi DSSE-KMS con un bucket Amazon S3, AWS KMS le chiavi devono trovarsi nella stessa regione del bucket. Inoltre, quando per l'oggetto è richiesta la crittografia DSSE-KMS, il checksum S3 come parte dei metadati dell'oggetto viene archiviato in formato crittografato. Per ulteriori informazioni sui checksum, consulta [Verifica dell'integrità degli oggetti in Amazon S3](checking-object-integrity.md).

**Nota**  
Le chiavi bucket S3 non sono supportate per DSSE-KMS.

Le principali differenze tra DSSE-KMS e SSE-KMS standard sono:
+ **Livelli di crittografia:** DSSE-KMS applica due livelli indipendenti di crittografia AES-256, mentre lo standard SSE-KMS applica un solo livello
+ **Sicurezza:** DSSE-KMS offre una protezione avanzata contro potenziali vulnerabilità di crittografia
+ **Conformità:** DSSE-KMS consente di soddisfare i requisiti normativi che impongono la crittografia a più livelli
+ **Prestazioni:** DSSE-KMS ha una latenza leggermente superiore grazie all’ulteriore elaborazione della crittografia
+ **Costo:** DSSE-KMS comporta costi più elevati a causa dell'aumento del sovraccarico di calcolo e delle operazioni aggiuntive AWS KMS 

**Richiede la crittografia lato server a doppio livello con (DSSE-KMS) AWS KMS keys**  
Per richiedere la crittografia lato server a doppio livello di tutti gli oggetti in uno specifico bucket Amazon S3, è possibile utilizzare una policy del bucket. Ad esempio, la seguente policy del bucket rifiuta a chiunque l'autorizzazione al caricamento dell'oggetto (`s3:PutObject`) se la richiesta non include un'intestazione `x-amz-server-side-encryption` che richiede la crittografia lato server con DSSE-KMS.

------
#### [ JSON ]

****  

```
{
             "Version":"2012-10-17",		 	 	 
             "Id": "PutObjectPolicy",
             "Statement": [{
                   "Sid": "DenyUnEncryptedObjectUploads",
                   "Effect": "Deny",
                   "Principal": {
                       "AWS": "arn:aws:iam::111122223333:root"
                   },
                   "Action": "s3:PutObject",
                   "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
                   "Condition": {
                      "StringNotEquals": {
                         "s3:x-amz-server-side-encryption": "aws:kms:dsse"
                      }
                   }
                }
             ]
          }
```

------

**Topics**
+ [Specificazione della crittografia lato server a doppio livello con chiavi (DSSE-KMS) AWS KMS](specifying-dsse-encryption.md)

# Specificazione della crittografia lato server a doppio livello con chiavi (DSSE-KMS) AWS KMS
<a name="specifying-dsse-encryption"></a>

È possibile applicare la crittografia quando stai caricando un nuovo oggetto o copiando un oggetto esistente. 

È possibile specificare DSSE-KMS utilizzando la console Amazon S3, la REST API di Amazon S3 e la AWS Command Line Interface (AWS CLI). Per ulteriori informazioni, consulta i seguenti argomenti. 

**Nota**  
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 multiregione](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) nella *Guida per gli sviluppatori di AWS Key Management Service *.

**Nota**  
Se desideri utilizzare una chiave KMS di proprietà di un account diverso, devi avere l'autorizzazione necessaria per l'uso della chiave. Per ulteriori informazioni sulle autorizzazioni tra account per le chiavi KMS, vedi [Creazione di chiavi KMS utilizzabili da altri account](https://docs.aws.amazon.com//kms/latest/developerguide/key-policy-modifying-external-accounts.html#cross-account-console) nella *Guida per gli sviluppatori di AWS Key Management Service *. 

## Utilizzo della console S3
<a name="add-object-encryption-dsse"></a>

Questa sezione descrive come impostare o modificare il tipo di crittografia di un oggetto per utilizzare la crittografia lato server a doppio livello con AWS Key Management Service (AWS KMS) chiavi (DSSE-KMS) utilizzando la console Amazon S3.

**Nota**  
È possibile modificare la crittografia di un oggetto se l'oggetto è inferiore a 5 GB. Se l'oggetto è superiore a 5 GB, è necessario utilizzare o per modificare la [AWS CLI](mpu-upload-object.md#UsingCLImpUpload)crittografia di un oggetto. [AWS SDKs](CopyingObjectsMPUapi.md)
Per un elenco delle autorizzazioni aggiuntive necessarie per modificare la crittografia di un oggetto, consulta [Autorizzazioni necessarie per le operazioni API di Amazon S3](using-with-s3-policy-actions.md). Per esempi di policy che concedono questa autorizzazione, consulta [Esempi di policy basate sull'identità per Amazon S3](example-policies-s3.md).
Se si modifica la crittografia di un oggetto, viene creato un nuovo oggetto per sostituire quello precedente. Se è abilitata la funzione Controllo delle versioni S3, viene creata una nuova versione dell'oggetto e l'oggetto esistente diventa una versione precedente. Il ruolo che modifica la proprietà diventa anche il proprietario del nuovo oggetto o della versione dell'oggetto. 

**Per aggiungere o modificare la crittografia di un oggetto**

1. Accedi Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel riquadro di navigazione, scegli **Bucket**, quindi scegli la scheda **Bucket per uso generico**. Naviga al bucket o alla cartella Amazon S3 che contiene gli oggetti da modificare.

1. Seleziona la casella di controllo degli oggetti da modificare.

1. Nel menu **Azioni**, scegli **Modifica crittografia lato server** dall'elenco di opzioni visualizzato.

1. Scorrere fino alla sezione **Crittografia lato server**.

1. In **Impostazioni di crittografia**, scegli **Utilizza le impostazioni del bucket per la crittografia predefinita** o **Ignora le impostazioni del bucket per la crittografia predefinita**.

1. Se scegli **Sostituisci impostazioni del bucket per la crittografia predefinita**, configura le seguenti impostazioni di crittografia.

   1. In **Tipo di crittografia**, scegli Crittografia **lato server a doppio livello con AWS Key Management Service chiavi (DSSE-KMS**). 

   1. In **AWS KMS key**, esegui una delle seguenti operazioni per scegliere la chiave KMS:
      + Per scegliere da un elenco di chiavi KMS disponibili, seleziona **Scegli tra le chiavi AWS KMS keys**, quindi scegli la **chiave KMS** dall'elenco delle chiavi disponibili.

        In questo elenco vengono visualizzate sia la Chiave gestita da AWS chiave (`aws/s3`) che quella gestita dal cliente. Per ulteriori informazioni sulle chiavi gestite dal cliente, consulta [Chiavi gestite dal cliente e chiavi AWS](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) nella *Guida per gli sviluppatori di AWS Key Management Service *.
      + Per inserire l'ARN della chiave KMS, scegli **Inserisci AWS KMS key ARN**, quindi inserisci l'ARN della chiave KMS nel campo visualizzato. 
      + **Per creare una nuova chiave gestita dal cliente nella AWS KMS console, scegli Crea una chiave KMS.**

        Per ulteriori informazioni sulla creazione di una AWS KMS key, consulta [Creating keys](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) nella *AWS Key Management Service Developer Guide*.
**Importante**  
Puoi utilizzare solo le chiavi KMS disponibili nella stessa Regione AWS del bucket. La console Amazon S3 elenca solo le prime 100 chiavi KMS nella stessa Regione del bucket. Per utilizzare una chiave KMS non elencata, devi inserire l'ARN della chiave KMS. Se desideri utilizzare una chiave KMS di proprietà di un account diverso, è necessario innanzitutto disporre dell'autorizzazione necessaria per l'uso della chiave e quindi inserire l'ARN della chiave KMS.  
Amazon S3 supporta solo chiavi KMS di crittografia simmetriche e non chiavi KMS asimmetriche. Per ulteriori informazioni, consulta [Identificazione delle chiavi KMS asimmetriche](https://docs.aws.amazon.com//kms/latest/developerguide/find-symm-asymm.html) nella *Guida per gli sviluppatori di AWS Key Management Service *.

1. Per **Chiave bucket** scegli **Disabilita**. Le chiavi bucket S3 non sono supportate per DSSE-KMS.

1. In **Impostazioni di copia aggiuntive**, scegli se eseguire **Copia impostazioni dell'origine**, **Non specificare le impostazioni** o **Specifica le impostazioni**. **Copia impostazioni dell'origine** è l'opzione predefinita. Se desideri copiare solo l'oggetto senza gli attributi delle impostazioni dell'origine, scegli **Non specificare le impostazioni**. Scegliete **Specificate impostazioni** per specificare le impostazioni per la classe di archiviazione ACLs, i tag degli oggetti, i metadati, la crittografia lato server e i checksum aggiuntivi.

1. Scegli **Save changes** (Salva modifiche).

**Nota**  
Questa azione applica la crittografia a tutti gli oggetti specificati. Durante la crittografia delle cartelle, attendere il completamento dell'operazione di salvataggio prima di aggiungere nuovi oggetti alla cartella.

## Utilizzo della REST API
<a name="DSSEUsingRESTAPI"></a>

Quando crei un oggetto, ovvero quando carichi un nuovo oggetto o copi un oggetto esistente, puoi specificare l'uso della crittografia lato server a doppio livello con (DSSE-KMS) per crittografare i dati. AWS KMS keys Per fare ciò, aggiungi l'intestazione `x-amz-server-side-encryption` alla richiesta. Impostare il valore dell'intestazione sull'algoritmo di crittografia `aws:kms:dsse`. Amazon S3 conferma che l'oggetto è stato archiviato utilizzando la crittografia DSSE-KMS restituendo l'intestazione della risposta `x-amz-server-side-encryption`. 

Se specifichi l'intestazione `x-amz-server-side-encryption` con il valore `aws:kms:dsse`, puoi anche utilizzare le intestazioni di richiesta seguenti:
+ `x-amz-server-side-encryption-aws-kms-key-id: SSEKMSKeyId`
+ `x-amz-server-side-encryption-context: SSEKMSEncryptionContext`

**Topics**
+ [Operazioni REST API di Amazon S3 che supportano DSSE-KMS](#dsse-request-headers-kms)
+ [Contesto di crittografia (`x-amz-server-side-encryption-context`)](#s3-dsse-encryption-context)
+ [AWS KMS ID chiave () `x-amz-server-side-encryption-aws-kms-key-id`](#s3-dsse-key-id-api)

### Operazioni REST API di Amazon S3 che supportano DSSE-KMS
<a name="dsse-request-headers-kms"></a>

Le operazioni REST API seguenti accettano le intestazioni di richiesta `x-amz-server-side-encryption`, `x-amz-server-side-encryption-aws-kms-key-id` e `x-amz-server-side-encryption-context`.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html): quando carichi i dati utilizzando l'operazione API `PUT`, è possibile specificare queste intestazioni di richiesta. 
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html): quando copi un oggetto, disponi di un oggetto di origine e un oggetto di destinazione. Tuttavia, le intestazioni DSSE-KMS passate con l'operazione `CopyObject` vengono applicate solo all'oggetto di destinazione. Quando si copia un oggetto esistente, indipendentemente dal fatto che l'oggetto di origine sia stato o meno crittografato, l'oggetto di destinazione non viene crittografato, a meno che non si richieda esplicitamente la crittografia lato server.
+ [POST Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html): quando utilizzi un'operazione `POST` per caricare un oggetto, anziché le intestazioni di richiesta, specifica le stesse informazioni dei campi del modulo.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html): quando carichi oggetti di grandi dimensioni utilizzando il caricamento in più parti, puoi specificare queste intestazioni nella richiesta `CreateMultipartUpload`.

Quando un oggetto viene archiviato con la crittografia lato server, le intestazioni di risposta delle seguenti operazioni REST API restituiscono l'intestazione `x-amz-server-side-encryption`.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)
+ [POST Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html)

**Importante**  
Tutte `GET` le `PUT` richieste relative a un oggetto protetto da hanno AWS KMS esito negativo se non vengono effettuate utilizzando Secure Sockets Layer (SSL), Transport Layer Security (TLS) o Signature Version 4.
Se l'oggetto utilizza DSSE-KMS, non inviare intestazioni di richiesta di crittografia per le richieste `GET` e `HEAD` per evitare di ricevere un errore HTTP 400 (richiesta non valida).

### Contesto di crittografia (`x-amz-server-side-encryption-context`)
<a name="s3-dsse-encryption-context"></a>

Se si specifica `x-amz-server-side-encryption:aws:kms:dsse`, l'API Amazon S3 supporta un contesto di crittografia con l'intestazione `x-amz-server-side-encryption-context`. Un contesto di crittografia è un set di coppie chiave-valore che possono contenere ulteriori informazioni contestuali sui dati.

Amazon S3 utilizza automaticamente il nome della risorsa Amazon (ARN) dell'oggetto come coppia di contesto di crittografia; ad esempio, `arn:aws:s3:::object_ARN`.

Facoltativamente, è possibile fornire una coppia di contesto di crittografia aggiuntiva utilizzando l'intestazione `x-amz-server-side-encryption-context`. Tuttavia, poiché il contesto di crittografia non è crittografato, assicurati che non includa informazioni sensibili. Amazon S3 archivia questa coppia di chiavi aggiuntiva insieme al contesto di crittografia predefinito.

Per informazioni sul contesto di crittografia in Amazon S3, consulta la sezione [Contesto di crittografia](UsingKMSEncryption.md#encryption-context). Per informazioni generali sul contesto di crittografia, consulta [Concetti di AWS Key Management Service : Contesto di crittografia](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) nella *Guida per gli sviluppatori di AWS Key Management Service *. 

### AWS KMS ID chiave () `x-amz-server-side-encryption-aws-kms-key-id`
<a name="s3-dsse-key-id-api"></a>

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. Se specifichi l'`x-amz-server-side-encryption:aws:kms:dsse`intestazione ma non la `x-amz-server-side-encryption-aws-kms-key-id` fornisci, Amazon S3 utilizza `aws/s3` () per Chiave gestita da AWS proteggere i dati. Se desideri utilizzare una chiave gestita dal cliente, devi fornire l'intestazione `x-amz-server-side-encryption-aws-kms-key-id` della chiave gestita dal cliente.

**Importante**  
Quando utilizzi una AWS KMS key 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](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#symmetric-cmks) nella *Guida per gli sviluppatori di AWS Key Management Service *.

## Utilizzando il AWS CLI
<a name="DSSEUsingCLI"></a>

Quando carichi un nuovo oggetto o copi un oggetto esistente, puoi specificare l'uso di DSSE-KMS per crittografare i dati. Per farlo, aggiungi il parametro `--server-side-encryption aws:kms:dsse` alla richiesta. Usa il parametro `--ssekms-key-id example-key-id` per aggiungere la [chiave AWS KMS gestita dal cliente](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#customer-cmk) che hai creato. Se specifichi `--server-side-encryption aws:kms:dsse` ma non fornisci un ID di AWS KMS chiave, Amazon S3 utilizzerà la chiave AWS gestita ()`aws/s3`.

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key example-object-key --server-side-encryption aws:kms:dsse --ssekms-key-id example-key-id --body filepath
```

È possibile crittografare un oggetto non crittografato con DSSE-KMS copiando nuovamente l'oggetto nella sua posizione.

```
aws s3api copy-object --bucket amzn-s3-demo-bucket --key example-object-key --copy-source amzn-s3-demo-bucket/example-object-key --server-side-encryption aws:kms:dsse --ssekms-key-id example-key-id
```

# Utilizzo della crittografia lato server con chiavi fornite dal cliente (SSE-C)
<a name="ServerSideEncryptionCustomerKeys"></a>

La crittografia lato server consente di proteggere i dati inattivi. La crittografia lato server viene applicata solo ai dati dell'oggetto, non dei metadati dell'oggetto. Puoi utilizzare la crittografia lato server con chiavi fornite dal cliente (SSE-C) nei tuoi bucket generici per crittografare i dati con le tue chiavi di crittografia. Con la chiave di crittografia fornita come parte della richiesta, Amazon S3 gestisce la crittografia dei dati durante le operazioni di scrittura su disco e decrittografia dei dati quando viene eseguito l'accesso agli oggetti. Pertanto, non è necessario mantenere alcun codice per effettuare la crittografia e la decrittografia dei dati. L'unica cosa che rimane da fare è gestire le chiavi di crittografia fornite. 

La maggior parte dei casi d'uso moderni in Amazon S3 non utilizza più SSE-C perché manca la flessibilità della crittografia lato server con chiavi gestite di Amazon S3 (SSE-S3) o della crittografia lato server con chiavi KMS (SSE-KMS). AWS Il requisito di SSE-C di fornire la chiave di crittografia ogni volta che interagisci con i tuoi dati crittografati SSE-C rende poco pratico condividere la tua chiave SSE-C con altri utenti, ruoli o AWS servizi che leggono i dati dai tuoi bucket S3 per operare sui tuoi dati. A causa dell'ampio supporto per SSE-KMS in tutti i paesi AWS, la maggior parte dei carichi di lavoro moderni non utilizza la crittografia SSE-C perché manca della flessibilità di SSE-KMS. Per ulteriori informazioni [Utilizzo della crittografia lato server con chiavi (SSE-KMS) AWS KMS](UsingKMSEncryption.md) su SSE-KMS, consulta.

Se desideri impedire che la crittografia SSE-C venga utilizzata per gli oggetti scritti nel tuo bucket, puoi bloccare la crittografia SSE-C quando modifichi la configurazione di crittografia predefinita del bucket. Quando SSE-C viene bloccato per un bucket generico, tutte `PutObject` le richieste di caricamento o replica multipart che `CopyObject` specificano la `PostObject` crittografia SSE-C verranno rifiutate con un errore. `HTTP 403 AccessDenied` Per ulteriori informazioni sul blocco di SSE-C, consulta. [Blocco o sblocco di SSE-C per un bucket per uso generico](blocking-unblocking-s3-c-encryption-gpb.md)

Questa caratteristica non comporta costi supplementari per l'utilizzo di SSE-C. Tuttavia, le richieste di configurazione e utilizzo di SSE-C sono soggette alle tariffe standard delle richieste Amazon S3. Per informazioni sui prezzi, consulta [Prezzi di Amazon S3](https://aws.amazon.com/s3/pricing/).

**Importante**  
Come [annunciato il 19 novembre 2025,](https://aws.amazon.com/blogs/storage/advanced-notice-amazon-s3-to-disable-the-use-of-sse-c-encryption-by-default-for-all-new-buckets-and-select-existing-buckets-in-april-2026/) Amazon Simple Storage Service sta implementando una nuova impostazione di sicurezza predefinita per i bucket che disabilita automaticamente la crittografia lato server con chiavi fornite dal cliente (SSE-C) per tutti i nuovi bucket generici. Per i bucket esistenti senza oggetti crittografati SSE-C, Amazon S3 disabiliterà anche SSE-C per tutte le nuove richieste di scrittura. Account AWS Infatti, Account AWS con l'utilizzo di SSE-C, Amazon S3 non modificherà la configurazione di crittografia dei bucket su nessuno dei bucket esistenti in tali account. Questa implementazione è iniziata il 6 aprile 2026 e sarà completata nelle prossime settimane in 37 AWS regioni, tra cui AWS Cina e regioni AWS GovCloud (Stati Uniti).  
Con queste modifiche, le applicazioni che richiedono la crittografia SSE-C devono abilitare deliberatamente SSE-C utilizzando l'operazione [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)API dopo la creazione di un nuovo bucket. Per ulteriori informazioni su questa modifica, vedere. [Domande frequenti sull'impostazione SSE-C predefinita per i nuovi bucket](default-s3-c-encryption-setting-faq.md)

## Considerazioni prima di utilizzare SSE-C
<a name="considerations-before-using-sse-c"></a>
+ S3 non memorizza mai la chiave di crittografia quando si utilizza SSE-C. Devi fornire la chiave di crittografia ogni volta che vuoi che qualcuno scarichi i tuoi dati crittografati SSE-C da S3. 
  + L'utente gestisce una mappatura per tenere traccia della chiave di crittografia che è stata utilizzata per crittografare un determinato oggetto. L'utente è responsabile della tracciatura di ciascuna chiave di crittografia fornita per ogni determinato oggetto. Ciò significa anche che se perdi la chiave di crittografia, perdi l'oggetto. 
  + Dato che l'utente gestisce le chiavi di crittografia lato cliente, gestisce anche eventuali tutele aggiuntive, come la rotazione delle chiavi, lato cliente. 
  + Questo design può rendere difficile la condivisione della chiave SSE-C con altri utenti, ruoli o AWS servizi che gestisci sui tuoi dati. A causa dell'ampio supporto per SSE-KMS in tutti i paesi AWS, la maggior parte dei carichi di lavoro moderni non utilizza SSE-C perché non offre la flessibilità di SSE-KMS. [Per ulteriori informazioni su SSE-KMS, consulta Utilizzo della crittografia lato server con chiavi KMS (SSE-KMS). AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html) 
  + Ciò significa che gli oggetti crittografati con SSE-C non possono essere decrittografati nativamente dai servizi gestiti. AWS 
+ È necessario utilizzare HTTPS per specificare le intestazioni SSE-C nelle richieste.
  + Amazon S3 rifiuta qualsiasi richiesta effettuata su HTTP quando si utilizza SSE-C. Per motivi di sicurezza, è consigliabile considerare compromessa qualsiasi chiave inviata per errore tramite HTTP. Elimina la chiave ed esegui la rotazione come opportuno. 
+ Se il bucket è abilitato al controllo delle versioni, ogni versione dell'oggetto che carichi può avere una propria chiave di crittografia. L'utente è responsabile della tracciatura di ciascuna chiave di crittografia utilizzata per ogni determinato oggetto. 
+ SSE-C non è supportato nella console Amazon S3. Non è possibile utilizzare la console Amazon S3 per caricare un oggetto e specificare la crittografia SSE-C. Non è inoltre possibile utilizzare la console per aggiornare (ad esempio, cambiare la classe di storage o aggiungere metadati) un oggetto esistente archiviato utilizzando la crittografia SSE-C. 

**Topics**
+ [Considerazioni prima di utilizzare SSE-C](#considerations-before-using-sse-c)
+ [Specifica della crittografia lato server con chiavi fornite dal cliente (SSE-C)](specifying-s3-c-encryption.md)
+ [Blocco o sblocco di SSE-C per un bucket per uso generico](blocking-unblocking-s3-c-encryption-gpb.md)
+ [Domande frequenti sull'impostazione SSE-C predefinita per i nuovi bucket](default-s3-c-encryption-setting-faq.md)

# Specifica della crittografia lato server con chiavi fornite dal cliente (SSE-C)
<a name="specifying-s3-c-encryption"></a>

Per utilizzare la crittografia lato server con chiavi fornite dal cliente (SSE-C), assicurati innanzitutto che SSE-C non sia un tipo di crittografia bloccato nella configurazione di crittografia predefinita del bucket generico Amazon S3. Se bloccato, puoi abilitare questo tipo di crittografia aggiornando la configurazione di crittografia predefinita per il bucket. Quindi, puoi utilizzare SSE-C nelle tue richieste di caricamento passando le intestazioni richieste. Vedi [Azioni di Amazon S3 che supportano la scrittura di dati con SSE-C](#amazon-s3-actions-that-support-writing-data-with-sse-c) e assicurati di includere il. [Le intestazioni API S3 sono necessarie per le richieste di crittografia e decrittografia degli oggetti SSE-C](#s3-api-headers-required-for-sse-c-object-encryption-and-decryption-requests) 

Quando carichi un oggetto che specifica SSE-C, Amazon S3 utilizza la chiave di crittografia che fornisci per applicare la crittografia AES-256 ai tuoi dati. Amazon S3 rimuove quindi la chiave di crittografia dalla memoria. Quando viene recuperato un oggetto, è necessario fornire la stessa chiave di crittografia come parte della richiesta. Amazon S3 verifica prima che la chiave di crittografia fornita corrisponda, quindi esegue la decrittografia dell'oggetto prima di restituire i relativi dati. 

Prima di utilizzare SSE-C, assicurati di aver esaminato il. [Considerazioni prima di utilizzare SSE-C](ServerSideEncryptionCustomerKeys.md#considerations-before-using-sse-c)

**Nota**  
Amazon S3 non archivia le chiavi di crittografia fornite. Archivia invece un valore per il codice di autenticazione dei messaggi basato su hash (HMAC) con salting casuale della chiave di crittografia per convalidare le richieste future. Il valore HMAC con l'introduzione di un sale non può essere utilizzato per derivare il valore della chiave di crittografia o per decrittografare i contenuti dell'oggetto crittografato. Ciò significa che se si perde la chiave di crittografia, si perde l'oggetto.

**Topics**
+ [Azioni SSE-C e intestazioni obbligatorie](#sse-c-actions-and-required-headers)
+ [Esempio di policy bucket per applicare la crittografia SSE-C](#example-bucket-policy-to-enforce-sse-c-encryption)
+ [Presigned e SSE-C URLs](#ssec-and-presignedurl)
+ [Effettuare richieste con SSE-C](#making-requests-with-sse-c)
+ [Utilizzo della REST API](#using-rest-api-sse-c)
+ [Utilizzando AWS SDKs per specificare SSE-C per le operazioni PUT, GET, Head e Copy](#sse-c-using-sdks)
+ [Utilizzo di AWS SDKs per specificare SSE-C per caricamenti in più parti](#sse-c-using-sdks-multipart-uploads)

## Azioni SSE-C e intestazioni obbligatorie
<a name="sse-c-actions-and-required-headers"></a>

Specificare SSE-C su S3 supportato richiede il passaggio di parametri di richiesta specifici. APIs 

**Nota**  
L'`PutBucketEncryption`API in Amazon S3 viene utilizzata per configurare la crittografia lato server predefinita per un bucket. Tuttavia, non `PutBucketEncryption` supporta l'attivazione di SSE-C come metodo di crittografia predefinito per un bucket. SSE-C è un metodo di crittografia a livello di oggetto in cui fornisci la chiave di crittografia ad Amazon S3 con ogni richiesta di caricamento o download di oggetti. Amazon S3 utilizza questa chiave per crittografare o decrittografare l'oggetto durante la richiesta e quindi scarta la chiave. Ciò significa che SSE-C è abilitato per ogni oggetto, non come impostazione predefinita del bucket. 

### Azioni di Amazon S3 che supportano la scrittura di dati con SSE-C
<a name="amazon-s3-actions-that-support-writing-data-with-sse-c"></a>

Puoi richiedere la crittografia lato server con chiavi fornite dal cliente (SSE-C) quando scrivi oggetti in un bucket generico utilizzando le seguenti operazioni o azioni API: 
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)

**Nota**  
S3 Replication supporta gli oggetti crittografati con SSE-C. Per ulteriori informazioni sulla replica di oggetti crittografati, consulta [Replica di oggetti crittografati (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md). 

### Le intestazioni API S3 sono necessarie per le richieste di crittografia e decrittografia degli oggetti SSE-C
<a name="s3-api-headers-required-for-sse-c-object-encryption-and-decryption-requests"></a>

È necessario fornire le seguenti tre intestazioni API per crittografare o decrittografare gli oggetti con SSE-C: 
+ `x-amz-server-side-encryption-customer-algorithm`Utilizzate questa intestazione per specificare l'algoritmo di crittografia. Il valore dell'intestazione deve essere AES256.
+ `x-amz-server-side-encryption-customer-key`Usa questa intestazione per fornire la chiave di crittografia a 256 bit con codifica base64 per Amazon S3 da utilizzare per crittografare o decrittografare i dati.
+ `x-amz-server-side-encryption-customer-key-MD5`Usa questa intestazione per fornire il digest a 128 bit con codifica Base64 della chiave di crittografia secondo RFC 1321. MD5 Amazon S3 utilizza questa intestazione per il controllo dell'integrità del messaggio per accertarsi che la chiave di crittografia sia stata trasmessa senza errori.

### Le intestazioni API S3 sono necessarie per le richieste di copia di oggetti di origine crittografati con SSE-C
<a name="s3-api-headers-required-for-requests-to-copy-source-objects-encrypted-with-sse-c"></a>

È necessario fornire le seguenti tre intestazioni API per copiare gli oggetti di origine crittografati con SSE-C: 
+ `x-amz-copy-source-server-side-encryption-customer-algorithm`Includi questa intestazione per specificare l'algoritmo che Amazon S3 deve utilizzare per decrittografare l'oggetto sorgente. Questo valore deve essere AES256.
+ `x-amz-copy-source-server-side-encryption-customer-key`Includi questa intestazione per fornire la chiave di crittografia con codifica Base64 per Amazon S3 da utilizzare per decrittografare l'oggetto sorgente. Questa chiave di crittografia deve essere quella fornita ad Amazon S3 quando è stato creato l'oggetto di origine. In caso contrario, Amazon S3 non riesce a decrittare l'oggetto.
+ `x-amz-copy-source-server-side-encryption-customer-key-MD5`Includi questa intestazione per fornire il digest a 128 bit con codifica Base64 della chiave di crittografia secondo RFC 1321. MD5 

## Esempio di policy bucket per applicare la crittografia SSE-C
<a name="example-bucket-policy-to-enforce-sse-c-encryption"></a>

Per richiedere SSE-C per tutti gli oggetti scritti in un bucket Amazon S3, puoi utilizzare una policy sui bucket. Ad esempio, la seguente policy del bucket rifiuta l'autorizzazione per il caricamento di oggetti (`s3:PutObject`) per tutte le richieste che non includono l'intestazione `x-amz-server-side-encryption-customer-algorithm` che richiede di SSE-C. 

```
{  
"Version":"2012-10-17",		 	 	                      
    "Id": "PutObjectPolicy",  
    "Statement": [  
        {  
"Sid": "RequireSSECObjectUploads",  
            "Effect": "Deny",  
            "Principal": "*",  
            "Action": "s3:PutObject",  
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",  
            "Condition": {  
            "Null": {  
              "s3:x-amz-server-side-encryption-customer-algorithm": "true"  
                }  
            }  
        }  
    ]  
}
```

**Importante**  
Se utilizzi una policy bucket per richiedere l'attivazione di SSE-C`s3:PutObject`, devi includere l'`x-amz-server-side-encryption-customer-algorithm`intestazione in tutte le richieste di caricamento in più parti (, e). CreateMultipartUpload UploadPart CompleteMultipartUpload 

## Presigned e SSE-C URLs
<a name="ssec-and-presignedurl"></a>

È possibile generare un URL prefirmato che possa essere utilizzato per operazioni quali il caricamento di un nuovo oggetto, il recupero di un oggetto esistente o dei metadata di un oggetto. URLsSupporto predefinito SSE-C come segue:
+ Quando viene creato un URL prefirmato, è necessario specificare l'algoritmo utilizzando l'intestazione `x-amz-server-side-encryption-customer-algorithm` nel calcolo della firma.
+ Quando viene utilizzato l'URL prefirmato per il caricamento di un nuovo oggetto, il recupero di un oggetto esistente o solo dei metadata di un oggetto, è necessario fornire tutte le intestazioni di crittografia nella richiesta dell'applicazione client. 
**Nota**  
Per non-SSE-C gli oggetti, puoi generare un URL predefinito e incollarlo direttamente in un browser per accedere ai dati.   
Tuttavia, ciò non è possibile per gli oggetti SSE-C poiché oltre all'URL prefirmato, è anche necessario includere le intestazioni HTTP specifiche degli oggetti SSE-C. Pertanto, è possibile utilizzare presigned URLs for SSE-C oggetti solo a livello di codice.

Per ulteriori informazioni su presigned, vedere. URLs [Scarica e carica oggetti con presigned URLs](using-presigned-url.md)

## Effettuare richieste con SSE-C
<a name="making-requests-with-sse-c"></a>

 Al momento della creazione di oggetti con REST API, è possibile specificare la crittografia lato server con le chiavi fornite dal cliente (SSE-C). Quando si utilizza SSE-C, è necessario fornire informazioni sulla chiave di crittografia utilizzando. [Le intestazioni API S3 sono necessarie per le richieste di copia di oggetti di origine crittografati con SSE-C](#s3-api-headers-required-for-requests-to-copy-source-objects-encrypted-with-sse-c) Puoi utilizzare le librerie wrapper AWS SDK per aggiungere queste intestazioni alla tua richiesta. Se necessario, è possibile anche effettuare le chiamate REST API di Amazon S3 direttamente nell'applicazione.

**Importante**  
Prima di specificare la crittografia lato server con chiavi fornite dal cliente (SSE-C), assicurati che la crittografia SSE-C non sia bloccata per il tuo bucket generico. Per ulteriori informazioni, consulta [Blocco o sblocco di SSE-C per un bucket per uso generico](blocking-unblocking-s3-c-encryption-gpb.md).

**Nota**  
Non puoi utilizzare la console Amazon S3 per caricare un oggetto e richiedere SSE-C. Inoltre, non è possibile utilizzare la console per aggiornare (ad esempio, modificare la classe di storage o aggiungere metadati) un oggetto esistente archiviato utilizzando SSE-C. Per ulteriori informazioni, vedere. [Le intestazioni API S3 sono necessarie per le richieste di crittografia e decrittografia degli oggetti SSE-C](#s3-api-headers-required-for-sse-c-object-encryption-and-decryption-requests) 

## Utilizzo della REST API
<a name="using-rest-api-sse-c"></a>

### Amazon S3 REST APIs che supporta SSE-C
<a name="sse-c-supported-apis"></a>

I seguenti Amazon S3 APIs supportano la crittografia lato server con chiavi di crittografia fornite dal cliente (SSE-C).
+ **Operazione GET**: quando si recuperano oggetti utilizzando l'API GET (consulta l'argomento relativo all'[operazione GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html)), è possibile specificare le intestazioni di richiesta.
+ **Operazione HEAD**: per recuperare i metadati dell'oggetto utilizzando l'API HEAD (consulta l'argomento relativo all'[operazione HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectHEAD.html)), è possibile specificare queste intestazioni di richiesta.
+ **Operazione PUT**: quando si caricano dati utilizzando l'API PUT (consulta l'argomento relativo all'[operazione PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html)), è possibile specificare queste intestazioni di richiesta. 
+ **Caricamento in più parti**: quando si caricano oggetti di grandi dimensioni utilizzando l'API per il caricamento in più parti, è possibile specificare queste intestazioni. [Queste intestazioni vengono specificate nella richiesta di avvio (vedi Avvio del caricamento [multiparte) e in ogni richiesta di caricamento di parti successiva (vedi Upload](https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadInitiate.html) Part o). [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadUploadPartCopy.html)](https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadUploadPart.html) Per ogni richiesta di caricamento di parte, le informazioni della crittografia devono essere uguali a quelle specificate nella richiesta di avvio di caricamento in più parti.
+ **Operazione POST**: quando si utilizza un'operazione POST per caricare un oggetto (consulta l'argomento relativo all'[oggetto POST](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html)), anziché nelle intestazioni di richiesta, è necessario specificare le stesse informazioni nei campi del modulo.
+ **Operazione di copia**: quando copi un oggetto (vedi [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)), hai sia un oggetto di origine che un oggetto di destinazione:
  + Se si desidera specificare il tipo di crittografia dell'oggetto di destinazione, è necessario fornire l'intestazione della `x-amz-server-side-encryption ` richiesta.
  + Se desideri che l'oggetto di destinazione sia crittografato utilizzando SSE-C, devi fornire informazioni di crittografia utilizzando l'API S3. [Le intestazioni API S3 sono necessarie per le richieste di crittografia e decrittografia degli oggetti SSE-C](#s3-api-headers-required-for-sse-c-object-encryption-and-decryption-requests)
  + Se l'oggetto di origine è crittografato utilizzando SSE-C, devi fornire le informazioni sulla chiave di crittografia utilizzando le intestazioni dell'API S3. [Le intestazioni API S3 sono necessarie per le richieste di copia di oggetti di origine crittografati con SSE-C](#s3-api-headers-required-for-requests-to-copy-source-objects-encrypted-with-sse-c)

## Utilizzando AWS SDKs per specificare SSE-C per le operazioni PUT, GET, Head e Copy
<a name="sse-c-using-sdks"></a>

Nel seguente esempio viene mostrato come richiedere la crittografia lato server con chiavi fornite dal cliente (SSE-C) per gli oggetti. Negli esempi vengono eseguite le operazioni riportate di seguito. Ogni operazione mostra come specificare le SSE-C-related intestazioni nella richiesta:
+ **Put object**: consente di caricare un oggetto e richiedere la crittografia lato server utilizzando la chiave di crittografia fornita dal cliente.
+ **Get object**: consente di scaricare l'oggetto caricato durante la fase precedente. Nella richiesta, vengono fornite le stesse informazioni di crittografia specificate quando è stato caricato l'oggetto. per consentire ad Amazon S3 di decrittare l'oggetto e di restituirlo.
+ **Get object metadata**: consente di recuperare i metadati dell'oggetto. Fornire le stesse informazioni di crittografia utilizzate quando l'oggetto è stato creato.
+ **Copy object**: consente di creare una copia dell'oggetto caricato in precedenza. Poiché l'oggetto di origine è stato archiviato utilizzando la chiave SSE-C, è necessario fornire le relative informazioni di crittografia nella richiesta di copia. Per impostazione predefinita, Amazon S3 esegue la crittografia dell'oggetto solo se richiesta esplicitamente. In questo esempio, Amazon S3 viene configurato per archiviare una copia crittografata dell'oggetto.

------
#### [ Java ]

**Nota**  
In questo esempio viene illustrato come caricare un oggetto in un'unica operazione. Quando si utilizza l'API per il caricamento in più parti per caricare oggetti di grandi dimensioni, fornire le informazioni di crittografia nello stesso modo mostrato in questo esempio. Per esempi di caricamenti in più parti che utilizzano il AWS SDK per Java, consulta. [Caricamento di un oggetto utilizzando il caricamento in più parti](mpu-upload-object.md)

Per aggiungere le informazioni di crittografia richieste, includere `SSECustomerKey` nella richiesta. Per ulteriori informazioni sulla classe `SSECustomerKey`, consulta la sezione relativa a REST API.

Per istruzioni su come creare e testare un esempio funzionante, consulta [Getting Started](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/getting-started.html) nella AWS SDK per Java Developer Guide.

**Example**  

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.SdkClientException;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.*;

import javax.crypto.KeyGenerator;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;

public class ServerSideEncryptionUsingClientSideEncryptionKey {
    private static SSECustomerKey SSE_KEY;
    private static AmazonS3 S3_CLIENT;
    private static KeyGenerator KEY_GENERATOR;

    public static void main(String[] args) throws IOException, NoSuchAlgorithmException {
        Regions clientRegion = Regions.DEFAULT_REGION;
        String bucketName = "*** Bucket name ***";
        String keyName = "*** Key name ***";
        String uploadFileName = "*** File path ***";
        String targetKeyName = "*** Target key name ***";

        // Create an encryption key.
        KEY_GENERATOR = KeyGenerator.getInstance("AES");
        KEY_GENERATOR.init(256, new SecureRandom());
        SSE_KEY = new SSECustomerKey(KEY_GENERATOR.generateKey());

        try {
            S3_CLIENT = AmazonS3ClientBuilder.standard()
                    .withCredentials(new ProfileCredentialsProvider())
                    .withRegion(clientRegion)
                    .build();

            // Upload an object.
            uploadObject(bucketName, keyName, new File(uploadFileName));

            // Download the object.
            downloadObject(bucketName, keyName);

            // Verify that the object is properly encrypted by attempting to retrieve it
            // using the encryption key.
            retrieveObjectMetadata(bucketName, keyName);

            // Copy the object into a new object that also uses SSE-C.
            copyObject(bucketName, keyName, targetKeyName);
        } catch (AmazonServiceException e) {
            // The call was transmitted successfully, but Amazon S3 couldn't process
            // it, so it returned an error response.
            e.printStackTrace();
        } catch (SdkClientException e) {
            // Amazon S3 couldn't be contacted for a response, or the client
            // couldn't parse the response from Amazon S3.
            e.printStackTrace();
        }
    }

    private static void uploadObject(String bucketName, String keyName, File file) {
        PutObjectRequest putRequest = new PutObjectRequest(bucketName, keyName, file).withSSECustomerKey(SSE_KEY);
        S3_CLIENT.putObject(putRequest);
        System.out.println("Object uploaded");
    }

    private static void downloadObject(String bucketName, String keyName) throws IOException {
        GetObjectRequest getObjectRequest = new GetObjectRequest(bucketName, keyName).withSSECustomerKey(SSE_KEY);
        S3Object object = S3_CLIENT.getObject(getObjectRequest);

        System.out.println("Object content: ");
        displayTextInputStream(object.getObjectContent());
    }

    private static void retrieveObjectMetadata(String bucketName, String keyName) {
        GetObjectMetadataRequest getMetadataRequest = new GetObjectMetadataRequest(bucketName, keyName)
                .withSSECustomerKey(SSE_KEY);
        ObjectMetadata objectMetadata = S3_CLIENT.getObjectMetadata(getMetadataRequest);
        System.out.println("Metadata retrieved. Object size: " + objectMetadata.getContentLength());
    }

    private static void copyObject(String bucketName, String keyName, String targetKeyName)
            throws NoSuchAlgorithmException {
        // Create a new encryption key for target so that the target is saved using
        // SSE-C.
        SSECustomerKey newSSEKey = new SSECustomerKey(KEY_GENERATOR.generateKey());

        CopyObjectRequest copyRequest = new CopyObjectRequest(bucketName, keyName, bucketName, targetKeyName)
                .withSourceSSECustomerKey(SSE_KEY)
                .withDestinationSSECustomerKey(newSSEKey);

        S3_CLIENT.copyObject(copyRequest);
        System.out.println("Object copied");
    }

    private static void displayTextInputStream(S3ObjectInputStream input) throws IOException {
        // Read one line at a time from the input stream and display each line.
        BufferedReader reader = new BufferedReader(new InputStreamReader(input));
        String line;
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }
        System.out.println();
    }
}
```

------
#### [ .NET ]

**Nota**  
Per esempi di caricamento di oggetti di grandi dimensioni utilizzando l'API per il caricamento in più parti, consulta [Caricamento di un oggetto utilizzando il caricamento in più parti](mpu-upload-object.md) e [Utilizzo dell'API (di basso livello AWS SDKs )](mpu-upload-object.md#mpu-upload-low-level).

Per informazioni sulla configurazione e l'esecuzione degli esempi di codice, consulta [Getting Started with the AWS SDK for .NET nella AWS SDK for](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/net-dg-setup.html) .NET *Developer Guide*. 

**Example**  

```
using Amazon;
using Amazon.S3;
using Amazon.S3.Model;
using System;
using System.IO;
using System.Security.Cryptography;
using System.Threading.Tasks;

namespace Amazon.DocSamples.S3
{
    class SSEClientEncryptionKeyObjectOperationsTest
    {
        private const string bucketName = "*** bucket name ***"; 
        private const string keyName = "*** key name for new object created ***"; 
        private const string copyTargetKeyName = "*** key name for object copy ***";
        // Specify your bucket region (an example region is shown).
        private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2;
        private static IAmazonS3 client;

        public static void Main()
        {
            client = new AmazonS3Client(bucketRegion);
            ObjectOpsUsingClientEncryptionKeyAsync().Wait();
        }
        private static async Task ObjectOpsUsingClientEncryptionKeyAsync()
        {
            try
            {
                // Create an encryption key.
                Aes aesEncryption = Aes.Create();
                aesEncryption.KeySize = 256;
                aesEncryption.GenerateKey();
                string base64Key = Convert.ToBase64String(aesEncryption.Key);

                // 1. Upload the object.
                PutObjectRequest putObjectRequest = await UploadObjectAsync(base64Key);
                // 2. Download the object and verify that its contents matches what you uploaded.
                await DownloadObjectAsync(base64Key, putObjectRequest);
                // 3. Get object metadata and verify that the object uses AES-256 encryption.
                await GetObjectMetadataAsync(base64Key);
                // 4. Copy both the source and target objects using server-side encryption with 
                //    a customer-provided encryption key.
                await CopyObjectAsync(aesEncryption, base64Key);
            }
            catch (AmazonS3Exception e)
            {
                Console.WriteLine("Error encountered ***. Message:'{0}' when writing an object", e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message);
            }
        }

        private static async Task<PutObjectRequest> UploadObjectAsync(string base64Key)
        {
            PutObjectRequest putObjectRequest = new PutObjectRequest
            {
                BucketName = bucketName,
                Key = keyName,
                ContentBody = "sample text",
                ServerSideEncryptionCustomerMethod = ServerSideEncryptionCustomerMethod.AES256,
                ServerSideEncryptionCustomerProvidedKey = base64Key
            };
            PutObjectResponse putObjectResponse = await client.PutObjectAsync(putObjectRequest);
            return putObjectRequest;
        }
        private static async Task DownloadObjectAsync(string base64Key, PutObjectRequest putObjectRequest)
        {
            GetObjectRequest getObjectRequest = new GetObjectRequest
            {
                BucketName = bucketName,
                Key = keyName,
                // Provide encryption information for the object stored in Amazon S3.
                ServerSideEncryptionCustomerMethod = ServerSideEncryptionCustomerMethod.AES256,
                ServerSideEncryptionCustomerProvidedKey = base64Key
            };

            using (GetObjectResponse getResponse = await client.GetObjectAsync(getObjectRequest))
            using (StreamReader reader = new StreamReader(getResponse.ResponseStream))
            {
                string content = reader.ReadToEnd();
                if (String.Compare(putObjectRequest.ContentBody, content) == 0)
                    Console.WriteLine("Object content is same as we uploaded");
                else
                    Console.WriteLine("Error...Object content is not same.");

                if (getResponse.ServerSideEncryptionCustomerMethod == ServerSideEncryptionCustomerMethod.AES256)
                    Console.WriteLine("Object encryption method is AES256, same as we set");
                else
                    Console.WriteLine("Error...Object encryption method is not the same as AES256 we set");

                // Assert.AreEqual(putObjectRequest.ContentBody, content);
                // Assert.AreEqual(ServerSideEncryptionCustomerMethod.AES256, getResponse.ServerSideEncryptionCustomerMethod);
            }
        }
        private static async Task GetObjectMetadataAsync(string base64Key)
        {
            GetObjectMetadataRequest getObjectMetadataRequest = new GetObjectMetadataRequest
            {
                BucketName = bucketName,
                Key = keyName,

                // The object stored in Amazon S3 is encrypted, so provide the necessary encryption information.
                ServerSideEncryptionCustomerMethod = ServerSideEncryptionCustomerMethod.AES256,
                ServerSideEncryptionCustomerProvidedKey = base64Key
            };

            GetObjectMetadataResponse getObjectMetadataResponse = await client.GetObjectMetadataAsync(getObjectMetadataRequest);
            Console.WriteLine("The object metadata show encryption method used is: {0}", getObjectMetadataResponse.ServerSideEncryptionCustomerMethod);
            // Assert.AreEqual(ServerSideEncryptionCustomerMethod.AES256, getObjectMetadataResponse.ServerSideEncryptionCustomerMethod);
        }
        private static async Task CopyObjectAsync(Aes aesEncryption, string base64Key)
        {
            aesEncryption.GenerateKey();
            string copyBase64Key = Convert.ToBase64String(aesEncryption.Key);

            CopyObjectRequest copyRequest = new CopyObjectRequest
            {
                SourceBucket = bucketName,
                SourceKey = keyName,
                DestinationBucket = bucketName,
                DestinationKey = copyTargetKeyName,
                // Information about the source object's encryption.
                CopySourceServerSideEncryptionCustomerMethod = ServerSideEncryptionCustomerMethod.AES256,
                CopySourceServerSideEncryptionCustomerProvidedKey = base64Key,
                // Information about the target object's encryption.
                ServerSideEncryptionCustomerMethod = ServerSideEncryptionCustomerMethod.AES256,
                ServerSideEncryptionCustomerProvidedKey = copyBase64Key
            };
            await client.CopyObjectAsync(copyRequest);
        }
    }
}
```

------

## Utilizzo di AWS SDKs per specificare SSE-C per caricamenti in più parti
<a name="sse-c-using-sdks-multipart-uploads"></a>

L'esempio nella sezione precedente mostra come richiedere la crittografia lato server con la chiave fornita dal cliente (SSE-C) nelle operazioni PUT, GET, Head e Copy. Questa sezione descrive altri Amazon S3 APIs che supportano SSE-C.

------
#### [ Java ]

Per caricare oggetti di grandi dimensioni, puoi utilizzare il caricamento in più parti. APIs Per ulteriori informazioni, consulta [Caricamento e copia di oggetti utilizzando il caricamento multiparte in Amazon S3](mpuoverview.md). Puoi utilizzare sia il livello alto che il livello basso APIs per caricare oggetti di grandi dimensioni. Questi APIs supportano le intestazioni relative alla crittografia nella richiesta.
+ Quando si utilizza l'`TransferManager`API di alto livello, si forniscono le intestazioni specifiche per la crittografia in. `PutObjectRequest` Per ulteriori informazioni, consulta [Caricamento di un oggetto utilizzando il caricamento in più parti](mpu-upload-object.md). 
+ Quando si utilizza l'API di basso livello, è necessario fornire informazioni correlate alla crittografia nella `InitiateMultipartUploadRequest`, seguite da informazioni di crittografia identiche in ogni `UploadPartRequest`. Non è necessario fornire alcuna intestazione specifica della crittografia nella `CompleteMultipartUploadRequest`. Per alcuni esempi, consulta [Utilizzo dell'API (di basso livello AWS SDKs )](mpu-upload-object.md#mpu-upload-low-level). 

Nel seguente esempio viene utilizzato `TransferManager` per creare gli oggetti e viene illustrato come fornire le informazioni correlate alla chiave SSE-C. Inoltre, vengono effettuate le seguenti operazioni:
+ Viene creato un oggetto utilizzando il metodo `TransferManager.upload()`. Nel `PutObjectRequest` caso, fornisci le informazioni sulla chiave di crittografia nella richiesta. Amazon S3 esegue la crittografia dell'oggetto utilizzando la chiave fornita dal cliente.
+ Viene eseguita una copia dell'oggetto richiamando il metodo `TransferManager.copy()`. Nell'esempio Amazon S3 viene configurato per crittografare la copia dell'oggetto utilizzando una nuova `SSECustomerKey`. Poiché l'oggetto di origine è crittografato tramite la chiave SSE-C, `CopyObjectRequest` fornisce anche la chiave di crittografia dell'oggetto di origine in modo che Amazon S3 possa decrittare l'oggetto prima di copiarlo. 

**Example**  

```
import com.amazonaws.AmazonServiceException;
import com.amazonaws.SdkClientException;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.CopyObjectRequest;
import com.amazonaws.services.s3.model.PutObjectRequest;
import com.amazonaws.services.s3.model.SSECustomerKey;
import com.amazonaws.services.s3.transfer.Copy;
import com.amazonaws.services.s3.transfer.TransferManager;
import com.amazonaws.services.s3.transfer.TransferManagerBuilder;
import com.amazonaws.services.s3.transfer.Upload;

import javax.crypto.KeyGenerator;
import java.io.File;
import java.security.SecureRandom;

public class ServerSideEncryptionCopyObjectUsingHLwithSSEC {

    public static void main(String[] args) throws Exception {
        Regions clientRegion = Regions.DEFAULT_REGION;
        String bucketName = "*** Bucket name ***";
        String fileToUpload = "*** File path ***";
        String keyName = "*** New object key name ***";
        String targetKeyName = "*** Key name for object copy ***";

        try {
            AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
                    .withRegion(clientRegion)
                    .withCredentials(new ProfileCredentialsProvider())
                    .build();
            TransferManager tm = TransferManagerBuilder.standard()
                    .withS3Client(s3Client)
                    .build();

            // Create an object from a file.
            PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, keyName, new File(fileToUpload));

            // Create an encryption key.
            KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
            keyGenerator.init(256, new SecureRandom());
            SSECustomerKey sseCustomerEncryptionKey = new SSECustomerKey(keyGenerator.generateKey());

            // Upload the object. TransferManager uploads asynchronously, so this call
            // returns immediately.
            putObjectRequest.setSSECustomerKey(sseCustomerEncryptionKey);
            Upload upload = tm.upload(putObjectRequest);

            // Optionally, wait for the upload to finish before continuing.
            upload.waitForCompletion();
            System.out.println("Object created.");

            // Copy the object and store the copy using SSE-C with a new key.
            CopyObjectRequest copyObjectRequest = new CopyObjectRequest(bucketName, keyName, bucketName, targetKeyName);
            SSECustomerKey sseTargetObjectEncryptionKey = new SSECustomerKey(keyGenerator.generateKey());
            copyObjectRequest.setSourceSSECustomerKey(sseCustomerEncryptionKey);
            copyObjectRequest.setDestinationSSECustomerKey(sseTargetObjectEncryptionKey);

            // Copy the object. TransferManager copies asynchronously, so this call returns
            // immediately.
            Copy copy = tm.copy(copyObjectRequest);

            // Optionally, wait for the upload to finish before continuing.
            copy.waitForCompletion();
            System.out.println("Copy complete.");
        } catch (AmazonServiceException e) {
            // The call was transmitted successfully, but Amazon S3 couldn't process
            // it, so it returned an error response.
            e.printStackTrace();
        } catch (SdkClientException e) {
            // Amazon S3 couldn't be contacted for a response, or the client
            // couldn't parse the response from Amazon S3.
            e.printStackTrace();
        }
    }
}
```

------
#### [ .NET ]

Per caricare oggetti di grandi dimensioni, puoi utilizzare l'API di caricamento multipart (vedi[Caricamento e copia di oggetti utilizzando il caricamento multiparte in Amazon S3](mpuoverview.md)). AWS SDK for .NET fornisce sia il livello alto che quello APIs basso per caricare oggetti di grandi dimensioni. Questi APIs supportano le intestazioni relative alla crittografia nella richiesta.
+ Quando si utilizza l'API `Transfer-Utility ` di alto livello, è necessario fornire le intestazioni specifiche della crittografia in `TransferUtilityUploadRequest` come mostrato. Per alcuni esempi di codice, consultare [Caricamento di un oggetto utilizzando il caricamento in più parti](mpu-upload-object.md).

  ```
  TransferUtilityUploadRequest request = new TransferUtilityUploadRequest()
  {
      FilePath = filePath,
      BucketName = existingBucketName,
      Key = keyName,
      // Provide encryption information.
      ServerSideEncryptionCustomerMethod = ServerSideEncryptionCustomerMethod.AES256,
      ServerSideEncryptionCustomerProvidedKey = base64Key,
  };
  ```
+ Quando si utilizza l'API di basso livello, è necessario fornire informazioni correlate alla crittografia nella richiesta di avvio del caricamento in più parti, seguite da informazioni di crittografia identiche nelle successive richieste di caricamento della parte. Non è necessario fornire alcuna intestazione specifica della crittografia nella richiesta di caricamento in più parti completa. Per alcuni esempi, consulta [Utilizzo dell'API (di basso livello AWS SDKs )](mpu-upload-object.md#mpu-upload-low-level).

  Di seguito è riportato un esempio di caricamento in più parti di basso livello in cui viene creata una copia di un oggetto di grandi dimensioni esistente. Nell'esempio l'oggetto da copiare è archiviato in Amazon S3 con la chiave SSE-C e l'oggetto di destinazione deve essere salvato utilizzando la stessa chiave. Nell'esempio vengono effettuate le seguenti operazioni:
  + Viene avviata una richiesta di caricamento in più parti specificando una chiave di crittografia e informazioni correlate.
  + Vengono fornite chiavi di crittografia e informazioni correlate per gli oggetti di origine e di destinazione nella richiesta `CopyPartRequest`.
  + Viene ottenuta la dimensione dell'oggetto di origine da copiare recuperando i metadata dell'oggetto.
  + Caricamento degli oggetti in parti da 5 MB  
**Example**  

  ```
  using Amazon;
  using Amazon.S3;
  using Amazon.S3.Model;
  using System;
  using System.Collections.Generic;
  using System.IO;
  using System.Security.Cryptography;
  using System.Threading.Tasks;
  
  namespace Amazon.DocSamples.S3
  {
      class SSECLowLevelMPUcopyObjectTest
      {
          private const string existingBucketName = "*** bucket name ***";
          private const string sourceKeyName      = "*** source object key name ***"; 
          private const string targetKeyName      = "*** key name for the target object ***";
          private const string filePath           = @"*** file path ***";
          // Specify your bucket region (an example region is shown).
          private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2;
          private static IAmazonS3 s3Client;
          static void Main()
          {
              s3Client = new AmazonS3Client(bucketRegion);
              CopyObjClientEncryptionKeyAsync().Wait();
          }
  
          private static async Task CopyObjClientEncryptionKeyAsync()
          {
              Aes aesEncryption = Aes.Create();
              aesEncryption.KeySize = 256;
              aesEncryption.GenerateKey();
              string base64Key = Convert.ToBase64String(aesEncryption.Key);
  
              await CreateSampleObjUsingClientEncryptionKeyAsync(base64Key, s3Client);
  
              await CopyObjectAsync(s3Client, base64Key);
          }
          private static async Task CopyObjectAsync(IAmazonS3 s3Client, string base64Key)
          {
              List<CopyPartResponse> uploadResponses = new List<CopyPartResponse>();
  
              // 1. Initialize.
              InitiateMultipartUploadRequest initiateRequest = new InitiateMultipartUploadRequest
              {
                  BucketName = existingBucketName,
                  Key = targetKeyName,
                  ServerSideEncryptionCustomerMethod = ServerSideEncryptionCustomerMethod.AES256,
                  ServerSideEncryptionCustomerProvidedKey = base64Key,
              };
  
              InitiateMultipartUploadResponse initResponse =
                  await s3Client.InitiateMultipartUploadAsync(initiateRequest);
  
              // 2. Upload Parts.
              long partSize = 5 * (long)Math.Pow(2, 20); // 5 MB
              long firstByte = 0;
              long lastByte = partSize;
  
              try
              {
                  // First find source object size. Because object is stored encrypted with
                  // customer provided key you need to provide encryption information in your request.
                  GetObjectMetadataRequest getObjectMetadataRequest = new GetObjectMetadataRequest()
                  {
                      BucketName = existingBucketName,
                      Key = sourceKeyName,
                      ServerSideEncryptionCustomerMethod = ServerSideEncryptionCustomerMethod.AES256,
                      ServerSideEncryptionCustomerProvidedKey = base64Key // " * **source object encryption key ***"
                  };
  
                  GetObjectMetadataResponse getObjectMetadataResponse = await s3Client.GetObjectMetadataAsync(getObjectMetadataRequest);
  
                  long filePosition = 0;
                  for (int i = 1; filePosition < getObjectMetadataResponse.ContentLength; i++)
                  {
                      CopyPartRequest copyPartRequest = new CopyPartRequest
                      {
                          UploadId = initResponse.UploadId,
                          // Source.
                          SourceBucket = existingBucketName,
                          SourceKey = sourceKeyName,
                          // Source object is stored using SSE-C. Provide encryption information.
                          CopySourceServerSideEncryptionCustomerMethod = ServerSideEncryptionCustomerMethod.AES256,
                          CopySourceServerSideEncryptionCustomerProvidedKey = base64Key, //"***source object encryption key ***",
                          FirstByte = firstByte,
                          // If the last part is smaller then our normal part size then use the remaining size.
                          LastByte = lastByte > getObjectMetadataResponse.ContentLength ?
                              getObjectMetadataResponse.ContentLength - 1 : lastByte,
  
                          // Target.
                          DestinationBucket = existingBucketName,
                          DestinationKey = targetKeyName,
                          PartNumber = i,
                          // Encryption information for the target object.
                          ServerSideEncryptionCustomerMethod = ServerSideEncryptionCustomerMethod.AES256,
                          ServerSideEncryptionCustomerProvidedKey = base64Key
                      };
                      uploadResponses.Add(await s3Client.CopyPartAsync(copyPartRequest));
                      filePosition += partSize;
                      firstByte += partSize;
                      lastByte += partSize;
                  }
  
                  // Step 3: complete.
                  CompleteMultipartUploadRequest completeRequest = new CompleteMultipartUploadRequest
                  {
                      BucketName = existingBucketName,
                      Key = targetKeyName,
                      UploadId = initResponse.UploadId,
                  };
                  completeRequest.AddPartETags(uploadResponses);
  
                  CompleteMultipartUploadResponse completeUploadResponse =
                      await s3Client.CompleteMultipartUploadAsync(completeRequest);
              }
              catch (Exception exception)
              {
                  Console.WriteLine("Exception occurred: {0}", exception.Message);
                  AbortMultipartUploadRequest abortMPURequest = new AbortMultipartUploadRequest
                  {
                      BucketName = existingBucketName,
                      Key = targetKeyName,
                      UploadId = initResponse.UploadId
                  };
                  s3Client.AbortMultipartUpload(abortMPURequest);
              }
          }
          private static async Task CreateSampleObjUsingClientEncryptionKeyAsync(string base64Key, IAmazonS3 s3Client)
          {
              // List to store upload part responses.
              List<UploadPartResponse> uploadResponses = new List<UploadPartResponse>();
  
              // 1. Initialize.
              InitiateMultipartUploadRequest initiateRequest = new InitiateMultipartUploadRequest
              {
                  BucketName = existingBucketName,
                  Key = sourceKeyName,
                  ServerSideEncryptionCustomerMethod = ServerSideEncryptionCustomerMethod.AES256,
                  ServerSideEncryptionCustomerProvidedKey = base64Key
              };
  
              InitiateMultipartUploadResponse initResponse =
                 await s3Client.InitiateMultipartUploadAsync(initiateRequest);
  
              // 2. Upload Parts.
              long contentLength = new FileInfo(filePath).Length;
              long partSize = 5 * (long)Math.Pow(2, 20); // 5 MB
  
              try
              {
                  long filePosition = 0;
                  for (int i = 1; filePosition < contentLength; i++)
                  {
                      UploadPartRequest uploadRequest = new UploadPartRequest
                      {
                          BucketName = existingBucketName,
                          Key = sourceKeyName,
                          UploadId = initResponse.UploadId,
                          PartNumber = i,
                          PartSize = partSize,
                          FilePosition = filePosition,
                          FilePath = filePath,
                          ServerSideEncryptionCustomerMethod = ServerSideEncryptionCustomerMethod.AES256,
                          ServerSideEncryptionCustomerProvidedKey = base64Key
                      };
  
                      // Upload part and add response to our list.
                      uploadResponses.Add(await s3Client.UploadPartAsync(uploadRequest));
  
                      filePosition += partSize;
                  }
  
                  // Step 3: complete.
                  CompleteMultipartUploadRequest completeRequest = new CompleteMultipartUploadRequest
                  {
                      BucketName = existingBucketName,
                      Key = sourceKeyName,
                      UploadId = initResponse.UploadId,
                      //PartETags = new List<PartETag>(uploadResponses)
  
                  };
                  completeRequest.AddPartETags(uploadResponses);
  
                  CompleteMultipartUploadResponse completeUploadResponse =
                      await s3Client.CompleteMultipartUploadAsync(completeRequest);
  
              }
              catch (Exception exception)
              {
                  Console.WriteLine("Exception occurred: {0}", exception.Message);
                  AbortMultipartUploadRequest abortMPURequest = new AbortMultipartUploadRequest
                  {
                      BucketName = existingBucketName,
                      Key = sourceKeyName,
                      UploadId = initResponse.UploadId
                  };
                  await s3Client.AbortMultipartUploadAsync(abortMPURequest);
              }
          }
      }
  }
  ```

------

# Blocco o sblocco di SSE-C per un bucket per uso generico
<a name="blocking-unblocking-s3-c-encryption-gpb"></a>

La maggior parte dei casi d'uso moderni in Amazon S3 non utilizza più la crittografia lato server con chiavi fornite dal cliente (SSE-C) perché manca la flessibilità della crittografia lato server con chiavi gestite di Amazon S3 (SSE-S3) o della crittografia lato server con chiavi KMS (SSE-KMS). AWS Il requisito di SSE-C di fornire la chiave di crittografia ogni volta che interagisci con i tuoi dati crittografati SSE-C rende poco pratico condividere la tua chiave SSE-C con altri utenti, ruoli o AWS servizi che leggono i dati dai tuoi bucket S3 per operare sui tuoi dati.

Per limitare i tipi di crittografia lato server che è possibile utilizzare nei bucket generici, è possibile scegliere di bloccare le richieste di scrittura SSE-C aggiornando la configurazione di crittografia predefinita per i bucket. Questa configurazione a livello di bucket blocca le richieste di caricamento di oggetti che specificano SSE-C. Quando SSE-C è bloccato per un bucket `PutObject``CopyObject`, `PostObject` tutte le richieste di caricamento o replica multipart o multipart che specificano la crittografia SSE-C verranno rifiutate con un errore HTTP 403. `AccessDenied`

Questa impostazione è un parametro dell'`PutBucketEncryption`API e può essere aggiornata anche utilizzando la console S3, la AWS CLI AWS SDKs e, se `s3:PutEncryptionConfiguration` disponi dell'autorizzazione.

I valori validi sono`SSE-C`, che blocca la crittografia SSE-C per il bucket generico e`NONE`, che consente l'uso di SSE-C per le scritture nel bucket.

**Importante**  
Come [annunciato il 19 novembre 2025,](https://aws.amazon.com/blogs/storage/advanced-notice-amazon-s3-to-disable-the-use-of-sse-c-encryption-by-default-for-all-new-buckets-and-select-existing-buckets-in-april-2026/) Amazon Simple Storage Service sta implementando una nuova impostazione di sicurezza predefinita per i bucket che disabilita automaticamente la crittografia lato server con chiavi fornite dal cliente (SSE-C) per tutti i nuovi bucket generici. Per i bucket esistenti senza oggetti crittografati SSE-C, Amazon S3 disabiliterà anche SSE-C per tutte le nuove richieste di scrittura. Account AWS Infatti, Account AWS con l'utilizzo di SSE-C, Amazon S3 non modificherà la configurazione di crittografia dei bucket su nessuno dei bucket esistenti in tali account. Questa implementazione è iniziata il 6 aprile 2026 e sarà completata nelle prossime settimane in 37 AWS regioni, tra cui AWS Cina e regioni AWS GovCloud (Stati Uniti).  
Con queste modifiche, le applicazioni che richiedono la crittografia SSE-C devono abilitare deliberatamente SSE-C utilizzando l'operazione [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)API dopo la creazione di un nuovo bucket. Per ulteriori informazioni su questa modifica, vedere. [Domande frequenti sull'impostazione SSE-C predefinita per i nuovi bucket](default-s3-c-encryption-setting-faq.md)

## Permissions
<a name="bucket-encryption-permissions"></a>

Usa l'`PutBucketEncryption`API o la console S3 o la AWS CLI per bloccare o sbloccare i tipi di crittografia per un bucket generico. AWS SDKs È necessario disporre delle seguenti autorizzazioni:
+ `s3:PutEncryptionConfiguration`

Usa l'`GetBucketEncryption`API o la console S3 o la AWS CLI per visualizzare i tipi di crittografia bloccati per un bucket generico. AWS SDKs È necessario disporre delle seguenti autorizzazioni:
+ `s3:GetEncryptionConfiguration`

## Considerazioni prima di bloccare la crittografia SSE-C
<a name="considerations-before-blocking-sse-c"></a>

Dopo aver bloccato SSE-C per qualsiasi bucket, si applica il seguente comportamento di crittografia:
+ Non è stata apportata alcuna modifica alla crittografia degli oggetti presenti nel bucket prima del blocco della crittografia SSE-C.
+ Dopo aver bloccato la crittografia SSE-C, è possibile continuare a effettuare GetObject HeadObject richieste su oggetti preesistenti crittografati con SSE-C purché si forniscano le intestazioni SSE-C richieste nelle richieste.
+ Quando SSE-C è bloccato per un bucket, qualsiasi richiesta di caricamento o multiparte che specifica la `PutObject` crittografia `CopyObject` SSE-C verrà rifiutata con un errore HTTP 403. `PostObject` `AccessDenied`
+ Se un bucket di destinazione per la replica ha SSE-C bloccato e gli oggetti di origine da replicare sono crittografati con SSE-C, la replica avrà esito negativo con un errore HTTP 403. `AccessDenied`

Se desideri verificare se stai utilizzando la crittografia SSE-C in uno qualsiasi dei tuoi bucket prima di bloccare questo tipo di crittografia, puoi utilizzare strumenti come il monitoraggio dell'accesso ai tuoi dati. [AWS CloudTrail](https://aws.amazon.com/cloudtrail/) Questo [post del blog](https://aws.amazon.com/blogs/storage/auditing-amazon-s3-server-side-encryption-methods-for-object-uploads/) mostra come controllare i metodi di crittografia per il caricamento di oggetti in tempo reale. Puoi anche fare riferimento a questo [articolo di re:Post per aiutarti](https://repost.aws/articles/ARhGC12rOiTBCKHcAe9GZXCA/how-to-detect-existing-use-of-sse-c-in-your-amazon-s3-buckets) a consultare i report di S3 Inventory per verificare se hai oggetti crittografati SSE-C.

### Fasi
<a name="block-sse-c-gpb-steps"></a>

Puoi bloccare o sbloccare la crittografia lato server con chiavi fornite dal cliente (SSE-C) per un bucket generico utilizzando la console Amazon S3, la ( AWS Command Line Interface )AWS CLI, l'API REST di Amazon S3 e. AWS SDKs

### Utilizzo della console S3
<a name="block-sse-c-gpb-console"></a>

Per bloccare o sbloccare la crittografia SSE-C per un bucket utilizzando la console Amazon S3:

1. Accedi alla console di AWS gestione e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/

1. Nel riquadro di navigazione a sinistra, scegli **bucket per uso generico**.

1. Seleziona il bucket per cui desideri bloccare la crittografia SSE-C.

1. Seleziona la scheda **Proprietà** per il bucket.

1. **Passa al pannello delle proprietà di **crittografia predefinita** per il bucket e seleziona Modifica.**

1. Nella sezione **Tipi di crittografia bloccati**, seleziona la casella accanto a **Crittografia lato server con chiavi fornite dal cliente (SSE-C) per bloccare la crittografia SSE-C** o deseleziona questa casella per consentire SSE-C.

1. Seleziona **Salva modifiche**.

### Utilizzando il AWS CLI
<a name="block-sse-c-gpb-cli"></a>

*Per installare la AWS CLI, consulta [Installazione della AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) nella Guida per l'utente.AWS Command Line Interface *

Il seguente esempio CLI mostra come bloccare o sbloccare la crittografia SSE-C per un bucket generico utilizzando il. AWS CLI Per utilizzare il comando, sostituiscilo con le tue informazioni*user input placeholders*.

**Richiesta di blocco della crittografia SSE-C per un bucket generico:**

```
aws s3api put-bucket-encryption \
  --bucket amzn-s3-demo-bucket \
  --server-side-encryption-configuration '{
    "Rules": [{
      "BlockEncryptionTypes": {
        "EncryptionType": "SSE-C"
      }
    }]
  }'
```

**Richiesta di abilitazione dell'uso della crittografia SSE-C su un bucket generico:**

```
aws s3api put-bucket-encryption \
  --bucket amzn-s3-demo-bucket \
  --server-side-encryption-configuration '{
    "Rules": [{
      "BlockEncryptionTypes": {
        "EncryptionType": "NONE"
      }
    }]
  }'
```

## Usando il AWS SDKs
<a name="block-sse-c-gpb-sdks"></a>

------
#### [ SDK for Java 2.x ]

Gli esempi seguenti mostrano come bloccare o sbloccare le scritture di crittografia SSE-C nei bucket generici utilizzando il AWS SDKs

**Esempio: PutBucketEncryption richiesta di impostare la configurazione di crittografia predefinita su SSE-S3 e bloccare SSE-C**

```
S3Client s3Client = ...;
ServerSideEncryptionByDefault defaultSse = ServerSideEncryptionByDefault
        .builder()
        .sseAlgorithm(ServerSideEncryption.AES256)
        .build();
BlockedEncryptionTypes blockedEncryptionTypes = BlockedEncryptionTypes
        .builder()
        .encryptionType(EncryptionType.SSE_C)
        .build();
ServerSideEncryptionRule rule = ServerSideEncryptionRule.builder()
        .applyServerSideEncryptionByDefault(defaultSse)
        .blockedEncryptionTypes(blockedEncryptionTypes)
        .build();
s3Client.putBucketEncryption(be -> be
        .bucket(bucketName)
        .serverSideEncryptionConfiguration(c -> c.rules(rule)));
```

**Esempio: PutBucketEncryption richiesta di impostazione della configurazione di crittografia predefinita su SSE-S3 e sblocco di SSE-C**

```
S3Client s3Client = ...;
ServerSideEncryptionByDefault defaultSse = ServerSideEncryptionByDefault
        .builder()
        .sseAlgorithm(ServerSideEncryption.AES256)
        .build();
BlockedEncryptionTypes blockedEncryptionTypes = BlockedEncryptionTypes
        .builder()
        .encryptionType(EncryptionType.NONE)
        .build();
ServerSideEncryptionRule rule = ServerSideEncryptionRule.builder()
        .applyServerSideEncryptionByDefault(defaultSse)
        .blockedEncryptionTypes(blockedEncryptionTypes)
        .build();
s3Client.putBucketEncryption(be -> be
        .bucket(bucketName)
        .serverSideEncryptionConfiguration(c -> c.rules(rule)));
```

------
#### [ SDK for Python Boto3 ]

**Esempio: PutBucketEncryption richiesta di impostare la configurazione di crittografia predefinita su SSE-S3 e bloccare SSE-C**

```
s3 = boto3.client("s3")
s3.put_bucket_encryption(
    Bucket="amzn-s3-demo-bucket",
    ServerSideEncryptionConfiguration={
        "Rules":[{
            "ApplyServerSideEncryptionByDefault": {
                "SSEAlgorithm": "AES256"
            },
            "BlockedEncryptionTypes": {
                "EncryptionType": ["SSE-C"]
            }
        }]
    }
)
```

**Esempio: PutBucketEncryption richiesta di impostazione della configurazione di crittografia predefinita su SSE-S3 e sblocco di SSE-C**

```
s3 = boto3.client("s3")
s3.put_bucket_encryption(
    Bucket="amzn-s3-demo-bucket",
    ServerSideEncryptionConfiguration={
        "Rules":[{
            "ApplyServerSideEncryptionByDefault": {
                "SSEAlgorithm": "AES256"
            },
            "BlockedEncryptionTypes": {
                "EncryptionType": ["NONE"]
            }
        }]
    }
)
```

------

## Utilizzo della REST API
<a name="bucket-tag-add-api"></a>

*Per informazioni sul supporto dell'API REST di Amazon S3 per il blocco o lo sblocco della crittografia SSE-C per un bucket generico, consulta la sezione seguente nel riferimento all'API di Amazon Simple Storage Service:*
+ [BlockedEncryptionTypes](https://docs.aws.amazon.com/AmazonS3/latest/API/API_BlockedEncryptionTypes.html)tipo di dati utilizzato nel tipo di [ServerSideEncryptionRule](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ServerSideEncryptionRule.html)dati delle operazioni e API. [PutBucketEncryption[GetBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html)](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)

# Domande frequenti sull'impostazione SSE-C predefinita per i nuovi bucket
<a name="default-s3-c-encryption-setting-faq"></a>

**Importante**  
Come [annunciato il 19 novembre 2025,](https://aws.amazon.com/blogs/storage/advanced-notice-amazon-s3-to-disable-the-use-of-sse-c-encryption-by-default-for-all-new-buckets-and-select-existing-buckets-in-april-2026/) Amazon Simple Storage Service sta implementando una nuova impostazione di sicurezza predefinita per i bucket che disabilita automaticamente la crittografia lato server con chiavi fornite dal cliente (SSE-C) per tutti i nuovi bucket generici. Per i bucket esistenti senza oggetti crittografati SSE-C, Amazon S3 disabiliterà anche SSE-C per tutte le nuove richieste di scrittura. Account AWS Infatti, Account AWS con l'utilizzo di SSE-C, Amazon S3 non modificherà la configurazione di crittografia dei bucket su nessuno dei bucket esistenti in tali account. Questa implementazione è iniziata il 6 aprile 2026 e sarà completata nelle prossime settimane in 37 AWS regioni, tra cui AWS Cina e regioni AWS GovCloud (Stati Uniti).  
Con queste modifiche, le applicazioni che richiedono la crittografia SSE-C devono abilitare deliberatamente SSE-C utilizzando l'operazione [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)API dopo la creazione di un nuovo bucket.

Nelle sezioni seguenti vengono fornite le risposte alle domande su questo aggiornamento.

**1. Nell'aprile 2026, la nuova impostazione SSE-C avrà effetto per tutti i bucket appena creati?**

Sì. Questa implementazione è iniziata il 6 aprile 2026 e sarà completata nelle prossime settimane in 37 AWS regioni, tra cui AWS Cina e regioni AWS GovCloud (Stati Uniti).

**Nota**  
Una volta completata la distribuzione, i bucket appena creati in tutte le AWS regioni tranne Medio Oriente (Bahrein) e Medio Oriente (Emirati Arabi Uniti) avranno SSE-C disabilitato per impostazione predefinita.

**2. Quanto tempo ci vorrà prima che questa implementazione copra tutte le AWS regioni?**

L'implementazione è iniziata il 6 aprile 2026 e sarà completata in poche settimane.

**3. Come faccio a sapere che l'aggiornamento è completo?**

È possibile determinare facilmente se la modifica è stata completata nella propria AWS regione creando un nuovo bucket e chiamando l'operazione [GetBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html)API per determinare se la crittografia SSE-C è disabilitata. Una volta completato l'aggiornamento, per tutti i nuovi bucket generici la crittografia SSE-C sarà automaticamente disabilitata per impostazione predefinita. Puoi modificare queste impostazioni dopo aver creato il tuo bucket S3 chiamando l'operazione API. [PutBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)

**4. Amazon S3 aggiornerà le mie configurazioni di bucket esistenti?**

Se il tuo AWS account non dispone di oggetti crittografati SSE-C, AWS disabiliterà la crittografia SSE-C su tutti i bucket esistenti. Se un bucket del tuo AWS account contiene oggetti crittografati SSE-C, non AWS modificherà le configurazioni dei bucket su nessuno dei tuoi bucket in quell'account. Una volta completata la `CreateBucket` modifica per la tua AWS regione, la nuova impostazione predefinita verrà applicata a tutti i nuovi bucket generici. 

 **5. Posso disabilitare la crittografia SSE-C per i miei bucket prima che l'aggiornamento sia completo?** 

Sì. Puoi disabilitare la crittografia SSE-C per qualsiasi bucket chiamando l'operazione [PutBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)API e specificando la nuova intestazione. `BlockedEncryptionTypes` 

**6. Posso usare SSE-C per crittografare i dati nei miei nuovi bucket?**

Sì. La maggior parte dei casi d'uso moderni in Amazon S3 non utilizza più SSE-C perché manca la flessibilità della crittografia lato server con chiavi gestite di Amazon S3 (SSE-S3) o della crittografia lato server con chiavi KMS (SSE-KMS). AWS Se devi utilizzare la crittografia SSE-C in un nuovo bucket, puoi creare il nuovo bucket e quindi abilitare l'uso della crittografia SSE-C in una richiesta separata. `PutBucketEncryption`

 **Esempio**

```
aws s3api create-bucket \  
bucket amzn-s3-demo-bucket \ 
region us-east-1 \ 
  
aws s3api put-bucket-encryption \  
-- bucket amzn-s3-demo-bucket \
-- server-side-encryption-configuration \
'{ \Rules\: [{   
   {   
   \ApplyServerSideEncryptionByDefault\: {   
     \SSEAlgorithm\: \AES256\,  
    },   
   \BlockedEncryptionTypes\: [  
     \EncryptionType\:\NONE\]   
   }   
   }]   
}'
```

**Nota**  
È necessario disporre dell'autorizzazione per chiamare l'API. `s3:PutEncryptionConfiguration` `PutBucketEncryption` 

**7. In che modo il blocco di SSE-C influisce sulle richieste al mio bucket?**

Quando SSE-C è bloccato per un bucket `PutObject` `CopyObject``PostObject`, qualsiasi richiesta di caricamento o replica multiparte che specifichi la crittografia SSE-C verrà rifiutata con un errore HTTP 403. `AccessDenied` 

# Protezione dei dati con la crittografia lato client
<a name="UsingClientSideEncryption"></a>

La *crittografia lato client* è l'atto di crittografare i dati a livello locale per garantirne la sicurezza in transito e a riposo. Per crittografare gli oggetti prima di inviarli ad Amazon S3, utilizza il client di crittografia Amazon S3. Quando gli oggetti vengono crittografati in questo modo, non vengono esposti a terzi, inclusi. AWS Amazon S3 riceve i tuoi oggetti già crittografati e non ha un ruolo nella crittografia o decrittografia degli oggetti. Puoi utilizzare sia il client di crittografia Amazon S3 che la [crittografia lato server](serv-side-encryption.md) per crittografare i tuoi dati. Quando invii oggetti crittografati ad Amazon S3, non vengono riconosciuti come crittografati e vengono rilevati solo gli oggetti tipici.

Il client di crittografia Amazon S3 funge da intermediario tra te e Amazon S3. Dopo aver creato l'istanza del client di crittografia Amazon S3, i tuoi oggetti vengono automaticamente crittografati e decrittati come parte delle richieste `PutObject` e `GetObject` di Amazon S3. I tuoi oggetti sono tutti crittografati con una chiave di dati univoca. Il client di crittografia Amazon S3 non utilizza né interagisce con le chiavi bucket, anche se si specifica una chiave KMS come chiave di wrapping.

La *Guida per gli sviluppatori del client di crittografia Amazon S3* si concentra sulle versioni 3.0 e successive del client di crittografia Amazon S3. Per ulteriori informazioni, consulta [Cos'è il client di crittografia Amazon S3](https://docs.aws.amazon.com//amazon-s3-encryption-client/latest/developerguide/what-is-s3-encryption-client.html) nella *Guida per gli sviluppatori di Client di crittografia Amazon S3*.

Per ulteriori informazioni sulle versioni precedenti del client di crittografia Amazon S3, consulta la AWS SDK Developer Guide per il tuo linguaggio di programmazione.
+ [AWS SDK per Java](https://docs.aws.amazon.com//sdk-for-java/v1/developer-guide/examples-crypto.html)
+ [AWS SDK per .NET](https://docs.aws.amazon.com//sdk-for-net/v3/developer-guide/kms-keys-s3-encryption.html)
+ [AWS SDK per Go](https://docs.aws.amazon.com//sdk-for-go/v1/developer-guide/welcome.html)
+ [AWS SDK per PHP](https://docs.aws.amazon.com//sdk-for-php/v3/developer-guide/s3-encryption-client.html)
+ [AWS SDK per Ruby](https://docs.aws.amazon.com//sdk-for-ruby/v3/api/Aws/S3/Encryption.html)
+ [AWS SDK per C\$1\$1](https://docs.aws.amazon.com//sdk-for-cpp/v1/developer-guide/welcome.html)

# Protezione dei dati in transito con crittografia
<a name="UsingEncryptionInTransit"></a>

Amazon S3 supporta i protocolli HTTP e HTTPS per la trasmissione dei dati. HTTP trasmette i dati in testo semplice, mentre HTTPS aggiunge un livello di sicurezza crittografando i dati utilizzando Transport Layer Security (TLS). TLS protegge da intercettazioni, manomissioni dei dati e attacchi. man-in-the-middle Sebbene il traffico HTTP sia accettato, la maggior parte delle implementazioni utilizza la crittografia in transito con HTTPS e TLS per proteggere i dati durante il trasferimento tra i client e Amazon S3.

## Supporto per TLS 1.2 e TLS 1.3
<a name="UsingEncryptionInTransit.TLS-support"></a>

Amazon S3 supporta TLS 1.2 e TLS 1.3 per connessioni HTTPS su tutti gli endpoint API per tutti. Regioni AWS S3 negozia automaticamente la protezione TLS più potente supportata dal software client e dall'endpoint S3 a cui accedi. AWS Gli strumenti attuali (2014 o successivi), tra cui TLS 1.3 per impostazione AWS CLI predefinita, non richiede alcuna azione da parte dell'utente. AWS SDKs È possibile ignorare questa negoziazione automatica tramite le impostazioni di configurazione del client per specificare una particolare versione TLS se è necessaria la retrocompatibilità con TLS 1.2. Quando usi TLS 1.3, puoi facoltativamente configurare lo scambio di chiavi post-quantistiche ibrido (ML-KEM) per effettuare richieste con resistenza quantistica ad Amazon S3. Per ulteriori informazioni, consulta [Configurazione del TLS post-quantistico ibrido per il tuo client](pqtls-how-to.md). 

**Nota**  
TLS 1.3 è supportato in tutti gli endpoint S3, ad eccezione di Amazon AWS PrivateLink S3 e Multi-Region Access Point.

## Monitoraggio dell'utilizzo di TLS
<a name="UsingEncryptionInTransit.monitoring"></a>

Puoi utilizzare i log di accesso al server Amazon S3 o monitorare le richieste AWS CloudTrail ai bucket Amazon S3. Entrambe le opzioni di registrazione registrano la versione TLS e la suite di crittografia utilizzata in ogni richiesta.
+ Registri di **accesso al server Amazon S3: la registrazione degli accessi** al server fornisce record dettagliati per le richieste inviate a un bucket. Ad esempio, le informazioni del log di accesso possono essere utili nei controlli di accesso e di sicurezza. Per ulteriori informazioni, consulta [Formato del log di accesso al server Amazon S3](LogFormat.md).
+ **AWS CloudTrail**— [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)è un servizio che fornisce un registro delle azioni intraprese da un utente, un ruolo o un servizio. AWS CloudTrail acquisisce tutte le chiamate API per Amazon S3 come eventi. Per ulteriori informazioni, consulta [Eventi Amazon S3 CloudTrail](cloudtrail-logging-s3-info.md).

## Applicazione della crittografia in transito
<a name="UsingEncryptionInTransit.enforcement"></a>

Applicare la crittografia dei dati in transito verso Amazon S3 è una best practice di sicurezza. Puoi imporre la comunicazione solo HTTPS o l'uso di una versione TLS specifica attraverso vari meccanismi di policy. [Queste includono policy IAM basate sulle risorse per bucket S3 ([bucket policy](bucket-policies.md)), [Service Control Policies (), Resource Control Policies (SCPs) e policy](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)[per endpoint](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) VPCRCPs.](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html)

### Esempi di policy Bucket per l'applicazione della crittografia in transito
<a name="UsingEncryptionInTransit.bucket-policy-example"></a>

Puoi utilizzare la [chiave di condizione S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-policy-keys) `s3:TlsVersion` per limitare l'accesso ai bucket Amazon S3 in base alla versione TLS utilizzata dal client. Per ulteriori informazioni, consulta [Esempio 6: Richiesta di una versione TLS minima](amazon-s3-policy-keys.md#example-object-tls-version).

**Example bucket policy che applica TLS 1.3 utilizzando la chiave di condizione `S3:TlsVersion`**  

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyInsecureConnections",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket1",
        "arn:aws:s3:::amzn-s3-demo-bucket1/*"
      ],
      "Condition": {
        "NumericLessThan": {
          "s3:TlsVersion": "1.3"
        }
      }
    }
  ]
}
```

Puoi utilizzare la [chiave di condizione `aws:SecureTransport` globale](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) nella tua policy sui bucket S3 per verificare se la richiesta è stata inviata tramite HTTPS (TLS). A differenza dell'esempio precedente, questa condizione non verifica la presenza di una versione TLS specifica. Per ulteriori informazioni, consulta [Limitare l'accesso solo alle richieste HTTPS](example-bucket-policies.md#example-bucket-policies-use-case-HTTP-HTTPS-1).

**Example bucket policy che impone HTTPS utilizzando la chiave global condition `aws:SecureTransport`**  

```
{
    "Version":"2012-10-17",		 	 	 		 	 	 
    "Statement": [
     {
        "Sid": "RestrictToTLSRequestsOnly",		 	 	 
        "Action": "s3:*",
        "Effect": "Deny",
        "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket1",
            "arn:aws:s3:::amzn-s3-demo-bucket1/*"
        ],
        "Condition": {
            "Bool": {
                "aws:SecureTransport": "false"
            }
        },
        "Principal": "*"
    }
  ]
}
```

**Politica di esempio basata su entrambe le chiavi e altri esempi**  
È possibile utilizzare entrambi i tipi di chiavi di condizione negli esempi precedenti in un'unica politica. Per ulteriori informazioni e ulteriori approcci di applicazione, consulta l'articolo dello AWS Storage Blog [Applica la crittografia in transito con TLS1 .2 o versioni successive con Amazon S3](https://aws.amazon.com/blogs/storage/enforcing-encryption-in-transit-with-tls1-2-or-higher-with-amazon-s3/).

# Utilizzo del TLS post-quantistico ibrido con Amazon S3
<a name="UsingEncryptionInTransit.PQ-TLS"></a>

Amazon S3 supporta un'opzione ibrida di scambio di chiavi post-quantistiche per il protocollo di crittografia di rete TLS. Puoi utilizzare questa opzione TLS quando effettui richieste agli endpoint Amazon S3 utilizzando TLS 1.3. Le suite di crittografia classiche supportate da S3 per le sessioni TLS rendono gli attacchi di forza bruta ai meccanismi di scambio di chiavi impossibili con la tecnologia attuale. Tuttavia, se in futuro diventerà pratico un computer quantistico crittograficamente rilevante, le classiche suite di crittografia utilizzate nei meccanismi di scambio di chiavi TLS saranno suscettibili a questi attacchi. Attualmente, il settore è orientato allo scambio di chiavi ibrido post-quantistico che combina elementi classici e post-quantistici per garantire che la connessione TLS sia almeno altrettanto potente come lo sarebbe con le suite di crittografia classiche. Amazon S3 supporta attualmente il PQ-TLS ibrido, in conformità con le specifiche standard di settore IANA

Se stai sviluppando applicazioni che si basano sulla riservatezza a lungo termine dei dati trasmessi tramite una connessione TLS, dovresti prendere in considerazione un piano per migrare alla crittografia post-quantistica prima che i computer quantistici su larga scala diventino disponibili per l'uso. Come parte del modello di responsabilità condivisa, S3 abilita la crittografia quantistica sicura sui nostri endpoint di servizio. Poiché i browser e le applicazioni abilitano PQ-TLS da parte loro, S3 sceglierà la configurazione più sicura possibile per proteggere i dati in transito.

**Tipi di endpoint supportati e Regioni AWS**

Il TLS post-quantum per Amazon S3 è disponibile in tutti. Regioni AWS Per un elenco di endpoint S3 per ciascuno Regione AWS, consulta gli [endpoint e le quote di Amazon Simple Storage Service](https://docs.aws.amazon.com/general/latest/gr/s3.html) nel. *Riferimenti generali di Amazon Web Services*

**Nota**  
Il TLS post-quantistico ibrido è supportato per tutti gli endpoint S3 ad eccezione di Amazon S3, AWS PrivateLink Multi-Region Access Points e S3 Vectors.

## Utilizzo del TLS post-quantistico ibrido con Amazon S3
<a name="pqtls-details"></a>

È necessario configurare il client che effettua le richieste ad Amazon S3 per supportare il TLS post-quantistico ibrido. Quando configuri l'ambiente di test o gli ambienti di produzione del tuo client HTTP, tieni presente le seguenti informazioni:

**Crittografia in transito**

Il TLS post-quantistico ibrido viene utilizzato solo per la crittografia in transito. Questo protegge i dati mentre viaggiano dal client all'endpoint S3. Questo nuovo supporto, combinato con la crittografia lato server di Amazon S3 per impostazione predefinita che utilizza AES-256 algoritmi, offre ai clienti una crittografia a resistenza quantistica sia in transito che a riposo. Per ulteriori informazioni sulla crittografia lato server in Amazon S3, [consulta Protezione dei dati](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) con la crittografia lato server.

**Client supportati**

L'uso del TLS post-quantistico ibrido richiede l'utilizzo di un client che supporti questa funzionalità. AWS SDKs e gli strumenti dispongono di funzionalità e configurazioni crittografiche che differiscono a seconda dei linguaggi e dei tempi di esecuzione. [Per ulteriori informazioni sulla crittografia post-quantistica per strumenti specifici, consulta Enabling hybrid post-quantum TLS.](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/pqtls-details.html)

**Nota**  
I dettagli dello scambio di chiavi PQ-TLS per le richieste ad Amazon S3 non sono disponibili negli AWS CloudTrail eventi o nei log di accesso al server S3.

## Scopri di più sul TLS post-quantistico
<a name="pqtls-see-also"></a>

Per ulteriori informazioni sull'utilizzo del TLS ibrido post-quantistico, consulta le seguenti risorse.
+ [Per ulteriori informazioni sulla crittografia post-quantistica all'indirizzo AWS, compresi i collegamenti ai post di blog e ai documenti di ricerca, consulta Crittografia post-quantistica per. AWS](https://aws.amazon.com/security/post-quantum-cryptography/)
+ Per informazioni su s2n-tls, consultare [Introduzione di s2n-tls, una nuova implementazione TLS open source](https://aws.amazon.com/blogs/security/introducing-s2n-a-new-open-source-tls-implementation/) e [Utilizzo di s2n-tls](https://github.com/aws/s2n-tls/tree/main/docs/usage-guide).
+ *Per informazioni sul client HTTP AWS Common Runtime, consulta [Configurazione del client HTTP basato su AWS CRT nella Guida per gli sviluppatori](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/http-configuration-crt.html).AWS SDK for Java 2.x *
+ Per informazioni sul progetto di crittografia post-quantistica presso il National Institute for Standards and Technology (NIST), consultare [Post-Quantum Cryptography](https://csrc.nist.gov/Projects/Post-Quantum-Cryptography) (Crittografia post-quantistica).
+ [Per informazioni sulla standardizzazione della crittografia post-quantistica NIST, vedere Standardizzazione della crittografia post-quantistica del NIST.](https://csrc.nist.gov/Projects/post-quantum-cryptography/post-quantum-cryptography-standardization)

# Configurazione del TLS post-quantistico ibrido per il tuo client
<a name="pqtls-how-to"></a>

Per utilizzare PQ-TLS con Amazon S3, devi configurare il client per supportare algoritmi di scambio di chiavi post-quantistici. Assicurati inoltre che il tuo cliente supporti l'approccio ibrido, che combina la tradizionale crittografia a curva ellittica con algoritmi post-quantistici come ML-KEM (Key Encapsulation Mechanism). Module-Lattice-Based 

La configurazione specifica dipende dalla libreria client e dal linguaggio di programmazione. Per ulteriori informazioni, consulta [Abilitazione del TLS ibrido post-quantistico.](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/pqtls-details.html)

## Esempio di configurazione del client: AWS SDK for Java 2
<a name="UsingEncryptionInTransit.PQ-TLS.configuration.java2-sdk"></a>

In questa procedura, aggiungi una dipendenza Maven per il client HTTP AWS Common Runtime. Quindi, configura un client HTTP che preferisca il protocollo TLS post-quantistico. Quindi, crea un client Amazon S3 che utilizzi il client HTTP.

**Nota**  
Il AWS Common Runtime HTTP Client, disponibile in anteprima, è diventato disponibile a livello generale nel febbraio 2023. In tale versione, la classe `tlsCipherPreference` e il parametro del metodo `tlsCipherPreference()` vengono sostituiti dal parametro del metodo `postQuantumTlsEnabled()`. Se stavi usando questo esempio durante l'anteprima, devi aggiornare il codice.

1. Aggiungi il client AWS Common Runtime alle tue dipendenze Maven. Si consiglia di utilizzare l'ultima versione disponibile. 

   Ad esempio, questa istruzione aggiunge la versione `2.30.22` del client AWS Common Runtime alle dipendenze Maven. 

   ```
   <dependency>
       <groupId>software.amazon.awssdk</groupId>
       <artifactId>aws-crt-client</artifactId>
       <version>2.30.22</version>
   </dependency>
   ```

1. Per abilitare le suite ibride di cifratura post-quantistica, aggiungile al progetto e inizializzalo. AWS SDK for Java 2.x Quindi abilita le suite di crittografia post-quantistica ibrida come mostrato nell'esempio seguente.

   Questo codice utilizza il parametro `postQuantumTlsEnabled()` method per configurare un [client HTTP di runtime AWS comune](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/http-configuration-crt.html) che preferisce la suite di cifratura post-quantistica ibrida consigliata, ECDH with. ML-KEM Quindi utilizza il client HTTP configurato per creare un'istanza del client asincrono Amazon S3,. [https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3AsyncClient.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/s3/S3AsyncClient.html) Una volta completato questo codice, tutte le richieste API [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/API/) sull'istanza utilizzano `S3AsyncClient` il TLS post-quantistico ibrido.
**Importante**  
A partire dalla versione 2.35.11, i chiamanti non devono più impostare l'attivazione del TLS post-quantistico ibrido per il cliente`.postQuantumTlsEnabled(true)`. Tutte le versioni più recenti della v2.35.11 abilitano il TLS post-quantistico per impostazione predefinita.

   ```
   // Configure HTTP client
   SdkAsyncHttpClient awsCrtHttpClient = AwsCrtAsyncHttpClient.builder()
             .postQuantumTlsEnabled(true)
             .build();
   
   // Create the Amazon S3 async client
   S3AsyncClient s3Async = S3AsyncClient.builder()
            .httpClient(awsCrtHttpClient)
            .build();
   ```

1. Testa le tue chiamate Amazon S3 con TLS post-quantistico ibrido.

   Quando richiami le operazioni API di Amazon S3 sul client Amazon S3 configurato, le tue chiamate vengono trasmesse all'endpoint Amazon S3 utilizzando TLS post-quantistico ibrido. Per testare la tua configurazione, chiama un'API Amazon S3, ad esempio. `[ListBuckets](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html)`

   ```
   ListBucketsResponse reponse = s3Async.listBuckets();
   ```

### Testa la tua configurazione TLS ibrida post-quantistica
<a name="pqtls-testing"></a>

Prendi in considerazione l'esecuzione dei seguenti test con suite di crittografia ibride sulle tue applicazioni che chiamano Amazon S3.
+ Eseguire test di carico e benchmark. Le suite di crittografia ibrida funzionano in modo diverso rispetto agli algoritmi di scambio di chiavi tradizionali. Potrebbe essere necessario modificare i timeout della connessione per consentire tempi di handshake più lunghi. Se esegui all'interno di una AWS Lambda funzione, estendi l'impostazione del timeout di esecuzione.
+ Provare a connettersi da posizioni diverse. A seconda del percorso di rete utilizzato dalla richiesta, è possibile scoprire che host intermedi, proxy o firewall con deep packet inspection (DPI) bloccano la richiesta. Ciò potrebbe derivare dall'utilizzo delle nuove suite di crittografia nella [ClientHello](https://tools.ietf.org/html/rfc5246#section-7.4.1.2)parte dell'handshake TLS o dai messaggi di scambio di chiavi più grandi. In caso di difficoltà con la risoluzione di questi problemi, contattare il team di sicurezza o gli amministratori IT per aggiornare la configurazione pertinente e sbloccare le nuove suite di crittografia TLS. 

# Riservatezza del traffico Internet
<a name="inter-network-traffic-privacy"></a>

Questo argomento descrive come Amazon S3 protegge le connessioni dal servizio ad altri percorsi.

## Traffico tra servizio e applicazioni e client locali
<a name="inter-network-traffic-privacy-on-prem"></a>

Le seguenti connessioni possono essere combinate AWS PrivateLink per fornire connettività tra la rete privata e: AWS
+ Una connessione AWS Site-to-Site VPN. Per ulteriori informazioni, vedi [Cos'è AWS Site-to-Site VPN?](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
+ Una Direct Connect connessione. Per ulteriori informazioni, vedi [Cos'è Direct Connect?](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)

L'accesso ad Amazon S3 tramite la rete avviene tramite AWS Published. APIs I client devono supportare Transport Layer Security (TLS) 1.2. Consigliamo di utilizzare TLS 1.3 con scambio di chiavi post-quantistiche ibrido. I client devono inoltre supportare le suite di cifratura con PFS (Perfect Forward Secrecy), ad esempio Ephemeral Diffie-Hellman (DHE) o Elliptic Curve Diffie-Hellman Ephemeral (ECDHE). La maggior parte dei sistemi moderni come Java 7 e versioni successive, supporta tali modalità. Inoltre, è necessario firmare le richieste utilizzando un ID chiave di accesso e la chiave di accesso segreta associate a un principale IAM, oppure è possibile utilizzare [AWS Security Token Service (STS)](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html) per generare le credenziali di sicurezza temporanee per firmare le richieste.

## Traffico tra AWS risorse nella stessa regione
<a name="inter-network-traffic-privacy-within-region"></a>

Un endpoint Virtual Private Cloud (VPC) Amazon S3 è un'entità logica all'interno di un VPC che consente la connettività solo ad Amazon S3 Il VPC instrada le richieste ad Amazon S3 e le risposte al VPC. Per ulteriori informazioni, consulta [Endpoint VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) nella *Guida per l'utente di VPC*. Per policy del bucket di esempio che puoi utilizzare per controllare l'accesso ai bucket S3 da endpoint VPC, consulta [Controllo dell'accesso dagli endpoint VPC con policy di bucket](example-bucket-policies-vpc-endpoint.md). 

# AWS PrivateLink per Amazon S3
<a name="privatelink-interface-endpoints"></a>

Con AWS PrivateLink Amazon S3, puoi fornire endpoint *VPC di interfaccia (endpoint* di interfaccia) nel tuo cloud privato virtuale (VPC). Questi endpoint sono accessibili direttamente dalle applicazioni locali tramite VPN e/o in un altro modo di peering Regione AWS tramite VPC. Direct Connect

Gli endpoint dell'interfaccia sono rappresentati da una o più interfacce di rete elastiche (ENIs) a cui vengono assegnati indirizzi IP privati dalle sottoreti del VPC. Le richieste ad Amazon S3 tramite gli endpoint di interfaccia rimangono nella rete Amazon. Puoi anche accedere agli endpoint di interfaccia nel tuo VPC da applicazioni locali AWS Direct Connect tramite AWS Virtual Private Network o ().Site-to-Site VPN Per ulteriori informazioni su come connettere il VPC alla rete on-premises, consulta la [Guida per l’utente di Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) e la [Guida per l’utente di AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html).

Per informazioni sulla creazione di endpoint di interfaccia, consulta [Endpoint VPC di interfaccia (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html) nella *Guida di AWS PrivateLink *.

**Topics**
+ [Tipi di endpoint VPC per Amazon S3](#types-of-vpc-endpoints-for-s3)
+ [Restrizioni e limitazioni di AWS PrivateLink per Amazon S3](#privatelink-limitations)
+ [Creazione di un endpoint VPC](#s3-creating-vpc)
+ [Accesso agli endpoint di interfaccia di Amazon S3](#accessing-s3-interface-endpoints)
+ [Tipi di indirizzi IP per endpoint VPC](#privatelink-ip-address-types)
+ [Tipi di IP di record DNS per endpoint VPC](#privatelink-dns-record-types)
+ [DNS privato](#private-dns)
+ [Accesso ai bucket, ai punti di accesso e alle operazioni API di controllo Amazon S3 dagli endpoint di interfaccia S3](#accessing-bucket-and-aps-from-interface-endpoints)
+ [Aggiornamento di una configurazione DNS locale](#updating-on-premises-dns-config)
+ [Creazione di una policy per l'endpoint VPC per Amazon S3](#creating-vpc-endpoint-policy)

## Tipi di endpoint VPC per Amazon S3
<a name="types-of-vpc-endpoints-for-s3"></a>

Puoi utilizzare due tipi di endpoint VPC per accedere ad Amazon S3: endpoint *gateway ed endpoint* di *interfaccia* (utilizzando). AWS PrivateLink Un *endpoint gateway* è un gateway specificato nella tabella di routing per accedere ad Amazon S3 dal tuo VPC tramite la rete. AWS Gli *endpoint di interfaccia* estendono la funzionalità degli endpoint gateway utilizzando indirizzi IP privati per instradare le richieste ad Amazon S3 dall'interno del tuo VPC, in locale o da un VPC in un altro tramite peering VPC o. Regione AWS AWS Transit Gateway Per ulteriori informazioni, consulta [Che cos'è il peering di VPC?](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) e [Transit Gateway e peering di VPC](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/transit-gateway-vs-vpc-peering.html).

Gli endpoint di interfaccia sono compatibili con gli endpoint gateway. Se disponi di un endpoint gateway nel VPC, puoi utilizzare entrambi i tipi di endpoint nello stesso VPC.


|  Endpoint gateway per Amazon S3  |  Endpoint di interfaccia per Amazon S3  | 
| --- | --- | 
|  In entrambi i casi, il traffico di rete rimane sulla rete. AWS   | 
|  Uso di indirizzi IP pubblici di Amazon S3  |  Uso di indirizzi IP privati del tuo VPC per accedere ad Amazon S3  | 
|  Uso degli stessi nomi DNS di Simple Storage Service (Amazon S3)  |  [Richiesta di nomi DNS di Simple Storage Service (Amazon S3) specifici per endpoint](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html#accessing-s3-interface-endpoints)  | 
|  Non consente l'accesso da on-premise  |  Consente l'accesso da On-Premise  | 
|  Non consentire l'accesso da parte di un altro Regione AWS  |  Consenti l'accesso da un VPC a un altro Regione AWS utilizzando il peering VPC o AWS Transit Gateway  | 
|  Non fatturata  |  Fatturata  | 

*Per ulteriori informazioni, consulta [Endpoint gateway e endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/gateway-endpoints.html) [VPC di interfaccia](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html) nella Guida.AWS PrivateLink *

## Restrizioni e limitazioni di AWS PrivateLink per Amazon S3
<a name="privatelink-limitations"></a>

Le limitazioni VPC si applicano AWS PrivateLink ad Amazon S3. Per ulteriori informazioni, consulta [Considerazioni di un endpoint di interfaccia](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#vpce-interface-limitations) e [Quote di AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-limits-endpoints.html) nella *Guida di AWS PrivateLink *. Inoltre, si applicano le limitazioni seguenti:

Gli endpoint di interfaccia per Amazon S3 non supportano quanto segue:
+ [Endpoint FIPS (Federal Information Processing Standard)](https://aws.amazon.com/compliance/fips/)
+ [Endpoint del sito Web](WebsiteEndpoints.md)
+ [Endpoint globali legacy](VirtualHosting.md#deprecated-global-endpoint)
+ [Endpoint S3 - Regione](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html)
+ Utilizzo [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)o [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)tra bucket in diversi Regioni AWS
+ Transport Layer Security (TLS) 1.0
+ Transport Layer Security (TLS) 1.1
+ Transport Layer Security (TLS) 1.3
+ Transport Layer Security (TLS) ibrido post-quantistico

## Creazione di un endpoint VPC
<a name="s3-creating-vpc"></a>

Per creare un endpoint di interfaccia VPC, consulta [Creazione di un endpoint VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint-aws) nella *Guida AWS PrivateLink *. *Per creare un endpoint gateway VPC, consulta [Creare un endpoint gateway](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#create-gateway-endpoint-s3) nella Guida.AWS PrivateLink *

## Accesso agli endpoint di interfaccia di Amazon S3
<a name="accessing-s3-interface-endpoints"></a>

Quando crei un endpoint di interfaccia, Amazon S3 genera due tipi di nomi DNS S3 specifici dell'endpoint: *regionale* e *zonale*. 
+ Un nome DNS *regionale* include un ID endpoint VPC univoco, un identificatore di servizio, Regione AWS`vpce.amazonaws.com` il e nel nome. Ad esempio, per l'ID endpoint VPC `vpce-1a2b3c4d`, il nome DNS generato potrebbe essere simile a `vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com`.
+ I nomi DNS *zonali* includono la zona di disponibilità, ad esempio `vpce-1a2b3c4d-5e6f-us-east-1a.s3.us-east-1.vpce.amazonaws.com`. Puoi utilizzare questa opzione se l'architettura isola le zone di disponibilità. Ad esempio, puoi utilizzarla per il contenimento degli errori o per ridurre i costi di trasferimento dei dati a livello regionale.

I nomi DNS S3 specifici degli endpoint possono essere risolti dal dominio DNS pubblico S3.

Gli endpoint VPC per Amazon S3 supportano diversi tipi di indirizzamento IP, tra cui: IPv4, e Dualstack. IPv6 Consulta [Tipi di indirizzi IP per endpoint VPC](#privatelink-ip-address-types) e [Tipi di IP di record DNS per endpoint VPC](#privatelink-dns-record-types). 

## Tipi di indirizzi IP per endpoint VPC
<a name="privatelink-ip-address-types"></a>

Gli endpoint VPC per Amazon S3 supportano diversi tipi di indirizzamento IP, tra cui:
+ **IPv4**

  Gli endpoint VPC possono essere configurati per utilizzare solo IPv4 indirizzi per la connettività.
+ **IPv6**

  Gli endpoint VPC possono essere configurati per utilizzare solo IPv6 indirizzi per la connettività.
+ **Dual-stack**

  Gli endpoint VPC possono essere configurati in modalità dual-stack, supportando sia gli indirizzi che gli indirizzi contemporaneamente. IPv4 IPv6 Ciò offre la flessibilità necessaria per accedere ad Amazon S3 tramite una IPv4 o IPv6 più reti.

Il tipo di indirizzo IP scelto per l'endpoint VPC dipenderà dai requisiti di rete delle applicazioni e dell'infrastruttura. Le considerazioni possono includere gli schemi di indirizzamento IP utilizzati nel tuo VPC, nelle reti locali e nella connettività Internet ad Amazon S3. Per ulteriori informazioni, consulta i tipi di indirizzi IP per gli [endpoint di interfaccia](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-access-aws-services.html#aws-service-ip-address-type) e gli [endpoint gateway](https://docs.aws.amazon.com/vpc/latest/privatelink/gateway-endpoints.html#gateway-endpoint-ip-address-type) nella guida *Amazon Virtual Private Cloud*.

## Tipi di IP di record DNS per endpoint VPC
<a name="privatelink-dns-record-types"></a>

A seconda del tipo di indirizzo IP, quando chiami un endpoint VPC, Servizio AWS può restituire `A` record, `AAAA` record o entrambi i `A` record. `AAAA` È possibile personalizzare i tipi di record restituiti dal AWS servizio modificando il tipo IP del record DNS. La tabella seguente mostra i tipi di IP dei record DNS supportati e i tipi di indirizzi IP:


| Tipi di indirizzo IP supportati | Tipi di IP di record DNS | 
| --- | --- | 
| IPv4 | IPv4 | 
| IPv6 | IPv6 | 
| Dualstack | Dualstack,, Definito dal servizio IPv4 IPv6 | 

### Configurazione del tipo IP del record DNS definito dal servizio per Amazon S3
<a name="privatelink-dns-record-types-configure"></a>

Se crei un endpoint gateway per Amazon S3 e configuri il tipo IP del record DNS come definito dal servizio e utilizzi l'endpoint di servizio regionale, (ad esempio)`s3.us-east-2.amazonaws.com`, Amazon S3 restituisce i record ai tuoi clienti. `A` Al contrario, se crei un endpoint gateway e utilizzi un endpoint di servizio dual-stack (ad esempio`s3.dualstack.us-east-2.amazonaws.com`) e selezioni il tipo IP del record DNS come, Amazon `service-defined` S3 restituisce entrambi i record ai tuoi clienti. `A` `AAAA`

Allo stesso modo, se crei un endpoint di interfaccia con DNS privato abilitato e scegli service-defined come tipo di record DNS, per l'endpoint di servizio regionale (ad esempio,), `s3.us-east-2.amazonaws.com` Amazon S3 restituisce i record al tuo client. `A` Invece, per un endpoint di servizio dualstack, (ad esempio,), `s3.dualstack.us-east-2.amazonaws.com` Amazon S3 restituisce entrambi i record. `A` `AAAA` *Per ulteriori informazioni, consulta il tipo di IP del record DNS per gli endpoint di [interfaccia e gli endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-access-aws-services.html#aws-services-dns-record-ip-type) [gateway](https://docs.aws.amazon.com/vpc/latest/privatelink/gateway-endpoints.html#gateway-endpoint-dns-record-ip-type) nella VPC User Guide.*

La tabella seguente mostra i tipi di IP di record DNS supportati per gli endpoint gateway e di interfaccia:


| Tipo di indirizzo IP | Tipi di IP di record DNS supportati per gli endpoint S3 Gateway | Tipi di IP di record DNS supportati per gli endpoint dell'interfaccia S3  | 
| --- | --- | --- | 
| IPv4 | IPv4, definito dal servizio\$1 | IPv4 | 
| IPv6 | IPv6, definito dal servizio\$1 | IPv6 | 
| Dualstack | IPv4, IPv6 Dualstack, definito dal servizio\$1 |  IPv4Dualstack\$1 IPv6,, definito dal servizio | 

\$1 Rappresenta il tipo IP di record DNS predefinito.

Per abilitare la IPv6 connettività su un gateway o un endpoint di interfaccia S3 esistente, aggiorna il tipo di indirizzo IP dell'endpoint a. **Dualstack** Una volta aggiornato, Amazon S3 aggiorna automaticamente le tabelle di routing con gli IPv6 indirizzi per gli endpoint del gateway. Quindi puoi utilizzare l'endpoint del servizio dualstack, ad esempio, e `s3.dualstack.us-east-2.amazonaws.com` Amazon S3 restituirà entrambi `A` i `AAAA` record per le query DNS dualstack S3. Se desideri utilizzarlo IPV6 con l'endpoint del servizio regionale, ad esempio, modifica il tipo di indirizzo IP per l'endpoint e il tipo IP del record DNS in. `s3.us-east-2.amazonaws.com` **Dualstack** **Dualstack** Quindi Amazon S3 restituirà entrambi i `A` `AAAA` record per le query DNS S3 regionali.

**Considerazioni**  
Se l'endpoint gateway ha la configurazione predefinita del tipo di indirizzo IP `IPv4` e il tipo di IP del record DNS`service-defined`, allora l'endpoint del servizio dualstack (ad esempio`s3.dualstack.us-east-2.amazonaws.com`), il traffico che utilizza `AAAA` i record non verrà instradato attraverso l'endpoint del gateway. Al contrario, questo traffico verrà interrotto o indirizzato su un percorso compatibile, se presente. IPv6 Ad esempio, se il tuo cloud privato virtuale (VPC) dispone di un gateway Internet, in questo IPv6 scenario il traffico verrà indirizzato sul gateway Internet nel tuo VPC. Se desideri garantire che il traffico venga sempre instradato su un endpoint VPC, puoi utilizzare una policy di bucket Amazon S3 che limita l'accesso a un bucket specifico se non viene utilizzato un endpoint VPC specificato. Per ulteriori informazioni, consulta [Limitazione dell'accesso a un endpoint VPC specifico](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies-vpc-endpoint.html#example-bucket-policies-restrict-accesss-vpc-endpoint).
Se l'endpoint di interfaccia ha la configurazione predefinita del tipo di indirizzo IP, ovvero, e il tipo di IP del record DNS IPv4, gli endpoint del servizio dualstack IPv4, ad esempio, non sono supportati. `ass3.dualstack.us-east-2.amazonaws.com` Il traffico che utilizza `A` o i `AAAA` record degli endpoint del servizio dualstack non verrà instradato attraverso l'endpoint di interfaccia. Al contrario, questo traffico verrà interrotto o indirizzato su un altro percorso compatibile, se presente.
La creazione o la modifica di un endpoint gateway con un tipo IP di record DNS diverso da quello definito dal servizio richiede che entrambi gli attributi e `enableDnsSupport` `enableDnsHostnames` VPC siano impostati su true.

## DNS privato
<a name="private-dns"></a>

Le opzioni DNS private per gli endpoint di interfaccia VPC semplificano l'instradamento del traffico S3 sugli endpoint VPC e consentono di sfruttare il percorso di rete più economico disponibile per l'applicazione. Puoi utilizzare le opzioni DNS private per indirizzare il traffico regionale S3 senza aggiornare i client S3 per usare i nomi DNS specifici degli endpoint di interfaccia o gestire l'infrastruttura DNS. Con i nomi DNS privati abilitati, le query DNS regionali di S3 vengono risolte negli indirizzi IP privati dei seguenti endpoint: AWS PrivateLink 
+ Endpoint di bucket regionale (ad esempio, `s3.us-east-1.amazonaws.com`)
+ Endpoint di controllo (ad esempio, `s3-control.us-east-1.amazonaws.com`)
+ Endpoint di punto di accesso (ad esempio, `s3-accesspoint.us-east-1.amazonaws.com`)

Se hai un endpoint gateway nel tuo VPC, puoi indirizzare automaticamente le richieste in entrata nel VPC all'endpoint gateway S3 esistente e le richieste on-premise all'endpoint di interfaccia. Questo approccio consente di ottimizzare i costi di rete utilizzando gli endpoint gateway, che non vengono fatturati, per il traffico in entrata nel VPC. Le applicazioni locali possono essere utilizzate AWS PrivateLink con l'aiuto dell'endpoint Resolver in entrata. Amazon fornisce un server DNS chiamato il Route 53 Resolver per il tuo VPC. Un endpoint del resolver in entrata inoltra le query DNS dalla rete on-premise al Route 53 Resolver.

**Importante**  
Per sfruttare il percorso di rete più economico quando si utilizza **Abilita DNS privato solo per gli endpoint in entrata**, è necessario che nel cloud privato virtuale sia presente un endpoint gateway. La presenza di un endpoint gateway aiuta a garantire che il traffico in entrata nel VPC venga sempre indirizzato sulla rete privata AWS quando è selezionata l'opzione **Abilita DNS privato solo per gli endpoint in entrata**. È necessario mantenere questo endpoint gateway se è selezionata l'opzione **Abilita DNS privato solo per gli endpoint in entrata**. Se desideri eliminare l'endpoint gateway, devi prima deselezionare **Abilita DNS privato solo per gli endpoint in entrata**.   
Se desideri aggiornare un endpoint di interfaccia esistente su **Abilita DNS privato solo per gli endpoint in entrata** verifica innanzitutto che il tuo VPC disponga di un endpoint gateway S3. Per ulteriori informazioni sugli endpoint gateway e sulla gestione dei nomi DNS privati, consulta rispettivamente [Endpoint gateway del VPC](https://docs.aws.amazon.com//vpc/latest/privatelink/vpce-gateway.html) e [Gestione dei nomi DNS](https://docs.aws.amazon.com//vpc/latest/privatelink/manage-dns-names.html) nella *Guida di AWS PrivateLink *.  
**Quando si abilita il **DNS privato solo per il resolver in ingresso**, l'endpoint del gateway deve corrispondere a quello `dnsRecordIpType` dell'endpoint di interfaccia o essere definito dal servizio.**

L'opzione **Abilita DNS privato solo per gli endpoint in entrata** è disponibile solo per i servizi che supportano gli endpoint gateway.

Per ulteriori informazioni sulla creazione di un endpoint VPC che utilizza **Abilita DNS privato solo per gli endpoint in entrata**, consulta [Creare un endpoint di interfaccia](https://docs.aws.amazon.com//vpc/latest/privatelink/create-interface-endpoint.html) nella *Guida di AWS PrivateLink *.

**Utilizzo della console VPC**

Nella console sono disponibili due opzioni: **Abilita nome DNS** e **Abilita DNS privato solo per gli endpoint in entrata**. **Abilita il nome DNS** è un'opzione supportata da. AWS PrivateLink Con l'opzione **Abilita nome DNS** puoi utilizzare la connettività privata di Amazon ad Amazon S3, effettuando richieste ai nomi DNS predefiniti degli endpoint pubblici. Quando questa opzione è abilitata, i clienti possono sfruttare il percorso di rete più economico disponibile per la loro applicazione.

Quando abiliti i nomi DNS privati su un endpoint di interfaccia VPC esistente o nuovo per Amazon S3, l'opzione **Abilita DNS privato solo per gli endpoint in entrata** è selezionata per impostazione predefinita. Se questa opzione è selezionata, le applicazioni utilizzano solo gli endpoint di interfaccia per il traffico on-premise. Il traffico VPC in entrata utilizza automaticamente gli endpoint gateway più economici. In alternativa, puoi deselezionare **Abilita DNS privato solo per gli endpoint in entrata** per indirizzare tutte le richieste S3 sull'endpoint di interfaccia.

**Utilizzando il AWS CLI**

Se non specifichi un valore per `PrivateDnsOnlyForInboundResolverEndpoint`, viene usata l'impostazione predefinita `true`. Tuttavia, prima che il cloud privato virtuale applichi le impostazioni, esegue un controllo per assicurarsi che nel cloud privato VPC sia presente un endpoint gateway. Se nel cloud privato virtuale è presente un endpoint gateway, la chiamata ha esito positivo. In caso contrario, viene visualizzato il seguente messaggio di errore: 

Per essere impostato su PrivateDnsOnlyForInboundResolverEndpoint true, il VPC *vpce\$1id* deve disporre di un endpoint gateway per il servizio.

**Per un nuovo endpoint di interfaccia VPC**

Usa gli attributi `private-dns-enabled` e `dns-options` per abilitare il DNS privato tramite la linea di comando. L'opzione `PrivateDnsOnlyForInboundResolverEndpoint` nell'attributo `dns-options` deve essere impostata su `true`. Sostituisci `user input placeholders` con le informazioni appropriate.

```
aws ec2 create-vpc-endpoint \
--region us-east-1 \
--service-name s3-service-name \
--vpc-id client-vpc-id \
--subnet-ids client-subnet-id \ 
--vpc-endpoint-type Interface  \
--private-dns-enabled  \
--ip-address-type ip-address-type \ 
--dns-options PrivateDnsOnlyForInboundResolverEndpoint=true \
--security-group-ids client-sg-id
```

**Per un endpoint VPC esistente**

Se desideri utilizzare il DNS privato per un endpoint VPC esistente, usa il seguente comando di esempio e sostituisci `user input placeholders` con le tue specifiche informazioni.

```
aws ec2 modify-vpc-endpoint \
--region us-east-1 \
--vpc-endpoint-id client-vpc-id \
--private-dns-enabled \
--dns-options PrivateDnsOnlyForInboundResolverEndpoint=false
```

Se desideri aggiornare un endpoint VPC esistente per abilitare il DNS privato solo per il risolutore in entrata, usa il seguente esempio e sostituisci i valori di esempio con le tue specifiche informazioni.

```
aws ec2 modify-vpc-endpoint \
--region us-east-1 \
--vpc-endpoint-id client-vpc-id \
--private-dns-enabled \
--dns-options PrivateDnsOnlyForInboundResolverEndpoint=true
```

## Accesso ai bucket, ai punti di accesso e alle operazioni API di controllo Amazon S3 dagli endpoint di interfaccia S3
<a name="accessing-bucket-and-aps-from-interface-endpoints"></a>

Puoi utilizzare AWS CLI o AWS SDKs per accedere a bucket, punti di accesso S3 e operazioni dell'API Amazon S3 Control tramite gli endpoint dell'interfaccia S3. 

Nell'immagine seguente viene illustrata la scheda **Dettagli** della console VPC, in cui è possibile trovare il nome DNS di un endpoint VPC. In questo esempio, l'*ID endpoint VPC (vpce-id)* è `vpce-0e25b8cdd720f900e` e il *nome DNS* è `*.vpce-0e25b8cdd720f900e-argc85vg.s3.us-east-1.vpce.amazonaws.com`. 







![\[Scheda Dettagli nella console VPC.\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/vpc-console-details-tab.png)


Quando usi il nome DNS per accedere a una risorsa, sostituiscilo con il valore appropriato. *\$1* I valori appropriati da utilizzare al posto di `*` sono i seguenti: 
+ `bucket`
+ `accesspoint`
+ `control`

Ad esempio, per accedere a un bucket, usa un *nome DNS* simile al seguente:

 `bucket.vpce-0e25b8cdd720f900e-argc85vg.s3.us-east-1.vpce.amazonaws.com`

Per esempi di come utilizzare i nomi DNS per accedere a bucket, punti di accesso e operazioni API di controllo Amazon S3, consulta le sezioni [AWS CLI esempi](#privatelink-aws-cli-examples) e [AWS Esempi SDK](#privatelink-aws-sdk-examples).

Per ulteriori informazioni su come visualizzare i nomi DNS specifici degli endpoint, consulta [Visualizzazione della configurazione dei nomi DNS privati del servizio endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/view-vpc-endpoint-service-dns-name.html) nella *Guida per l'utente di VPC*.

### AWS CLI esempi
<a name="privatelink-aws-cli-examples"></a>

Per accedere ai bucket S3, ai punti di accesso S3 o alle operazioni dell'API Amazon S3 Control tramite gli endpoint dell'interfaccia S3 nei AWS CLI comandi, utilizza i parametri and. `--region` `--endpoint-url` 

**Esempio: utilizzo dell'URL dell'endpoint per elencare gli oggetti nel bucket**  
Nell'esempio seguente, sostituisci il nome bucket `my-bucket`, Regione `us-east-1` e il nome DNS dell'ID endpoint VPC `vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com` con le tue informazioni.

```
aws s3 ls s3://my-bucket/ --region us-east-1 --endpoint-url https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com
```

**Esempio: utilizzo dell'URL dell'endpoint per elencare gli oggetti da un punto di accesso**
+ **Metodo 1**: utilizzo del nome della risorsa Amazon (ARN) del punto di accesso con l'endpoint del punto di accesso

  Sostituisci l'ARN `us-east-1:123456789012:accesspoint/accesspointexamplename`, la Regione `us-east-1` e l'ID endpoint VPC `vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com` con le informazioni appropriate.

  ```
  aws s3api list-objects-v2 --bucket arn:aws:s3:us-east-1:123456789012:accesspoint/accesspointexamplename --region us-east-1 --endpoint-url https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com
  ```

  Se non riesci a eseguire correttamente il comando, aggiorna il comando AWS CLI alla versione più recente e riprova. Per ulteriori informazioni sulle istruzioni di aggiornamento, consulta [ Istruzioni per l'installazione o l'aggiornamento all'ultima versione della AWS CLI](https://docs.aws.amazon.com//cli/latest/userguide/getting-started-install.html#getting-started-install-instructions) nella *Guida per l'utente di AWS Command Line Interface *.
+ **Metodo 2**: utilizzo dell'alias del punto di accesso con l'endpoint bucket regionale

  Nell'esempio seguente, sostituisci l'alias del punto di accesso `accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias`, la Regione `us-east-1` e l'ID endpoint VPC `vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com` con le informazioni appropriate.

  ```
  aws s3api list-objects-v2 --bucket accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias --region us-east-1 --endpoint-url https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com
  ```
+ **Metodo 3**: utilizzo dell'alias del punto di accesso con l'endpoint del punto di accesso

  Innanzitutto, per creare un endpoint S3 con il bucket incluso come parte del nome host, imposta lo stile di indirizzamento su `virtual` per `aws s3api`. Per ulteriori informazioni su `AWS configure`, consulta [File di configurazione e delle credenziali](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html) nella *Guida per l'utente di AWS Command Line Interface *. 

  ```
  aws configure set default.s3.addressing_style virtual
  ```

  Quindi, nell'esempio seguente, sostituisci l'alias del punto di accesso `accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias`, la Regione `us-east-1` e l'ID endpoint VPC `vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com` con le informazioni appropriate. Per ulteriori informazioni sull'alias del punto di accesso, consulta [Alias del punto di accesso](access-points-naming.md#access-points-alias).

  ```
  aws s3api list-objects-v2 --bucket accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias --region us-east-1 --endpoint-url https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com
  ```

**Esempio: utilizzo dell'URL dell'endpoint per elencare i processi con un'operazione API di controllo S3**  
Nell'esempio seguente, sostituisci la Regione `us-east-1`, l'ID endpoint VPC `vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com` e l'ID account `12345678` con le informazioni appropriate.

```
aws s3control --region us-east-1 --endpoint-url https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com list-jobs --account-id 12345678
```

### AWS Esempi SDK
<a name="privatelink-aws-sdk-examples"></a>

Per accedere ai bucket S3, ai punti di accesso S3 o alle operazioni dell'API Amazon S3 Control tramite gli endpoint dell'interfaccia S3 quando usi AWS SDKs, aggiorna il tuo alla versione più recente. SDKs Quindi configura i client per utilizzare un URL endpoint per accedere a un bucket, un punto di accesso o un'operazione API di controllo Amazon S3 tramite gli endpoint di interfaccia S3. 

------
#### [ SDK for Python (Boto3) ]

**Esempio: utilizzo di un URL endpoint per accedere a un bucket S3**  
Nell'esempio seguente, sostituisci la Regione `us-east-1` e l'ID endpoint VPC `vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com` con le informazioni appropriate. 

```
s3_client = session.client(
service_name='s3',
region_name='us-east-1',
endpoint_url='https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com'
)
```

**Esempio: utilizzare un URL endpoint per accedere a un punto di accesso S3**  
Nell'esempio seguente, sostituisci la Regione `us-east-1` e l'ID endpoint VPC `vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com` con le informazioni appropriate. 

```
ap_client = session.client(
service_name='s3',
region_name='us-east-1',
endpoint_url='https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com'
)
```

**Esempio: utilizzo di un URL endpoint per accedere all'API di controllo Amazon S3**  
Nell'esempio seguente, sostituisci la Regione `us-east-1` e l'ID endpoint VPC `vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com` con le informazioni appropriate. 

```
control_client = session.client(
service_name='s3control',
region_name='us-east-1',
endpoint_url='https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com'
)
```

------
#### [ SDK for Java 1.x ]

**Esempio: utilizzo di un URL endpoint per accedere a un bucket S3**  
Nell'esempio seguente, sostituisci l'ID endpoint VPC `vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com` con le informazioni appropriate. 

```
// bucket client
final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withEndpointConfiguration(
        new AwsClientBuilder.EndpointConfiguration(
                "https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com",
                Regions.DEFAULT_REGION.getName()
        )
).build();
List<Bucket> buckets = s3.listBuckets();
```

**Esempio: utilizzare un URL endpoint per accedere a un punto di accesso S3**  
Nell'esempio seguente, sostituisci l'ID endpoint VPC `vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com` e l'ARN `us-east-1:123456789012:accesspoint/prod` con le informazioni appropriate. 

```
// accesspoint client
final AmazonS3 s3accesspoint = AmazonS3ClientBuilder.standard().withEndpointConfiguration(
        new AwsClientBuilder.EndpointConfiguration(
                "https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com",
                Regions.DEFAULT_REGION.getName()
        )
).build();
ObjectListing objects = s3accesspoint.listObjects("arn:aws:s3:us-east-1:123456789012:accesspoint/prod");
```

**Esempio: utilizzo di un URL endpoint per accedere all'operazione API di controllo Amazon S3**  
Nell'esempio seguente, sostituisci l'ID endpoint VPC `vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com` con le informazioni appropriate. 

```
// control client
final AWSS3Control s3control = AWSS3ControlClient.builder().withEndpointConfiguration(
        new AwsClientBuilder.EndpointConfiguration(
                "https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com",
                Regions.DEFAULT_REGION.getName()
        )
).build();
final ListJobsResult jobs = s3control.listJobs(new ListJobsRequest());
```

------
#### [ SDK for Java 2.x ]

**Esempio: utilizzo di un URL endpoint per accedere a un bucket S3**  
Nell'esempio seguente, sostituisci l'ID endpoint VPC `vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com` e la Regione `Region.US_EAST_1` con le informazioni appropriate.

```
// bucket client
Region region = Region.US_EAST_1;
s3Client = S3Client.builder().region(region)
                   .endpointOverride(URI.create("https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com"))
                   .build()
```

**Esempio: utilizzare un URL endpoint per accedere a un punto di accesso S3**  
Nell'esempio seguente, sostituisci l'ID endpoint VPC `vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com` e la Regione `Region.US_EAST_1` con le informazioni appropriate.

```
// accesspoint client
Region region = Region.US_EAST_1;
s3Client = S3Client.builder().region(region)
                   .endpointOverride(URI.create("https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com"))
                   .build()
```

**Esempio: utilizzo di un URL endpoint per accedere all'API di controllo Amazon S3**  
Nell'esempio seguente, sostituisci l'ID endpoint VPC `vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com` e la Regione `Region.US_EAST_1` con le informazioni appropriate.

```
// control client
Region region = Region.US_EAST_1;
s3ControlClient = S3ControlClient.builder().region(region)
                                 .endpointOverride(URI.create("https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com"))
                                 .build()
```

------

## Aggiornamento di una configurazione DNS locale
<a name="updating-on-premises-dns-config"></a>

Quando si utilizzano nomi DNS specifici degli endpoint per accedere agli endpoint di interfaccia per Amazon S3, non è necessario aggiornare il resolver DNS locale. Puoi risolvere il nome DNS specifico dell'endpoint con l'indirizzo IP privato dell'endpoint di interfaccia dal dominio DNS Amazon S3 pubblico. 

### Utilizzo degli endpoint di interfaccia per accedere ad Amazon S3 senza un endpoint gateway o un gateway Internet nel VPC
<a name="using-interface-endpoints"></a>

Gli endpoint di interfaccia nel VPC possono instradare sia le applicazioni nel VPC che le applicazioni locali ad Amazon S3 sulla rete Amazon, come illustrato nel diagramma seguente.

![\[Diagramma del flusso di dati che mostra l'accesso ad Amazon S3 utilizzando un endpoint di interfaccia e. AWS PrivateLink\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/interface-endpoints.png)


Il diagramma illustra quanto segue: 
+ La tua rete locale utilizza Direct Connect o Site-to-Site VPN per connettersi a VPC A.
+ Le applicazioni in locale e in VPC A utilizzano nomi DNS specifici degli endpoint per accedere ad Amazon S3 tramite l'endpoint di interfaccia S3.
+ Le applicazioni locali inviano i dati all'endpoint di interfaccia nel VPC tramite Direct Connect (o). Site-to-Site VPN AWS PrivateLink sposta i dati dall'endpoint dell'interfaccia ad Amazon S3 tramite AWS la rete.
+ Le applicazioni in-VPC inviano inoltre traffico all'endpoint dell'interfaccia. AWS PrivateLink sposta i dati dall'endpoint dell'interfaccia ad Amazon S3 tramite AWS la rete.

### Utilizzo di endpoint gateway e endpoint di interfaccia insieme nello stesso VPC per accedere ad Amazon S3
<a name="using-gateway-and-interface-endpoints"></a>

Puoi creare endpoint di interfaccia e mantenere l'endpoint gateway esistente nello stesso VPC, come illustrato nel diagramma seguente. Con questo approccio consenti alle applicazioni nel VPC di continuare ad accedere ad Amazon S3 tramite l'endpoint gateway senza essere fatturate. Quindi, solo le applicazioni on-premise utilizzerebbero gli endpoint di interfaccia per accedere ad Amazon S3. Per accedere ad Amazon S3 in questo modo, è necessario aggiornare le applicazioni On-Premise per utilizzare nomi DNS specifici degli endpoint per Amazon S3.

![\[Diagramma del flusso di dati che mostra l'accesso ad Amazon S3 tramite endpoint del gateway e endpoint dell'interfaccia.\]](http://docs.aws.amazon.com/it_it/AmazonS3/latest/userguide/images/interface-and-gateway-endpoints.png)


Il diagramma illustra quanto segue: 
+ Le applicazioni locali utilizzano nomi DNS specifici dell'endpoint per inviare dati all'endpoint di interfaccia all'interno del VPC tramite (o). Direct Connect Site-to-Site VPN AWS PrivateLink sposta i dati dall'endpoint dell'interfaccia ad Amazon S3 tramite AWS la rete.
+ Utilizzando i nomi regionali Amazon S3 predefiniti, le applicazioni in-VPC inviano dati all'endpoint gateway che si connette ad Amazon S3 tramite la rete. AWS 

Per ulteriori informazioni sugli endpoint gateway, consulta [Endpoint VPC gateway](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-gateway.html) nella *Guida per l'utente di VPC*. 

## Creazione di una policy per l'endpoint VPC per Amazon S3
<a name="creating-vpc-endpoint-policy"></a>

Puoi allegare una policy di endpoint all'endpoint VPC che controlla l'accesso ad Amazon S3. Questa policy specifica le informazioni riportate di seguito: 
+ Il principale AWS Identity and Access Management (IAM) che può eseguire azioni 
+ Le azioni che possono essere eseguite 
+ Le risorse sui cui si possono eseguire le azioni 

Puoi utilizzare le policy del bucket di Amazon S3 anche per limitare l'accesso a bucket specifici da un endpoint VPC specifico utilizzando la condizione `aws:sourceVpce` nella policy del bucket. Negli esempi seguenti vengono illustrate le policy che limitano l'accesso a un bucket o a un endpoint.

**Topics**
+ [Esempio: limitazione dell'accesso a un bucket specifico da un endpoint VPC](#privatelink-example-restrict-access-to-bucket)
+ [Esempio: limitazione dell'accesso ai bucket in un account specifico da un endpoint VPC](#privatelink-example-access-bucket-in-specific-account-only)
+ [Esempio: limitazione dell'accesso a un endpoint VPC specifico nella policy del bucket S3](#privatelink-example-restrict-access-to-vpc-endpoint)

### Esempio: limitazione dell'accesso a un bucket specifico da un endpoint VPC
<a name="privatelink-example-restrict-access-to-bucket"></a>

Puoi creare una policy di endpoint che limita l'accesso solo a bucket Amazon S3 specifici. Questo tipo di policy è utile se Servizi AWS nel tuo VPC sono presenti altre policy che utilizzano bucket. La seguente policy del bucket limita l'accesso solo a `amzn-s3-demo-bucket1`. Per utilizzare questa policy di endpoint, sostituisci `amzn-s3-demo-bucket1` con il nome del bucket.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Id": "Policy1415115909151",
  "Statement": [
    { "Sid": "Access-to-specific-bucket-only",
      "Principal": "*",
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket1",
                   "arn:aws:s3:::amzn-s3-demo-bucket1/*"]
    }
  ]
}
```

------

### Esempio: limitazione dell'accesso ai bucket in un account specifico da un endpoint VPC
<a name="privatelink-example-access-bucket-in-specific-account-only"></a>

Puoi creare una policy per gli endpoint che limiti l'accesso solo ai bucket S3 in uno specifico caso. Account AWS Per impedire ai client nel VPC di accedere ai bucket di cui non sei proprietario, utilizza la seguente istruzione nella policy di endpoint. Nell'esempio seguente viene creata una policy che limita l'accesso alle risorse di proprietà di un singolo ID Account AWS , *`111122223333`*.

```
{
  "Statement": [
    {
      "Sid": "Access-to-bucket-in-specific-account-only",
      "Principal": "*",
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Effect": "Deny",
      "Resource": "arn:aws:s3:::*",
      "Condition": {
        "StringNotEquals": {
          "aws:ResourceAccount": "111122223333"
        }
      }
    }
  ]
}
```

**Nota**  
Per specificare l' Account AWS ID della risorsa a cui si accede, puoi utilizzare la `aws:ResourceAccount` o la `s3:ResourceAccount` chiave nella tua policy IAM. Tuttavia, tieni presente che alcuni Servizi AWS si basano sull'accesso ai bucket AWS gestiti. Pertanto, l'utilizzo della chiave `aws:ResourceAccount` o `s3:ResourceAccount` nelle policy IAM potrebbe influire sull'accesso a queste risorse.

### Esempio: limitazione dell'accesso a un endpoint VPC specifico nella policy del bucket S3
<a name="privatelink-example-restrict-access-to-vpc-endpoint"></a>

La seguente policy del bucket Amazon S3 consente l'accesso a un bucket specifico, `amzn-s3-demo-bucket2`, solo dall'endpoint VPC `vpce-1a2b3c4d`. La policy nega l'accesso al bucket se l'endpoint specificato non è in uso. La condizione `aws:sourceVpce` viene utilizzata per specificare l'endpoint e non richiede un nome della risorsa Amazon (ARN) per la risorsa dell'endpoint VPC, ma solo l'ID dell'endpoint. Per utilizzare questa politica del bucket, sostituisci `amzn-s3-demo-bucket2` e `vpce-1a2b3c4d` con il nome e l'endpoint del bucket. 

**Importante**  
Quando applichi la seguente policy del bucket Amazon S3 per limitare l'accesso solo a determinati endpoint VPC, potresti senza volerlo bloccare l'accesso al bucket. Le policy del bucket che hanno lo scopo di limitare l'accesso del bucket a connessioni originate dall'endpoint VPC possono bloccare tutte le connessioni al bucket. Per informazioni su come risolvere questo problema, consulta [La policy del bucket ha l'ID del VPC o dell'endpoint VPC sbagliato. Come posso correggere la policy in modo da poter accedere al bucket? nel ](https://aws.amazon.com/premiumsupport/knowledge-center/s3-regain-access/)Knowledge Center di *Supporto *.
Prima di utilizzare la policy di esempio seguente, sostituire l'ID endpoint VPC con un valore appropriato per il caso d'uso. In caso contrario, non sarà possibile accedere al bucket. 
Questa policy disabilita l'accesso alla *console* al bucket specificato in quanto le richieste della console non provengono dall'endpoint VPC specificato. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Id": "Policy1415115909152",
  "Statement": [
    { "Sid": "Access-to-specific-VPCE-only",
      "Principal": "*",
      "Action": "s3:*",
      "Effect": "Deny",
      "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket2",
                   "arn:aws:s3:::amzn-s3-demo-bucket2/*"],
      "Condition": {"StringNotEquals": {"aws:sourceVpce": "vpce-1a2b3c4d"}}
    }
  ]
}
```

------

Per altri esempi di policy, consulta [Endpoint per Amazon S3](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#vpc-endpoints-policies-s3) nella *Guida per l'utente di VPC*.

Per ulteriori informazioni sulla connettività VPC, consulta le opzioni di [Network-to-VPC connettività nel AWS white paper Opzioni](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html) di connettività di [Amazon Virtual](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/welcome.html) Private Cloud.

# Convalida della conformità per Amazon S3
<a name="s3-compliance"></a>

La sicurezza e la conformità di Amazon S3 vengono valutate da revisori di terze parti nell'ambito di diversi programmi di AWS conformità, tra cui:
+ System and Organization Controls (SOC)
+ Payment Card Industry Data Security Standard (PCI DSS)
+ Federal Risk and Authorization Management Program (FedRAMP)
+ Health Insurance Portability and Accountability Act (HIPAA)

AWS fornisce un elenco di AWS servizi aggiornato di frequente nell'ambito di specifici programmi di conformità nella pagina [AWS Services in Scope by](https://aws.amazon.com/compliance/services-in-scope/) Compliance Program. 

I report di audit di terze parti possono essere scaricati utilizzando AWS Artifact. Per ulteriori informazioni, consulta [Scaricamento dei report in AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html). 

Per ulteriori informazioni sui programmi di AWS conformità, consulta Programmi di [AWS conformità](https://aws.amazon.com/compliance/programs/).

La responsabilità della conformità durante l'utilizzo di Amazon S3 è determinata dalla riservatezza dei dati, dagli obiettivi di conformità dell'organizzazione e dalle leggi e normative in vigore. Se l'utilizzo di Amazon S3 è soggetto alla conformità a standard come HIPAA, PCI o FedRAMP, AWS fornisce alcune risorse utili:
+ [Guide introduttive su sicurezza e conformità](https://aws.amazon.com/quickstart/?awsf.quickstart-homepage-filter=categories%23security-identity-compliance) che illustrano le considerazioni sull'architettura e i passaggi da seguire per implementare ambienti di base incentrati sulla sicurezza e la conformità. AWS
+ [Architecting for HIPAA Security and Compliance descrive in che modo le aziende utilizzano per aiutarle a soddisfare i requisiti](https://docs.aws.amazon.com/whitepapers/latest/architecting-hipaa-security-and-compliance-on-aws/architecting-hipaa-security-and-compliance-on-aws.html) HIPAA. AWS 
+ [AWS Le risorse per la conformità](https://aws.amazon.com/compliance/resources/) forniscono diverse cartelle di lavoro e guide che potrebbero essere applicabili al settore e alla località in cui operate.
+ [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config.html) è utile per valutare il livello di conformità delle configurazioni delle risorse con pratiche interne, linee guida e regolamenti del settore.
+ [AWS Security Hub](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html) ti offre una visione completa del tuo stato di sicurezza interno AWS e ti aiuta a verificare la tua conformità agli standard e alle migliori pratiche del settore della sicurezza. 
+ [Blocco di oggetti con Object Lock](object-lock.md) consente di soddisfare i requisiti tecnici degli organi di regolamentazione finanziaria (ad esempio, SEC, FINRA e CFTC) che richiedono storage dei dati WORM (Write Once, Read Many) per alcuni tipi di informazioni su registri e record. 
+ [Catalogazione e analisi dei dati con Inventario S3](storage-inventory.md) permette di svolgere revisioni e creare report sullo stato di replica e crittografia degli oggetti per esigenze aziendali, normative e di conformità.

# Resilienza in Amazon S3
<a name="disaster-recovery-resiliency"></a>

L'infrastruttura AWS globale è costruita attorno a regioni e zone di disponibilità. Regioni AWS forniscono zone di disponibilità multiple, fisicamente separate e isolate, collegate con reti a bassa latenza, throughput elevato e altamente ridondante. Queste zone di disponibilità offrono un modo efficace per progettare e gestire le applicazioni e i database. Sono più disponibili, tolleranti ai guasti e scalabili rispetto alle infrastrutture a data center singolo o multiplo tradizionali. Se avete specificamente bisogno di replicare i dati su distanze geografiche maggiori, potete utilizzare[Replica di oggetti all'interno e tra le Regioni](replication.md), che consente la copia automatica e asincrona degli oggetti tra bucket diversi. Regioni AWS

Ciascuno ha più zone di disponibilità. Regione AWS Puoi distribuire le applicazioni tra più zone di disponibilità nella stessa regione per avere maggiore tolleranza ai guasti e una bassa latenza. Le zone di disponibilità sono collegate tra loro con velocissime reti in fibra ottica private, per consentire ai clienti di progettare applicazioni che eseguano il failover su diverse zone di disponibilità senza provocare interruzioni.

Per ulteriori informazioni sulle zone Regioni AWS di disponibilità, vedere [AWS Global Infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/).

Oltre all'infrastruttura AWS globale, Amazon S3 offre diverse funzionalità per supportare le esigenze di resilienza e backup dei dati.

**Configurazione del ciclo di vita**  
Una configurazione del ciclo di vita è un insieme di regole che definiscono le operazioni applicate da Amazon S3 a un gruppo di oggetti. Tramite le regole di configurazione del ciclo di vita, è possibile indicare ad Amazon S3 di trasferire gli oggetti in classi di storage meno costose, archiviarli o eliminarli. Per ulteriori informazioni, consulta [Gestione del ciclo di vita degli oggetti](object-lifecycle-mgmt.md).

**Funzione Controllo delle versioni**  
La funzione Controllo delle versioni è un modo per conservare più versioni di un oggetto nello stesso bucket. La funzione Controllo delle versioni può essere impiegata per conservare, recuperare e ripristinare qualsiasi versione di ogni oggetto archiviato nel bucket Amazon S3. Con la funzione Controllo delle versioni si può facilmente eseguire il ripristino dopo errori dell'applicazione e operazioni non intenzionali dell'utente. Per ulteriori informazioni, consulta [Conservazione di più versioni degli oggetti con Controllo delle versioni S3](Versioning.md).

**Blocco di oggetti in S3**  
Puoi utilizzare il blocco oggetti S3 per archiviare gli oggetti utilizzando il modello *write once, read many* (WORM). Utilizzando il blocco oggetti S3, puoi impedire che un oggetto venga eliminato o sovrascritto per un determinato periodo di tempo o in modo indefinito. Il blocco oggetti S3 consente di soddisfare i requisiti normativi che richiedono uno storage WORM o semplicemente di aggiungere un ulteriore livello di protezione contro le modifiche e l'eliminazione degli oggetti. Per ulteriori informazioni, consulta [Blocco di oggetti con Object Lock](object-lock.md).

**Classi di storage**  
Amazon S3 offre una gamma di classi di archiviazione tra cui scegliere in base ai requisiti del carico di lavoro. Le classi di archiviazione S3 Standard-IA e S3 One Zone-IA sono progettate per i dati a cui si accede almeno una volta al mese e richiedono l'accesso in millisecondi. La classe di archiviazione S3 Glacier Instant Retrieval è progettata per i dati di archiviazione di lunga durata a cui si accede in millisecondi circa una volta al trimestre. Per i dati di archiviazione che non richiedono accesso immediato, come i backup, è possibile utilizzare le classi di archiviazione S3 Glacier Flexier Retrieval o S3 Glacier Deep Archive. Per ulteriori informazioni, consulta [Comprensione e gestione delle classi di storage Amazon S3](storage-class-intro.md).

Le best practice di sicurezza seguenti gestiscono anche la resilienza:
+ [Enable versioning](security-best-practices.md#versioning)
+ [Consider Amazon S3 cross-region replication](security-best-practices.md#cross-region)
+ [Identify and audit all your Amazon S3 buckets](security-best-practices.md#audit)

## Crittografia dei backup di Amazon S3
<a name="backup-encryption"></a>

Se si esegue l'archiviazione di backup utilizzando Amazon S3, la crittografia dei backup dipende dalla configurazione di tali bucket. Amazon S3 offre un modo per impostare il comportamento di crittografia predefinita per un bucket S3. Puoi configurare la crittografare predefinita di un bucket in modo che gli oggetti siano crittografati quando vengono memorizzati nel bucket. La crittografia predefinita supporta le chiavi memorizzate in AWS KMS (SSE-KMS). Per ulteriori informazioni, consulta [Impostazione del comportamento predefinito della crittografia lato server per i bucket Amazon S3](bucket-encryption.md).

Per ulteriori informazioni sulla funzione Controllo delle versioni e sul blocco oggetti, consulta i seguenti argomenti: [Conservazione di più versioni degli oggetti con Controllo delle versioni S3](Versioning.md) [Blocco di oggetti con Object Lock](object-lock.md) 

# Sicurezza dell'infrastruttura in Amazon S3
<a name="network-isolation"></a>

[In quanto servizio gestito, Amazon S3 è protetto dalle procedure di sicurezza di rete AWS globali descritte nel pilastro di sicurezza del Well-Architected AWS Framework.](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/welcome.html)

L'accesso ad Amazon S3 tramite la rete avviene tramite AWS Published. APIs I client devono supportare Transport Layer Security (TLS) 1.2. Consigliamo di supportare anche TLS 1.3 e lo scambio di chiavi post-quantistiche ibride. [Per ulteriori informazioni sulla crittografia post-quantistica all'indirizzo AWS, compresi i link ai post di blog e ai documenti di ricerca, consulta Post-Quantum Cryptography for. AWS](https://aws.amazon.com/security/post-quantum-cryptography/)

**Nota**  
TLS 1.3 è supportato in tutti gli endpoint S3, ad eccezione di Amazon AWS PrivateLink S3 e Multi-Region Access Point.

I client devono inoltre supportare le suite di cifratura con PFS (Perfect Forward Secrecy), ad esempio Ephemeral Diffie-Hellman (DHE) o Elliptic Curve Diffie-Hellman Ephemeral (ECDHE). Inoltre, le richieste devono essere firmate utilizzando AWS Signature V4 o AWS Signature V2, richiedendo la fornitura di credenziali valide.

Queste APIs sono richiamabili da qualsiasi posizione di rete. Tuttavia, Amazon S3 supporta anche le policy di accesso basate sulle risorse, che possono includere limitazioni in base all'indirizzo IP di origine. Puoi anche utilizzare le policy dei bucket di Amazon S3 per controllare l'accesso ai bucket da endpoint VPC (Virtual Private Cloud) specifici o specifici. VPCs In effetti, questo isola l'accesso alla rete a un determinato bucket Amazon S3 solo dal VPC specifico all'interno della rete. AWS Per ulteriori informazioni, consulta [Controllo dell'accesso dagli endpoint VPC con policy di bucket](example-bucket-policies-vpc-endpoint.md).

Le best practice di sicurezza seguenti gestiscono anche la sicurezza dell'infrastruttura in Amazon S3:
+ [Consider VPC endpoints for Amazon S3 access](security-best-practices.md#end-points)
+ [Identify and audit all your Amazon S3 buckets](security-best-practices.md#audit)

# Analisi della configurazione e delle vulnerabilità in Amazon S3
<a name="vulnerability-analysis-and-management"></a>

AWS gestisce le attività di sicurezza di base come l'applicazione di patch al sistema operativo guest (OS) e al database, la configurazione del firewall e il disaster recovery. Queste procedure sono state riviste e certificate dalle terze parti appropriate. Per ulteriori dettagli, consulta le seguenti risorse :
+ [Convalida della conformità per Amazon S3](s3-compliance.md)
+ [Modello di responsabilità condivisa](https://aws.amazon.com/compliance/shared-responsibility-model/)
+ [Amazon Web Services: panoramica dei processi di sicurezza](https://d0.awsstatic.com/whitepapers/Security/AWS_Security_Whitepaper.pdf)

Le best practice di sicurezza seguenti gestiscono anche l'analisi di configurazione e vulnerabilità in Amazon S3:
+ [Identify and audit all your Amazon S3 buckets](security-best-practices.md#audit)
+ [Attiva AWS Config](security-best-practices.md#config)

# Gestione degli accessi
<a name="security-access-management"></a>

Amazon S3 offre una serie di strumenti di gestione degli accessi. Di seguito è riportato un elenco di queste funzioni e strumenti. Non è necessario disporre di tutti questi strumenti di gestione degli accessi, ma è necessario utilizzarne uno o più per concedere l'accesso ai bucket Amazon S3, agli oggetti e ad altri [Risorse S3](access-management.md#access-management-resources). L'applicazione corretta di questi strumenti può aiutare a garantire che le risorse siano accessibili solo agli utenti previsti. 

Lo strumento di gestione degli accessi più comunemente utilizzato è una *policy di accesso*. Una policy di accesso può essere una *policy basata sulle risorse* collegata a una AWS risorsa, ad esempio una policy bucket per un bucket. Un policy di accesso può anche essere una *policy basata sull'identità*, collegata a un'identità AWS Identity and Access Management (IAM), come un utente, un gruppo o un ruolo IAM. Una policy di accesso descrive chi ha accesso a quali cose. Scrivi una policy di accesso per concedere a utenti, gruppi Account AWS e ruoli IAM l'autorizzazione a eseguire operazioni su una risorsa. Ad esempio, puoi concedere `PUT Object` l'autorizzazione a un altro account Account AWS in modo che l'altro account possa caricare oggetti nel tuo bucket.

Di seguito sono elencati gli strumenti di gestione degli accessi disponibili in Amazon S3. Per una guida più completa sul controllo degli accessi ad Amazon S3, consulta [Controllo degli accessi in Amazon S3](access-management.md).

**Policy del bucket**  
Una policy del bucket Amazon S3 è una [policy basata sulle risorse AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) in formato JSON, collegata a un particolare bucket. Utilizza le policy del bucket per concedere autorizzazioni ad altre identità Account AWS o a identità IAM per il bucket e gli oggetti in esso contenuti. Molti casi d'uso della gestione degli accessi S3 possono essere soddisfatti utilizzando una policy di bucket. Con le policy di bucket, è possibile personalizzare l'accesso ai bucket per assicurarsi che solo le identità approvate possano accedere alle risorse ed eseguire azioni al loro interno. Per ulteriori informazioni, consulta [Policy dei bucket per Amazon S3](bucket-policies.md). 

**Policy basata su identità**  
Una policy utente basata sull'identità o IAM è un tipo di [policy AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html). Una policy basata sull'identità è una policy in formato JSON collegata a utenti, gruppi o ruoli IAM nell'account AWS . È possibile utilizzare le policy basate sull'identità per concedere a un'identità IAM l'accesso ai bucket o agli oggetti. È possibile creare utenti, gruppi e ruoli IAM nel proprio account e associare ad essi le policy di accesso. È quindi possibile concedere l'accesso alle risorse di AWS , comprese quelle di Amazon S3. Per ulteriori informazioni, consulta [Policy basate sull'identità per Amazon S3](security_iam_id-based-policy-examples.md). 

**Sovvenzioni di accesso S3**  
Utilizza S3 Access Grants per creare i permessi di accesso ai dati di Amazon S3 sia per le identità nelle directory di identità aziendali, come Active Directory, sia per le identità AWS Identity and Access Management (IAM). S3 Access Grants aiuta a gestire le autorizzazioni dei dati su scala. Inoltre, S3 Access Grants registra l'identità dell'utente finale e l'applicazione utilizzata per accedere ai dati S3 in AWS CloudTrail. Questo fornisce una cronologia di audit dettagliata fino all'identità dell'utente finale per tutti gli accessi ai dati nei bucket S3. Per ulteriori informazioni, consulta [Gestione dell'accesso con S3 Access Grants](access-grants.md).

**Punti di accesso**  
Punti di accesso Amazon S3 semplifica la gestione dell'accesso ai dati su scala per le applicazioni che utilizzano set di dati condivisi su S3. I punti di accesso sono endpoint di rete denominati e collegati a un bucket. È possibile utilizzare i punti di accesso per eseguire operazioni sugli oggetti S3 in scala, come il caricamento e il recupero di oggetti. A un bucket possono essere collegati fino a 10.000 punti di accesso e per ogni punto di accesso è possibile applicare autorizzazioni e controlli di rete distinti per avere un controllo dettagliato sull'accesso agli oggetti S3. I punti di accesso S3 possono essere associati a bucket dello stesso account o di un altro account attendibile. Le policy dei punti di accesso sono policy basate sulle risorse che vengono valutate insieme alla policy di bucket sottostante. Per ulteriori informazioni, consulta [Gestione dell'accesso a set di dati condivisi con punti di accesso](access-points.md).

**Lista di controllo degli accessi (ACL)**  
Un ACL è un elenco di sovvenzioni che identificano il beneficiario e l'autorizzazione concessa. ACLs concede autorizzazioni di base di lettura o scrittura ad altri. Account AWS ACLs usa uno schema XML specifico di Amazon S3. Una ACL è un tipo di [policy AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html). Una ACL per oggetti viene utilizzata per gestire l'accesso a un oggetto e una ACL per bucket viene utilizzata per gestire l'accesso a un bucket. Con le policy bucket, esiste un'unica policy per l'intero bucket, ma gli oggetti ACLs sono specificati per ogni oggetto. Si consiglia di mantenerla ACLs disattivata, tranne nei casi in cui è necessario controllare singolarmente l'accesso per ciascun oggetto. Per ulteriori informazioni sull'utilizzo ACLs, vedere[Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).

**avvertimento**  
La maggior parte dei casi d'uso moderni in Amazon S3 non richiede l'uso di. ACLs 

**Proprietà dell'oggetto**  
Per gestire l'accesso ai propri oggetti, è necessario essere il proprietario dell'oggetto. È possibile utilizzare l'impostazione Proprietà oggetto a livello di bucket per controllare la proprietà degli oggetti caricati nel bucket. Inoltre, usa Object Ownership per attivarlo. ACLs Per impostazione predefinita, Object Ownership è impostata sull'*impostazione imposta dal proprietario del Bucket* e tutte ACLs sono disattivate. Quando ACLs sono disattivati, il proprietario del bucket possiede tutti gli oggetti nel bucket e gestisce esclusivamente l'accesso ai dati. Per gestire l'accesso, il proprietario del bucket utilizza politiche o un altro strumento di gestione degli accessi, esclusi. ACLs Per ulteriori informazioni, consulta [Controllo della proprietà degli oggetti e disattivazione ACLs del bucket](about-object-ownership.md).

Per una guida più completa sul controllo degli accessi ad Amazon S3 e per ulteriori best practice, consulta [Controllo degli accessi in Amazon S3](access-management.md).

# Inventario dei dati Amazon Simple Storage Service
<a name="s3-data-inventory"></a>

## Simple Storage Service (Amazon S3)
<a name="s3-intro"></a>

Amazon S3 offre uno storage scalabile di oggetti nel cloud. AWS Consente di archiviare e recuperare qualsiasi quantità di dati, ovunque sul web. Sulla base della sua architettura unica, S3 è progettato per superare la durabilità dei dati del 99,999999999% (11 nove). Inoltre, per impostazione predefinita, S3 archivia i dati in modo ridondante su un minimo di tre zone di disponibilità, garantendo una resilienza integrata contro disastri diffusi. I clienti possono archiviare i dati in un’unica zona di disponibilità per ridurre al minimo i costi o la latenza di archiviazione, in più zone di disponibilità per la resilienza contro la perdita permanente di un intero data center o in più Regioni AWS per soddisfare i requisiti di resilienza geografica. Caratteristiche chiave

Posizione geografica  
Amazon S3 è ospitato in più posizioni in tutto il mondo. Per i dati si selezionano le posizioni vicine ai clienti.

Bucket  
Un bucket è un container per gli oggetti archiviati in Amazon S3. Ogni oggetto è contenuto in un bucket.

Oggetti  
Entità fondamentali archiviate in Amazon S3, gli oggetti sono composti da dati e metadata.

Classi di storage  
Amazon S3 offre diverse classi di archiviazione ottimizzate per diversi casi d’uso.

Gestione dello storage  
Amazon S3 dispone di funzionalità di gestione dell’archiviazione utilizzabili per gestire i costi e rispettare i requisiti di conformità. 

Gestione degli accessi e sicurezza  
Amazon S3 offre caratteristiche per la verifica e la gestione degli accessi ai tuoi bucket e oggetti.

## Posizione geografica
<a name="s3-geographic-location"></a>

Amazon S3 è disponibile in tutto Regione AWS il mondo. Ciascuna regione è un’area geografica distinta.

### Perché è importante
<a name="s3-geographic-location-why"></a>

Dopo aver determinato dove archiviare i dati, è possibile decidere se implementare un’archiviazione funzionalmente equivalente nelle stesse posizioni o in località diverse, a seconda delle esigenze.

### Come ottenere un riepilogo dei bucket Amazon S3 in tutte le Regioni
<a name="s3-geographic-location-how"></a>

Usa il seguente AWS CLI comando:

```
   aws s3api list-buckets /
    --max-items 100 / 
    --page-size 100
```

Per ulteriori informazioni, vedere [list-buckets](https://docs.aws.amazon.com/cli/latest/reference/s3api/list-buckets.html) nel Command Reference. AWS CLI 

## Bucket
<a name="s3-buckets"></a>

I bucket Amazon S3 sono container di oggetti. Ogni bucket ha un nome univoco in tutto. AWS Amazon S3 supporta quattro tipi di bucket: bucket per uso generico, bucket di directory, bucket di tabelle e bucket vettoriali. Ogni tipo di bucket offre un set unico di funzionalità per diversi casi d’uso. Per ulteriori informazioni sui diversi tipi di bucket, consulta [Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html#BasicsBucket) nella Guida per l’utente di Amazon S3.

### Perché sono importanti
<a name="s3-buckets-why"></a>

Dopo aver elencato i bucket, è possibile convalidare le impostazioni dei bucket per sistemi di archiviazione funzionalmente equivalenti esaminando le varie impostazioni di configurazione dei bucket. 

### Come elencare le configurazioni dei bucket
<a name="s3-buckets-how"></a>

```
aws s3api get-bucket-versioning --bucket amzn-s3-demo-bucket1
aws s3api get-bucket-encryption --bucket amzn-s3-demo-bucket1
aws s3api get-bucket-logging --bucket amzn-s3-demo-bucket1
```

Per ulteriori informazioni, vedere [get-bucket-versioning](https://docs.aws.amazon.com/cli/latest/reference/s3api/get-bucket-versioning.html)nel AWS CLI Command Reference.

## Oggetti
<a name="s3-objects"></a>

Entità fondamentali archiviate in Amazon S3, gli oggetti Ciascun oggetto è formato dai dati, da una chiave (nome) e dai metadata.

### Perché sono importanti
<a name="s3-objects-why"></a>

La comprensione delle caratteristiche degli oggetti aiuta a pianificare requisiti di capacità di archiviazione e prestazioni equivalenti in sistemi funzionalmente equivalenti.

### Come elencare gli oggetti e le relative proprietà
<a name="s3-objects-how"></a>

```
aws s3api list-objects-v2 --bucket amzn-s3-demo-bucket1 /
    --query 'Contents[].{Key: Key, Size: Size, LastModified: LastModified}'
```

Per ulteriori informazioni, vedere [list-objects-v2](https://docs.aws.amazon.com/cli/latest/reference/s3api/list-objects-v2.html) nel AWS CLI Command Reference.

## Classi di storage
<a name="s3-storage-classes"></a>
+ Amazon S3 Standard
+ Amazon S3 Intelligent-Tiering
+ Amazon AI S3 Standard
+ Amazon AI a zona unica S3
+ S3 Glacier Instant Retrieval
+ S3 Glacier Flexible Retrieval
+ Amazon S3 Glacier Deep Archive
+ Amazon S3 Express One Zone

### Perché sono importanti
<a name="s3-storage-classes-why"></a>

La comprensione dell’utilizzo della classe di archiviazione consente di determinare i livelli di archiviazione appropriati in sistemi funzionalmente equivalenti. Per maggiori informazioni, consulta [Comprensione e gestione delle classi di archiviazione Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html) nella Guida per l’utente di Amazon S3.

### Come esaminare la selezione e l’utilizzo delle classi di archiviazione
<a name="s3-storage-classes-how"></a>

Puoi utilizzare Amazon S3 Storage Lens per esaminare la selezione e l’utilizzo della classe di archiviazione. Per maggiori informazioni, consulta [Comprensione e gestione delle classi di archiviazione Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html) nella Guida per l’utente di Amazon S3.

## Gestione dello storage
<a name="s3-storage-management"></a>

### Perché è importante
<a name="s3-storage-management-why"></a>

La comprensione dell’utilizzo della gestione dell’archiviazione aiuta a pianificare funzionalità equivalenti per gestire i costi e rispettare i requisiti di conformità in sistemi funzionalmente equivalenti.

### Come esaminare la selezione e l’utilizzo delle funzionalità di gestione dell’archiviazione
<a name="s3-storage-management-how"></a>

Puoi utilizzare Amazon S3 Storage Lens per esaminare l’utilizzo delle funzionalità di gestione dell’archiviazione. Per maggiori informazioni, consulta [Glossario dei parametri di Amazon S3 Storage Lens](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html) nella Guida per l’utente di Amazon S3. 

## Gestione degli accessi e sicurezza
<a name="s3-access-management"></a>

### Perché sono importanti
<a name="s3-access-management-why"></a>

La comprensione delle impostazioni di gestione degli accessi e della sicurezza consente di pianificare funzionalità equivalenti per gestire i requisiti di accesso e sicurezza in sistemi funzionalmente equivalenti.

### Come esaminare le impostazioni di sicurezza e gestione degli accessi
<a name="s3-access-management-how"></a>

Dopo aver elencato i bucket, è possibile convalidare le impostazioni di sicurezza e di accesso dei bucket per sistemi di archiviazione funzionalmente equivalenti esaminando le varie impostazioni di configurazione dei bucket.

```
aws s3api get-public-access-block --bucket amzn-s3-demo-bucket1 
aws s3api get-bucket-acl --bucket amzn-s3-demo-bucket1 
aws s3api get-bucket-encryption --bucket amzn-s3-demo-bucket1
aws s3api get-bucket-policy --bucket amzn-s3-demo-bucket1
```

## Trasferimento dati
<a name="s3-data-transfer"></a>

È possibile trasferire i dati da Amazon S3 utilizzando diversi metodi:
+ AWS CLI
+ AWS SDK
+ API REST di Amazon S3
+ Strumenti di terze parti

### Esempio di utilizzo AWS CLI
<a name="s3-data-transfer-examples"></a>

Per scaricare un intero bucket:

```
aws s3 sync s3://amzn-s3-demo-bucket1 /local/path
```

Per ulteriori informazioni, consulta [sync](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) nel AWS CLI Command Reference.

Per scaricare oggetti specifici:

```
aws s3 cp s3://amzn-s3-demo-bucket1/path/to/object /local/path
```

Per ulteriori informazioni, vedere [cp](https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html) nel AWS CLI Command Reference.

## Risorse correlate
<a name="s3-related-resources"></a>

Di seguito sono riportate altre caratteristiche di Amazon S3:
+ [Controllo degli accessi in Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-management.html)
+ [Sicurezza in Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security.html)
+ [Protezione dei dati in Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/data-protection.html)
+ [Registrazione e monitoraggio in Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/monitoring-overview.html)