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 operasi PUT atau COPY menggunakan REST API, AWS SDK, atau 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 nilai true ataufalse. 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 Kunci Bucket Amazon S3.

Saat Anda mengonfigurasi Kunci Bucket S3 untuk suatu objek menggunakan operasi PUT atau COPY, Amazon S3 hanya memperbarui pengaturan untuk objek tersebut. Pengaturan Kunci Bucket S3 untuk bucket tujuan tidak berubah. Jika Anda mengirimkan permintaan PUT atau COPY untuk objek terenkripsi KMS ke dalam bucket dengan S3 Bucket Keys diaktifkan, operasi tingkat objek Anda akan secara otomatis menggunakan S3 Bucket Keys, kecuali jika 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 harus menyediakan Operasi Batch S3 dengan daftar objek untuk dioperasikan, dan Operasi Batch akan memanggil masing-masing API untuk melakukan operasi tertentu.

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 batch berskala besar pada objek Amazon S3 dan Mengenkripsi objek dengan Operasi Batch Amazon S3.

Penggunaan API REST

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

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

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

  • CreateMultipartUpload— Saat Anda mengunggah objek besar dengan menggunakan operasi CreateMultipartUpload API dan mengonfigurasi 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 selengkapnya tentang SSE-KMS dan API REST, lihat Penggunaan API REST.

Menggunakan AWS SDK for 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 = "DOC-EXAMPLE-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 example-s3-bucket --key object key name --server-side-encryption aws:kms --bucket-key-enabled --body filepath