View a markdown version of this page

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'operazione PUT o COPY utilizzando l'API REST, AWS gli SDK o AWS CLI, puoi abilitare o disabilitare una S3 Bucket Key a livello di oggetto aggiungendo l'intestazione della x-amz-server-side-encryption-bucket-key-enabled richiesta con 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 dei costi SSE-KMS con Amazon S3 Bucket Keys.

Quando configuri una chiave bucket S3 per un oggetto utilizzando un'operazione PUT o COPY, Amazon S3 aggiorna le impostazioni solo per quell'oggetto. Le impostazioni della chiave bucket S3 per il bucket di destinazione non cambiano. Se invii una richiesta PUT o COPY per un KMS-encrypted oggetto 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 alle operazioni in batch S3 un elenco di oggetti da utilizzare e le operazioni in batch chiamano la rispettiva API per eseguire l'operazione specifica.

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 le operazioni in batch e Crittografia di oggetti con le operazioni in batch di Amazon S3.

Utilizzo della REST API

Quando la utilizzi SSE-KMS, puoi abilitare una chiave S3 Bucket 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 lo 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.

  • Oggetto POST: quando utilizzi un'POSToperazione per caricare un oggetto e configurarlo 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 l'oggetto.

  • CreateMultipartUpload— Quando carichi oggetti di grandi dimensioni utilizzando l'operazione e la configurazione dell'CreateMultipartUploadAPI 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 sull'API REST SSE-KMS e sull'API REST, consulta. Utilizzo della REST API

Utilizzo di AWS SDK per Java PutObject ()

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

Utilizzo di AWS CLI (PutObject)

È possibile utilizzare l' AWS CLI esempio seguente per configurare una chiave S3 Bucket a livello di oggetto come parte di una richiesta. PutObject

aws s3api put-object --bucket amzn-s3-demo-bucket --key object key name --server-side-encryption aws:kms --bucket-key-enabled --body filepath