Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3
Le chiavi bucket Amazon S3 riducono il costo della crittografia lato server di Amazon S3 con le chiavi AWS Key Management Service (AWS KMS) (SSE-KMS). L'utilizzo di una chiave a livello di bucket per SSE-KMS può ridurre i costi delle richieste di AWS KMS fino a 99%, riducendo il traffico di 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 chiavi bucket S3 non sono supportate per la crittografia lato server a doppio livello con le chiavi AWS Key Management Service (AWS KMS) (DSSE-KMS).
Chiavi bucket S3 per SSE-KMS
I carichi di lavoro che accedono a milioni o miliardi di oggetti crittografati con SSE-KMS possono generare grandi volumi di richieste a AWS KMS. Quando utilizzi SSE-KMS per proteggere i tuoi dati senza una chiave bucket S3, Amazon S3 utilizza una singola chiave dati AWS KMS per ogni oggetto. In questo caso Amazon S3 effettua una chiamata a AWS KMS ogni volta che viene eseguita una richiesta per un oggetto crittografato con KMS. Per informazioni sul funzionamento di SSE-KMS, consulta Utilizzo della crittografia lato server con chiavi AWS KMS (SSE-KMS).
Quando si configura il bucket per utilizzare una chiave S3 Bucket Key per SSE-KMS, AWS genera una chiave a livello di bucket di breve durata da AWS KMS e la conserva temporaneamente in S3. Questa chiave a livello di bucket creerà chiavi di dati per i nuovi oggetti durante il relativo ciclo di vita. Le chiave di bucket S3 vengono utilizzate per un periodo di tempo limitato all'interno di Amazon S3, riducendo così la necessità per Amazon S3 di effettuare richieste a AWS KMS per completare le operazioni di crittografia. Ciò riduce il traffico da S3 a AWS KMS, consentendo l'accesso a oggetti crittografati con AWS KMS in Amazon S3 a un costo ridotto rispetto al passato.
Le chiavi univoche a livello di bucket vengono recuperate almeno una volta per richiedente per garantire che l'accesso alla chiave da parte del richiedente venga acquisito in un evento CloudTrail AWS KMS. Amazon S3 tratta i chiamanti come richiedenti differenti quando utilizzano ruoli o account differenti o lo stesso ruolo con policy di ambito differenti. I risparmi sulle richieste AWS KMS dipendono dal numero di richiedenti, dai modelli di richiesta e dalla relativa età 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'uso delle chiavi S3 Bucket consente di risparmiare sui costi delle richieste AWS KMS, riducendo le richieste a AWS KMS per le operazioni Encrypt, GenerateDataKeye Decrypt grazie all'uso di una chiave a livello di bucket. In base alla progettazione, le richieste successive che sfruttano questa chiave a livello di bucket non generano richieste API AWS KMS 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.
Amazon S3 condividerà una chiave S3 bucket solo per gli oggetti crittografati dalla stessa AWS KMS key. Le chiavi S3 Bucket sono compatibili con le chiavi KMS create da AWS KMS, con il materiale delle chiavi importato e con il materiale delle chiavi supportato da archivi di chiavi personalizzati.
Configurazione delle chiavi bucket S3
Puoi configurare il bucket in modo da utilizzare una chiave bucket S3 per SSE-KMS su nuovi oggetti tramite la console di Amazon S3, gli SDKAWS , la AWS CLI o REST API. 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-enabledcon 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.
Configurazione di una chiave bucket S3 tramite la console di Amazon S3
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.
Supporto di REST API, AWS CLI e SDK AWS per chiavi bucket S3
Per configurare il bucket in modo da utilizzare una chiave bucket S3 per SSE-KMS su nuovi oggetti puoi utilizzare REST API, la AWS CLI o l'SDK AWS. Puoi inoltre abilitare una chiave bucket S3 a livello di oggetto.
Per ulteriori informazioni, consulta gli argomenti seguenti:
Le seguenti operazioni API supportano le chiavi bucket S3 per SSE-KMS:
-
-
ServerSideEncryptionRuleaccetta il parametroBucketKeyEnabledper abilitare e disabilitare una chiave bucket S3.
-
-
-
ServerSideEncryptionRulerestituisce le impostazioni perBucketKeyEnabled.
-
-
PutObject, CopyObject, CreateMultipartUpload e POST Object
-
L'intestazione della richiesta
x-amz-server-side-encryption-bucket-key-enabledabilita o disabilita una chiave bucket S3 a livello di oggetto.
-
-
HeadObject, GetObject, UploadPartCopy, UploadParte CompleteMultiPartUpLoad
-
L'intestazione della risposta
x-amz-server-side-encryption-bucket-key-enabledindica se una chiave bucket S3 è abilitata o disabilitata per un oggetto.
-
Lavorare con CloudFormation
In CloudFormation, la risorsa AWS::S3::Bucket include una proprietà di crittografia denominata BucketKeyEnabled che può essere utilizzata per abilitare o disabilitare una chiave bucket S3.
Per ulteriori informazioni, consulta Uso di CloudFormation.
Modifiche alla nota prima dell'abilitazione di una chiave bucket S3
Prima di abilitare una chiave bucket S3, tieni presente le seguenti modifiche correlate:
Policy IAM e delle chiavi AWS KMS
Se le policy AWS Identity and Access Management (IAM) o le policy delle chiavi AWS KMS utilizzano il nome della risorsa Amazon (ARN) dell'oggetto come contesto di crittografia per perfezionare o limitare l'accesso alle chiavi KMS, queste policy non funzioneranno con una chiave bucket S3. Le chiavi bucket S3 utilizzano l'ARN del bucket come contesto di crittografia. Prima di abilitare una chiave bucket S3, aggiorna le policy IAM o le policy delle chiavi AWS KMS in modo da 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.
Eventi CloudTrail per AWS KMS
Dopo aver abilitato una chiave bucket S3, gli eventi AWS KMS CloudTrail registrano l'ARN del bucket invece che l'ARN dell'oggetto. Inoltre, nei log viene visualizzato un minor numero di eventi KMS CloudTrail per gli oggetti SSE-KMS. Poiché il materiale chiave è limitato nel tempo in Amazon S3, vengono effettuate meno richieste a AWS KMS.
Utilizzo di una chiave bucket S3 con la replica
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).
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.
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
Per ulteriori informazioni sull'abilitazione e l'utilizzo di chiavi bucket S3, consulta le sezioni seguenti: