Mengonfigurasi Kunci Bucket S3 pada tingkat objek - Amazon Simple Storage Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengonfigurasi Kunci Bucket S3 pada tingkat objek

Saat Anda melakukan COPY operasi PUT atau menggunakan RESTAPI,, atau AWS SDKs AWS CLI, Anda dapat mengaktifkan atau menonaktifkan Kunci Bucket S3 di tingkat objek dengan menambahkan header x-amz-server-side-encryption-bucket-key-enabled permintaan dengan false nilai true atau. S3 Bucket Keys mengurangi biaya enkripsi sisi server menggunakan AWS Key Management Service (AWS KMS) (SSE-KMS) dengan mengurangi lalu lintas permintaan dari Amazon S3 ke. AWS KMS Untuk informasi selengkapnya, lihat Mengurangi biaya SSE - KMS dengan Amazon S3 Bucket Keys.

Saat Anda mengonfigurasi Kunci Bucket S3 untuk objek yang menggunakan COPY operasi PUT atau, Amazon S3 hanya memperbarui pengaturan untuk objek tersebut. Pengaturan Kunci Bucket S3 untuk bucket tujuan tidak berubah. Jika Anda mengirimkan PUT atau COPY meminta objek KMS -enkripsi ke dalam bucket dengan S3 Bucket Keys diaktifkan, operasi level objek Anda akan secara otomatis menggunakan Kunci Bucket S3 kecuali Anda menonaktifkan kunci di header permintaan. Jika Anda tidak menentukan Kunci Bucket S3 untuk objek Anda, Amazon S3 menerapkan pengaturan Kunci Bucket S3 untuk bucket tujuan ke objek.

Prasyarat:

Sebelum mengonfigurasi bucket untuk menggunakan Kunci Bucket S3, tinjau  Perubahan yang perlu diperhatikan sebelum mengaktifkan Kunci Bucket S3.

Operasi Batch Amazon S3

Untuk mengenkripsi objek Amazon S3 yang tidak terenkripsi, Anda dapat menggunakan Operasi Batch Amazon S3. Anda menyediakan Operasi Batch S3 dengan daftar objek yang akan dioperasikan, dan Operasi Batch memanggil masing-masing API untuk melakukan operasi yang ditentukan.

Anda juga dapat menggunakan Operasi Salin Operasi Batch S3 untuk menyalin objek tidak terenkripsi yang ada, dan menuliskannya kembali ke bucket yang sama sebagai objek terenkripsi. Satu tugas Operasi Batch dapat melakukan operasi tertentu pada miliaran objek yang berisi data sebesar eksabita. Untuk informasi selengkapnya, lihat Melakukan operasi objek secara massal dengan Operasi Batch dan Mengenkripsi objek dengan Operasi Batch Amazon S3.

Menggunakan REST API

Saat Anda menggunakan SSE -KMS, Anda dapat mengaktifkan Kunci Bucket S3 untuk objek dengan menggunakan API operasi berikut:

  • PutObject— Saat Anda mengunggah objek, Anda dapat menentukan header x-amz-server-side-encryption-bucket-key-enabled permintaan untuk mengaktifkan atau menonaktifkan Kunci Bucket S3 di tingkat objek.

  • CopyObject— Saat Anda menyalin objek dan mengonfigurasi SSE -KMS, Anda dapat menentukan header x-amz-server-side-encryption-bucket-key-enabled permintaan untuk mengaktifkan atau menonaktifkan Kunci Bucket S3 untuk objek Anda.

  • POSTObjek — Saat Anda menggunakan POST operasi untuk mengunggah objek dan mengonfigurasi SSE -KMS, Anda dapat menggunakan bidang x-amz-server-side-encryption-bucket-key-enabled formulir untuk mengaktifkan atau menonaktifkan Kunci Bucket S3 untuk objek Anda.

  • CreateMultipartUpload— Saat Anda mengunggah objek besar dengan menggunakan CreateMultipartUpload API operasi dan mengkonfigurasi SSE -KMS, Anda dapat menggunakan header x-amz-server-side-encryption-bucket-key-enabled permintaan untuk mengaktifkan atau menonaktifkan Kunci Bucket S3 untuk objek Anda.

Untuk mengaktifkan Kunci Bucket S3 pada tingkat objek, termasuk header permintaan x-amz-server-side-encryption-bucket-key-enabled. Untuk informasi lebih lanjut tentang SSE - KMS dan RESTAPI, lihatMenggunakan REST API.

Menggunakan AWS SDK untuk Java (PutObject)

Anda dapat menggunakan contoh berikut untuk mengonfigurasi Kunci Bucket S3 di tingkat objek menggunakan 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);

Menggunakan AWS CLI (PutObject)

Anda dapat menggunakan AWS CLI contoh berikut untuk mengonfigurasi Kunci Bucket S3 di tingkat objek sebagai bagian dari PutObject permintaan.

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