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 le chiavi AWS Key Management Service (AWS KMS) (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 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, la REST API, gli SDK AWS, la AWS Command Line Interface (AWS CLI) o 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 e Utilizzo delle operazioni in batch per abilitare le chiavi S3 Bucket per SSE-KMS.

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.

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)

Prerequisiti

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 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 alla Console di gestione AWS e apri la console Amazon S3 all’indirizzo https://console.aws.amazon.com/s3/.

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

    3. Scegliere Create bucket (Crea bucket).

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

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

    6. In Chiave AWS KMS effettua 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 le chiavi Chiave gestita da AWS (aws/s3) che quelle gestite dal cliente. Per ulteriori informazioni sulle chiavi gestite dal cliente, consulta Chiavi gestite dal cliente e chiavi AWS nella Guida per gli sviluppatori di AWS Key Management Service.

      • 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 chiave gestita dal cliente, scegli Crea una chiave KMS nella console AWS KMS.

        Per ulteriori informazioni sulla creazione di una AWS KMS key, consulta Creazione di chiavi nella Guida per Developer di AWS Key Management Service.

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

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

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

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

    4. Scegliere la scheda Properties (Proprietà).

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

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

    7. In Chiave AWS KMS effettua 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 le chiavi Chiave gestita da AWS (aws/s3) che quelle gestite dal cliente. Per ulteriori informazioni sulle chiavi gestite dal cliente, consulta Chiavi gestite dal cliente e chiavi AWS nella Guida per gli sviluppatori di AWS Key Management Service.

      • 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 chiave gestita dal cliente, scegli Crea una chiave KMS nella console AWS KMS.

        Per ulteriori informazioni sulla creazione di una AWS KMS key, consulta Creazione di chiavi nella Guida per Developer di AWS Key Management Service.

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

      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, usa il tipo di dati ServerSideEncryptionRule, 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 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 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);

    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             }         ]     }'

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