Configurazione di una chiave bucket S3 a livello di oggetto - Amazon Simple Storage Service

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

Configurazione di una chiave bucket S3 a livello di oggetto

Quando esegui un'COPYoperazione PUT or utilizzando, o REST API AWS SDKs AWS CLI, puoi abilitare o disabilitare una S3 Bucket Key a livello di oggetto aggiungendo all'intestazione della x-amz-server-side-encryption-bucket-key-enabled richiesta 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 di richieste da Amazon S3 a. AWS KMS Per ulteriori informazioni, consulta Riduzione del costo di SSE - KMS con Amazon S3 Bucket Keys.

Quando configuri una S3 Bucket Key per un oggetto utilizzando un'COPYoperazione PUT or, Amazon S3 aggiorna solo le impostazioni per quell'oggetto. Le impostazioni della chiave bucket S3 per il bucket di destinazione non cambiano. Se invii PUT o COPY richiedi un oggetto KMS crittografato in un bucket con S3 Bucket Keys abilitata, l'operazione a livello di oggetto utilizzerà automaticamente S3 Bucket Keys 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.

Operazioni in Batch Amazon S3

Per crittografare gli oggetti Amazon S3 esistenti, puoi utilizzare le operazioni in batch di Amazon S3. Fornisci a S3 Batch Operations un elenco di oggetti su cui operare e Batch Operations chiama i rispettivi API per eseguire l'operazione specificata.

Puoi utilizzare l'operazione di copia delle operazioni in batch S3 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 Batch Operations e Crittografia di oggetti con le operazioni in batch di Amazon S3.

Usando il REST API

Quando usi SSE -KMS, puoi abilitare una S3 Bucket Key per un oggetto utilizzando le seguenti operazioni: API

  • PutObject— 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— 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.

  • POSTOggetto: quando utilizzi un'POSToperazione per caricare un oggetto e configurare SSE -KMS, puoi utilizzare il campo del x-amz-server-side-encryption-bucket-key-enabled modulo per abilitare o disabilitare una S3 Bucket Key per il tuo oggetto.

  • CreateMultipartUpload— Quando carichi oggetti di grandi dimensioni utilizzando l'CreateMultipartUploadAPIoperazione e configura 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 su, vedi. REST API Usando il REST API

Utilizzo di AWS SDK for Java (PutObject)

Il seguente esempio può essere utilizzato per configurare una chiave bucket S3 a livello di oggetto utilizzando AWS SDK for 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)

È 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