Uso della crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)
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 della crittografia automatica per la configurazione della crittografia predefinita del bucket S3 e per il caricamento di nuovi oggetti è disponibile nei log di AWS CloudTrail, in S3 Inventory, in S3 Storage Lens, nella console di Amazon S3 e come intestazione di risposta API Amazon S3 aggiuntiva nella AWS Command Line Interface e negli SDK AWS. Per ulteriori informazioni, consulta Domande frequenti sulla crittografia predefinita.
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à contatore Advanced Encryption Standard Galois (AES-GCM) 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
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:
{ "Version": "2012-10-17", "Id": "PutObjectPolicy", "Statement": [ { "Sid": "DenyIncorrectEncryptionHeader", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::
DOC-EXAMPLE-BUCKET
/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption": "AES256" } } }, { "Sid": "DenyUnencryptedObjectUploads", "Effect": "Deny", "Principal": "*", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET
/*", "Condition": { "Null": { "s3:x-amz-server-side-encryption": "true" } } } ] }
Nota
La crittografia lato server viene applicata solo ai dati dell'oggetto, non dei metadati dell'oggetto.
Supporto API per la crittografia lato server
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 impostare la configurazione di crittografia predefinita nel bucket di destinazione.
Se desideri specificare un tipo di crittografia diverso nelle richieste PUT
, puoi utilizzare la crittografia lato server con chiavi AWS Key Management Service (AWS KMS) (SSE-KMS), la crittografia lato server a doppio livello con chiavi AWS KMS (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 configurare la crittografia lato server utilizzando le REST API della creazione dell'oggetto, devi fornire l'intestazione della richiesta x-amz-server-side-encryption
. Per ulteriori informazioni sulle APIs REST, consulta Utilizzo di REST API.
Le seguenti API Amazon S3 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. -
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.
-
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.
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.
Gli SDK AWS forniscono anche le API wrapper che consentono di richiedere la crittografia lato server. È anche possibile utilizzare la AWS Management Console per caricare gli oggetti e richiedere la crittografia lato server.
Per ulteriori informazioni generali, consulta Concetti di AWS KMS nella Guida per gli sviluppatori di AWS Key Management Service.