Configurazione del bucket per utilizzare una chiave bucket S3 con SSE-KMS per nuovi oggetti - Amazon Simple Storage Service

Configurazione del bucket per utilizzare una chiave bucket S3 con SSE-KMS per nuovi oggetti

Quando configuri la crittografia lato server utilizzando SSE-KMS, puoi configurare il bucket in modo che utilizzi una chiave bucket S3 per SSE-KMS sui nuovi oggetti. Le chiavi bucket S3 riducono il traffico delle richieste da Amazon S3 a AWS Key Management Service (AWS KMS) e riducono il costo di SSE-KMS. Per ulteriori informazioni, consulta Riduzione del costo di SSE-KMS con le chiavi bucket Amazon S3.

Puoi configurare il tuo bucket in modo che utilizzi una chiave bucket S3 per SSE-KMS sui nuovi oggetti tramite la console Amazon S3, REST API, l'SDK AWS, la AWS CLI o AWS CloudFormation. Se desideri abilitare o disabilitare una chiave bucket S3 per gli oggetti esistenti, puoi utilizzare un'operazione COPY. Per ulteriori informazioni, consulta Configurazione di una chiave bucket S3 a livello di oggetto utilizzando REST API, gli SDK AWS o AWS CLI e Utilizzo delle operazioni in batch S3 per crittografare oggetti con chiavi bucket S3.

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 .

Negli esempi seguenti viene illustrato il funzionamento di una chiave bucket S3 con la replica. Per ulteriori informazioni, consulta Replica di oggetti creati con crittografia lato server (SSE-C, SSE-S3, SSE-KMS)

Prerequisito

Prima di configurare il bucket per utilizzare una chiave bucket S3, consulta Modifiche alla nota prima dell'abilitazione di una chiave bucket S3.

Argomenti

    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 la crittografia lato server utilizzando AWS 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 sarà abilitata per l'oggetto.

    Abilitazione di una chiave bucket S3 quando si crea un nuovo bucket
    1. Accedi alla AWS Management Console e apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/.

    2. Scegliere Create bucket (Crea bucket).

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

    4. In Crittografia predefinita, scegli Modifica.

    5. In Tipo di crittografia, scegli Chiave AWS Key Management Service (SSE-KMS).

    6. Scegli una chiave AWS KMS:

      • Scegli Chiave gestita da AWS (aws/s3).

      • Scegli Customer managed key (Chiave gestita dal cliente) e scegli una chiave di crittografia gestita dal cliente simmetrica nella stessa Regione del bucket.

    7. In Chiave bucket scegli Abilita.

    8. 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 disable.

    Abilitazione di una chiave bucket S3 per un bucket esistente
    1. Apri la console Amazon S3 su https://console.aws.amazon.com/s3/.

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

    3. Scegliere Properties (Proprietà).

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

    5. In Crittografia predefinita, scegli Modifica.

    6. In Tipo di crittografia, scegli Chiave AWS Key Management Service (SSE-KMS).

    7. Scegli una chiave AWS KMS:

      • Scegli Chiave gestita da AWS (aws/s3).

      • Scegli Customer managed key (Chiave gestita dal cliente) e scegli una chiave di crittografia gestita dal cliente simmetrica nella stessa Regione del bucket.

    8. In Chiave bucket scegli Abilita.

    9. 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 disabilitare una chiave bucket S3, completa i passaggi precedenti e scegli Disabilita.

    Per abilitare o disabilitare una chiave di bucket S3 per il bucket puoi utilizzare PutBucketEncryption. Per configurare una chiave bucket S3 con PutBucketEncryption, specifica ServerSideEncryptionRule, che include la crittografia predefinita con la crittografia lato server tramite le AWS KMS key. Puoi inoltre utilizzare una chiave gestita dal cliente specificando l'ID della chiave KMS per la chiave gestita dal cliente. 

    Per ulteriori informazioni e la sintassi di esempio, consulta PutBucketEncryption.

    Nell'esempio seguente viene abilitata la crittografia bucket predefinita con SSE-KMS e una chiave bucket S3 utilizzando la AWS SDK for 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);

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

    aws s3api put-bucket-encryption --bucket <bucket-name> --server-side-encryption-configuration '{         "Rules": [             {                 "ApplyServerSideEncryptionByDefault": {                     "SSEAlgorithm": "aws:kms",                     "KMSMasterKeyID": "<KMS-Key-ARN>"                 },                 "BucketKeyEnabled": true             }         ]     }'

    Per ulteriori informazioni sulla configurazione di una chiave Bucket S3 utilizzando AWS CloudFormation, consulta AWS።S3።Bucket ServerSideEncryptionRule nella Guida per l'utente di AWS CloudFormation.