

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

# Menggunakan enkripsi sisi server dengan AWS KMS kunci (SSE-KMS)
<a name="UsingKMSEncryption"></a>

**penting**  
Amazon S3 sudah menerapkan enkripsi di sisi server dengan kunci terkelola Amazon S3 (SSE-S3) sebagai tingkat dasar enkripsi bagi setiap bucket di Amazon S3. Mulai 5 Januari 2023, semua unggahan objek baru ke Amazon S3 secara otomatis akan dienkripsi tanpa biaya tambahan dan tidak akan berdampak pada kinerja. Status enkripsi otomatis untuk konfigurasi enkripsi default bucket S3 dan untuk unggahan objek baru tersedia di CloudTrail log, S3 Inventory, S3 Storage Lens, konsol Amazon S3, dan sebagai header respons API Amazon S3 tambahan di dan. AWS CLI AWS SDKs Untuk informasi selengkapnya, lihat [FAQ enkripsi default](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html).

Enkripsi di sisi server adalah enkripsi data di tempat tujuan oleh aplikasi atau layanan yang menerimanya.

Amazon S3 secara otomatis mengaktifkan enkripsi di sisi server dengan kunci yang dikelola Amazon S3 (SSE-S3) untuk unggah objek baru.

Kecuali Anda menentukan sebaliknya, bucket menggunakan SSE-S3 secara default untuk mengenkripsi objek. Namun, Anda dapat memilih untuk mengonfigurasi bucket untuk menggunakan enkripsi sisi server dengan kunci AWS Key Management Service (AWS KMS) (SSE-KMS) sebagai gantinya. Untuk informasi selengkapnya, lihat [Menentukan enkripsi sisi server dengan (SSE-KMS) AWS KMS](specifying-kms-encryption.md).

AWS KMS adalah layanan yang menggabungkan perangkat keras dan perangkat lunak yang aman dan sangat tersedia untuk menyediakan sistem manajemen kunci yang diskalakan untuk cloud. Amazon S3 menggunakan enkripsi sisi server dengan AWS KMS (SSE-KMS) untuk mengenkripsi data objek S3 Anda. Juga, ketika SSE-KMS diminta untuk objek, checksum S3 (sebagai bagian dari metadata objek) disimpan dalam bentuk terenkripsi. Untuk informasi selengkapnya tentang checksum, silakan lihat [Memeriksa integritas objek di Amazon S3](checking-object-integrity.md).

Jika Anda menggunakan kunci KMS, Anda dapat menggunakan AWS KMS melalui [Konsol Manajemen AWS](https://console.aws.amazon.com/kms)atau [AWS KMS API](https://docs.aws.amazon.com/kms/latest/APIReference/) untuk melakukan hal berikut: 
+ Membuat, melihat, mengedit, memantau, mengaktifkan atau menonaktifkan, memutar, dan menjadwalkan penghapusan kunci KMS secara terpusat.
+ Menentukan kebijakan yang mengendalikan bagaimana dan oleh siapa kunci KMS digunakan.
+ Audit penggunaan kunci KMS untuk penggunaan yang benar. Audit didukung oleh [AWS KMS API](https://docs.aws.amazon.com/kms/latest/APIReference/) tetapi tidak oleh [AWS KMS Konsol;](https://console.aws.amazon.com/kms).



Kontrol keamanan AWS KMS dapat membantu Anda memenuhi persyaratan kepatuhan terkait enkripsi. Anda dapat menggunakan kunci KMS ini untuk melindungi data Anda di bucket Amazon S3. Saat Anda menggunakan enkripsi SSE-KMS dengan bucket S3, AWS KMS keys harus berada di Wilayah yang sama dengan bucket.

Ada biaya tambahan untuk penggunaan AWS KMS keys. Untuk informasi lebih umum, lihat konsep [AWS KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) dalam *AWS Key Management Service Panduan Pengguna* dan [AWS KMS harga](https://aws.amazon.com/kms/pricing).

Untuk petunjuk tentang mengizinkan pengguna IAM mengakses bucket terenkripsi KMS, lihat Bucket [Amazon S3 saya memiliki enkripsi default menggunakan kunci khusus. AWS KMS Bagaimana cara mengizinkan pengguna mengunduh dan mengunggah ke bucket?](https://repost.aws/knowledge-center/s3-bucket-access-default-encryption) di pusat AWS re:Post pengetahuan.

**Izin**  
Agar berhasil membuat `PutObject` permintaan untuk mengenkripsi objek dengan AWS KMS kunci ke Amazon S3, Anda `kms:GenerateDataKey` memerlukan izin pada kunci tersebut. Untuk mengunduh objek yang dienkripsi dengan AWS KMS key, Anda memerlukan `kms:Decrypt` izin untuk kunci tersebut. Untuk [melakukan unggahan multibagian](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions) untuk mengenkripsi objek dengan AWS KMS key, Anda harus memiliki `kms:GenerateDataKey` dan `kms:Decrypt` izin untuk kunci tersebut.

**penting**  
Tinjau dengan cermat izin yang diberikan dalam kebijakan kunci KMS Anda. Selalu batasi izin kebijakan kunci KMS yang dikelola pelanggan hanya untuk kepala sekolah dan AWS layanan IAM yang harus mengakses tindakan kunci yang relevan. AWS KMS Untuk informasi selengkapnya, lihat [Kebijakan utama di AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html).

**Topics**
+ [

## AWS KMS keys
](#aws-managed-customer-managed-keys)
+ [

## Kunci Bucket Amazon S3
](#sse-kms-bucket-keys)
+ [

## Membutuhkan enkripsi di sisi server
](#require-sse-kms)
+ [

## Konteks enkripsi
](#encryption-context)
+ [

## Mengirim permintaan untuk objek AWS KMS terenkripsi
](#aws-signature-version-4-sse-kms)
+ [

# Menentukan enkripsi sisi server dengan (SSE-KMS) AWS KMS
](specifying-kms-encryption.md)
+ [

# Mengurangi biaya SSE-KMS dengan Kunci Bucket Amazon S3
](bucket-key.md)

## AWS KMS keys
<a name="aws-managed-customer-managed-keys"></a>

Bila Anda menggunakan enkripsi sisi server dengan AWS KMS (SSE-KMS), Anda dapat menggunakan kunci [AWS terkelola default, atau Anda dapat menentukan kunci terkelola](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) [pelanggan](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) yang telah Anda buat. AWS KMS mendukung *enkripsi amplop*. S3 menggunakan AWS KMS fitur untuk *enkripsi amplop* untuk lebih melindungi data Anda. Enkripsi amplop adalah praktik mengenkripsi data teks biasa Anda dengan kunci data, dan kemudian mengenkripsi kunci data itu dengan kunci KMS. Untuk informasi selengkapnya tentang enkripsi amplop, lihat [ Enkripsi amplop](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#enveloping) di *Panduan Developer AWS Key Management Service *.

Jika Anda tidak menentukan kunci terkelola pelanggan, Amazon S3 secara otomatis membuat saat pertama kali Anda Akun AWS menambahkan objek yang dienkripsi dengan SSE-KMS ke bucket. Kunci yang dikelola AWS Secara default, Amazon S3 menggunakan kunci KMS ini untuk SSE-KMS. 

**catatan**  
Objek yang dienkripsi menggunakan SSE-KMS dengan [Kunci yang dikelola AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) tidak dapat dibagikan lintas akun. Jika Anda perlu membagikan data lintas akun SSE-KMS, Anda harus menggunakan kunci yang dikelola [pelanggan](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) dari. AWS KMS

Jika Anda ingin menggunakan CMK untuk SSE-KMS, Anda dapat membuat CMK simetris sebelum Anda mengonfigurasi SSE-KMS. Kemudian, ketika Anda mengonfigurasi SSE-KMS untuk bucket Anda, Anda dapat menentukan CMK saat ini. Untuk informasi selengkapnya tentang kunci enkripsi simetris, lihat [Kunci KMS enkripsi simetris](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#symmetric-cmks) dalam *Panduan Pengembang AWS Key Management Service *.

Membuat CMK memberikan Anda lebih banyak fleksibilitas dan kendali atas pelanggan. Misalnya, Anda dapat membuat, memutar, dan menonaktifkan CMK. Anda juga dapat menentukan kontrol akses dan mengaudit CMK yang Anda gunakan untuk melindungi data Anda. Untuk informasi selengkapnya tentang kunci yang AWS dikelola dan dikelola [pelanggan, lihat Kunci dan AWS kunci](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) pelanggan di *Panduan AWS Key Management Service Pengembang*.

**catatan**  
Saat Anda menggunakan enkripsi di sisi server dengan CMK yang disimpan di penyimpanan kunci eksternal, tidak seperti kunci KMS standar, Anda bertanggung jawab untuk memastikan ketersediaan dan ketahanan material kunci Anda. Untuk informasi selengkapnya tentang penyimpanan kunci eksternal dan cara mereka mengubah model tanggung jawab bersama, lihat [Penyimpanan kunci eksternal](https://docs.aws.amazon.com//kms/latest/developerguide/keystore-external.html) di *Panduan AWS Key Management Service Pengembang*.

### Menggunakan enkripsi SSE-KMS untuk operasi lintas akun
<a name="sse-kms-cross-account-operations"></a>

Saat menggunakan enkripsi untuk operasi lintas akun, perhatikan hal berikut:
+ Jika Nama Sumber Daya AWS KMS key Amazon (ARN) atau alias tidak disediakan pada waktu permintaan atau melalui konfigurasi enkripsi default bucket, Kunci yang dikelola AWS (`aws/s3`) dari akun pengunggahan digunakan untuk enkripsi dan diperlukan untuk dekripsi.
+ Kunci yang dikelola AWS (`aws/s3`) dapat digunakan sebagai kunci KMS Anda untuk operasi lintas akun saat prinsip pengunggahan dan akses AWS Identity and Access Management (IAM) berasal dari yang sama. Akun AWS
+ Jika Anda ingin memberikan akses lintas akun ke objek S3 Anda, gunakan CMK. Anda dapat mengonfigurasi kebijakan CMK untuk mengizinkan akses dari akun lain.
+ Jika Anda menentukan kunci KMS yang dikelola pelanggan, kami sarankan untuk menggunakan ARN kunci KMS yang memenuhi syarat sepenuhnya. Jika Anda menggunakan alias kunci KMS sebagai gantinya, AWS KMS selesaikan kunci dalam akun pemohon. Perilaku ini dapat menghasilkan data yang dienkripsi dengan kunci KMS milik pemohon, dan bukan pemilik bucket.
+ Anda harus menentukan kunci yang kepada Anda (pemohon) telah diberikan izin `Encrypt`. Untuk informasi selengkapnya, lihat [Mengizinkan pengguna di akun lain untuk menggunakan kunci KMS untuk operasi kriptografi](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-users-crypto) di *Panduan Pengembang AWS Key Management Service *.

Untuk informasi selengkapnya tentang kapan menggunakan kunci terkelola pelanggan dan kunci KMS AWS terkelola, lihat [Haruskah saya menggunakan Kunci yang dikelola AWS atau kunci yang dikelola pelanggan untuk mengenkripsi objek saya di Amazon S3?](https://aws.amazon.com/premiumsupport/knowledge-center/s3-object-encryption-keys/)

### Alur kerja enkripsi SSE-KMS
<a name="sse-kms-encryption-workflow"></a>

Jika Anda memilih untuk mengenkripsi data menggunakan Kunci yang dikelola AWS atau kunci yang dikelola pelanggan, AWS KMS dan Amazon S3 melakukan tindakan enkripsi amplop berikut:

1. Amazon S3 meminta [ kunci data](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#data-keys) plaintext dan salinan kunci yang dienkripsi di bawah kunci KMS yang ditentukan.

1. AWS KMS menghasilkan kunci data, mengenkripsinya di bawah kunci KMS, dan mengirimkan kunci data teks biasa dan kunci data terenkripsi ke Amazon S3.

1. Amazon S3 mengenkripsi data menggunkaan kunci data dan menghapus kunci plaintext dari memori sesegera mungkin setelah digunakan.

1. Amazon S3 menyimpan kunci data terenkripsi sebagai metadata dengan data terenkripsi.

Saat Anda meminta agar data Anda didekripsi, Amazon S3 AWS KMS dan lakukan tindakan berikut:

1. Amazon S3 mengirimkan kunci data terenkripsi ke AWS KMS dalam permintaan. `Decrypt`

1. AWS KMS mendekripsi kunci data terenkripsi dengan menggunakan kunci KMS yang sama dan mengembalikan kunci data teks biasa ke Amazon S3.

1. Amazon S3 mendekripsi data terenkripsi, menggunakan kunci data teks biasa, dan menghapus kunci data teks biasa dari memori sesegera mungkin.

**penting**  
Saat Anda menggunakan enkripsi sisi server AWS KMS key untuk Amazon S3, Anda harus memilih kunci KMS enkripsi simetris. Amazon S3 hanya mendukung kunci KMS enkripsi simetris. Untuk informasi selengkapnya terkait kunci ini, lihat [Membuat kunci enkripsi simetris KMS](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#symmetric-cmks) dalam *Panduan Pengembang AWS Key Management Service *.

### Mengaudit enkripsi SSE-KMS
<a name="sse-kms-encryption-audit"></a>

Untuk mengidentifikasi permintaan yang menentukan SSE-KMS, Anda dapat menggunakan metrik **Semua permintaan SSE-KMS** dan **% semua permintaan SSE-KMS** dalam metrik Lensa Penyimpanan Amazon S3. Lensa Penyimpanan S3 adalah fitur analisis penyimpanan cloud yang dapat Anda gunakan untuk mendapatkan visibilitas seluruh organisasi ke dalam penggunaan dan aktivitas penyimpanan objek. [Anda juga dapat menggunakan jumlah bucket berkemampuan SSE-KMS dan bucket berkemampuan% SSE-KMS untuk memahami jumlah bucket yang (SSE-KMS) untuk enkripsi bucket default.](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html) Untuk informasi selengkapnya, lihat [ Menilai aktivitas penyimpanan dan penggunaan Anda dengan Lensa Penyimpanan S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html?icmpid=docs_s3_user_guide_UsingKMSEncryption.html). Untuk daftar lengkap metrik, lihat [ Glosarium metrik Lensa Penyimpanan S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html?icmpid=docs_s3_user_guide_UsingKMSEncryption.html).

Untuk mengaudit penggunaan AWS KMS kunci Anda untuk data terenkripsi SSE-KMS Anda, Anda dapat menggunakan log. AWS CloudTrail Anda bisa mendapatkan wawasan tentang [operasi kriptografi](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) Anda, seperti [https://docs.aws.amazon.com/kms/latest/developerguide/ct-generatedatakey.html](https://docs.aws.amazon.com/kms/latest/developerguide/ct-generatedatakey.html)dan [https://docs.aws.amazon.com/kms/latest/developerguide/ct-decrypt.html](https://docs.aws.amazon.com/kms/latest/developerguide/ct-decrypt.html). CloudTrail mendukung banyak [nilai atribut](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html) untuk memfilter pencarian Anda, termasuk nama acara, nama pengguna, dan sumber acara. 

## Kunci Bucket Amazon S3
<a name="sse-kms-bucket-keys"></a>

Saat mengonfigurasi enkripsi sisi server menggunakan AWS KMS (SSE-KMS), Anda dapat mengonfigurasi bucket untuk menggunakan S3 Bucket Keys untuk SSE-KMS. Menggunakan kunci tingkat ember untuk SSE-KMS dapat mengurangi biaya AWS KMS permintaan Anda hingga 99 persen dengan mengurangi lalu lintas permintaan dari Amazon S3 ke. AWS KMS

Ketika Anda mengonfigurasi bucket Anda untuk menggunakan Kunci Bucket S3 untuk SSE-KMS pada objek baru, AWS KMS menghasilkan kunci tingkat bucket yang digunakan untuk membuat [kunci data](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys) untuk objek dalam bucket. Kunci Bucket S3 ini digunakan untuk jangka waktu terbatas dalam Amazon S3, semakin mengurangi kebutuhan Amazon S3 untuk membuat permintaan AWS KMS untuk menyelesaikan operasi enkripsi. Untuk informasi lebih lanjut tentang menggunakan Kunci Bucket S3, lihat [Mengurangi biaya SSE-KMS dengan Kunci Bucket Amazon S3](bucket-key.md).

## Membutuhkan enkripsi di sisi server
<a name="require-sse-kms"></a>

Untuk mewajibkan enkripsi di sisi server terhadap semua objek dalam bucket Amazon S3 tertentu, Anda dapat menggunakan kebijakan bucket. Misalnya, kebijakan bucket berikut menolak izin objek unggah (`s3:PutObject`) untuk semua orang jika permintaan tidak menyertakan header `x-amz-server-side-encryption-aws-kms-key-id` yang meminta enkripsi di sisi server dengan SSE-KMS.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Id":"PutObjectPolicy",
   "Statement":[{
         "Sid":"DenyObjectsThatAreNotSSEKMS",
         "Effect":"Deny",
         "Principal":"*",
         "Action":"s3:PutObject",
         "Resource":"arn:aws:s3:::amzn-s3-demo-bucket1/*",
         "Condition":{
            "Null":{
               "s3:x-amz-server-side-encryption-aws-kms-key-id":"true"
            }
         }
      }
   ]
}
```

------

Untuk mengharuskan seseorang AWS KMS key digunakan untuk mengenkripsi objek dalam ember, Anda dapat menggunakan kunci `s3:x-amz-server-side-encryption-aws-kms-key-id` kondisi. Untuk menentukan kunci KMS, Anda harus menggunakan kunci Amazon Resource Name (ARN) yang ada dalam `arn:aws:kms:region:acct-id:key/key-id` format. AWS Identity and Access Management tidak memvalidasi jika string untuk `s3:x-amz-server-side-encryption-aws-kms-key-id` ada. 

**catatan**  
Saat mengunggah objek, Anda dapat menentukan kunci KMS dengan menggunakan `x-amz-server-side-encryption-aws-kms-key-id` header atau mengandalkan [konfigurasi enkripsi bucket default](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html) Anda. Jika PutObject permintaan Anda menentukan `aws:kms` di `x-amz-server-side-encryption` header, tetapi tidak menentukan `x-amz-server-side-encryption-aws-kms-key-id` header, maka Amazon S3 mengasumsikan bahwa Anda ingin menggunakan. Kunci yang dikelola AWS Terlepas dari itu, ID AWS KMS kunci yang digunakan Amazon S3 untuk enkripsi objek harus cocok dengan ID AWS KMS kunci dalam kebijakan, jika tidak Amazon S3 menolak permintaan tersebut.

*Untuk daftar lengkap kunci kondisi khusus Amazon S3, lihat Kunci kondisi [untuk Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-policy-keys) di Referensi Otorisasi Layanan.*

## Konteks enkripsi
<a name="encryption-context"></a>

*Konteks enkripsi* adalah seperangkat pasangan nilai kunci yang berisi informasi kontekstual tambahan terkait data. Konteks enkripsi tidak dienkripsi. Ketika konteks enkripsi ditentukan untuk operasi enkripsi, Amazon S3 harus menentukan konteks enkripsi yang sama untuk operasi dekripsi. Jika tidak, dekripsi gagal. AWS KMS menggunakan konteks enkripsi sebagai [data otentikasi tambahan](https://docs.aws.amazon.com/database-encryption-sdk/latest/devguide/concepts.html#digital-sigs) (AAD) untuk mendukung enkripsi yang [diautentikasi](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations#digital-sigs). Untuk informasi umum tentang konteks enkripsi, lihat [Konteks enkripsi](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) dalam *Panduan Pengembang AWS Key Management Service *. 

Secara default, Amazon S3 menggunakan objek atau bucket Amazon Resource Name (ARN) sebagai pasangan konteks enkripsi: 
+ **Jika Anda menggunakan SSE-KMS tanpa mengaktifkan Kunci Bucket S3**, objek ARN digunakan sebagai konteks enkripsi.

  ```
  arn:aws:s3:::object_ARN
  ```
+ **Jika Anda menggunakan SSE-KMS dan mengaktifkan Kunci Bucket S3**, ARN bucket akan digunakan sebagai konteks enkripsi. Untuk informasi selengkapnya tentang Kunci Bucket S3, lihat [Mengurangi biaya SSE-KMS dengan Kunci Bucket Amazon S3](bucket-key.md).

  ```
  arn:aws:s3:::bucket_ARN
  ```

Anda secara opsional dapat memberikan pasangan konteks enkripsi tambahan dengan menggunakan `x-amz-server-side-encryption-context` header dalam permintaan [s3: PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#API_PutObject_RequestSyntax). Namun, karena konteks enkripsi tidak dienkripsi, pastikan bahwa itu tidak menyertakan informasi yang sensitif. Amazon S3 menyimpan pasangan kunci tambahan ini bersama dengan konteks enkripsi default. Saat memproses permintaan `PUT` Anda, Amazon S3 menambahkan konteks enkripsi default ke `aws:s3:arn` yang Anda berikan. 

Anda dapat menggunakan konteks enkripsi untuk mengidentifikasi dan mengategorikan operasi kriptografi Anda. Anda juga dapat menggunakan nilai ARN konteks enkripsi default untuk melacak permintaan yang relevan AWS CloudTrail dengan melihat Amazon S3 ARN mana yang digunakan dengan kunci enkripsi mana.

Di `requestParameters` bidang file CloudTrail log, konteks enkripsi terlihat mirip dengan yang berikut. 

```
"encryptionContext": {
    "aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-bucket1/file_name"
}
```

Saat Anda menggunakan SSE-KMS dengan fitur S3 Bucket Keys opsional, nilai konteks enkripsi adalah ARN bucket.

```
"encryptionContext": {
    "aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-bucket1"
}
```

## Mengirim permintaan untuk objek AWS KMS terenkripsi
<a name="aws-signature-version-4-sse-kms"></a>

**penting**  
Semua `GET` dan `PUT` permintaan untuk objek AWS KMS terenkripsi harus dibuat menggunakan Secure Sockets Layer (SSL) atau Transport Layer Security (TLS). Permintaan juga harus ditandatangani menggunakan kredensil yang valid, seperti AWS Signature Version 4 (atau AWS Signature Version 2).

AWS Signature Version 4 adalah proses menambahkan informasi otentikasi ke AWS permintaan yang dikirim oleh HTTP. Untuk keamanan, sebagian besar permintaan AWS harus ditandatangani dengan kunci akses, yang terdiri dari ID kunci akses dan kunci akses rahasia. Kedua kunci ini umumnya disebut sebagai kredensial keamanan Anda. Untuk informasi selengkapnya, lihat [Permintaan Autentikasi (Tanda Tangan AWS Versi 4)](https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html) dan [Proses penandatanganan Tanda Tangan Versi 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).

**penting**  
Jika objek Anda menggunakan SSE-KMS, jangan mengirim header permintaan enkripsi untuk permintaan `GET` dan permintaan `HEAD`. Jika tidak, Anda akan mendapatkan kesalahan HTTP 400 Bad Request.

**Topics**
+ [

## AWS KMS keys
](#aws-managed-customer-managed-keys)
+ [

## Kunci Bucket Amazon S3
](#sse-kms-bucket-keys)
+ [

## Membutuhkan enkripsi di sisi server
](#require-sse-kms)
+ [

## Konteks enkripsi
](#encryption-context)
+ [

## Mengirim permintaan untuk objek AWS KMS terenkripsi
](#aws-signature-version-4-sse-kms)
+ [

# Menentukan enkripsi sisi server dengan (SSE-KMS) AWS KMS
](specifying-kms-encryption.md)
+ [

# Mengurangi biaya SSE-KMS dengan Kunci Bucket Amazon S3
](bucket-key.md)

# Menentukan enkripsi sisi server dengan (SSE-KMS) AWS KMS
<a name="specifying-kms-encryption"></a>

Semua bucket Amazon S3 memiliki enkripsi yang dikonfigurasi secara default, dan semua objek baru yang diunggah ke bucket S3 secara otomatis dienkripsi saat sedang tidak aktif. Enkripsi di sisi server dengan kunci terkelola Amazon S3 (SSE-S3) adalah konfigurasi enkripsi default untuk setiap bucket di Amazon S3. Untuk menggunakan jenis enkripsi yang berbeda, Anda dapat menentukan jenis enkripsi sisi server yang akan digunakan dalam `PUT` permintaan S3, atau memperbarui konfigurasi enkripsi default di bucket tujuan. 

Jika Anda ingin menentukan jenis enkripsi yang berbeda dalam `PUT` permintaan Anda, Anda dapat menggunakan enkripsi sisi server dengan AWS Key Management Service () kunci (SSE-KMS AWS KMS), enkripsi sisi server dua lapis dengan kunci (DSSE-KMS), atau enkripsi sisi server dengan AWS KMS kunci yang disediakan pelanggan (SSE-C). Jika Anda ingin mengatur konfigurasi enkripsi default yang berbeda di dalam bucket tujuan, Anda dapat menggunakan SSE-KMS atau DSSE-KMS.

Untuk informasi selengkapnya tentang mengubah konfigurasi enkripsi default untuk bucket tujuan umum Anda, lihat[Mengonfigurasi enkripsi default](default-bucket-encryption.md). 

Saat Anda mengubah konfigurasi enkripsi default bucket ke SSE-KMS, jenis enkripsi objek Amazon S3 yang ada di bucket tidak akan diubah. Untuk mengubah jenis enkripsi objek yang sudah ada sebelumnya setelah memperbarui konfigurasi enkripsi default ke SSE-KMS, Anda dapat menggunakan Operasi Batch Amazon S3. Anda menyediakan Operasi Batch S3 dengan daftar objek, dan Operasi Batch memanggil operasi API masing-masing. Anda dapat menggunakan [Menyalin objek](batch-ops-copy-object.md) tindakan untuk menyalin objek yang ada, yang menuliskannya kembali ke bucket yang sama dengan objek terenkripsi SSE-KMS. 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](batch-ops.md) dan posting *Blog AWS Penyimpanan* [Cara mengenkripsi objek yang ada secara surut di Amazon S3 menggunakan S3 Inventory, Amazon Athena, dan Operasi Batch S3](https://aws.amazon.com/blogs/security/how-to-retroactively-encrypt-existing-objects-in-amazon-s3-using-s3-inventory-amazon-athena-and-s3-batch-operations/). 

Anda dapat menentukan SSE-KMS dengan menggunakan konsol Amazon S3, operasi REST API, dan (). AWS SDKs AWS Command Line Interface AWS CLI Untuk informasi selengkapnya, lihat topik berikut. 

**catatan**  
Anda dapat menggunakan Multi-wilayah AWS KMS keys di Amazon S3. Namun, Amazon S3 saat ini memperlakukan kunci multi-Wilayah selayaknya kunci satu Wilayah, dan tidak menggunakan fitur multi-Wilayah dari kunci tersebut. Untuk informasi selengkapnya, lihat [Menggunakan kunci Multi-wilayah](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) di *Panduan AWS Key Management Service Pengembang*.

**catatan**  
Jika Anda ingin menggunakan kunci KMS yang dimiliki oleh akun lain, Anda harus memiliki izin untuk menggunakan kunci tersebut. Untuk informasi selengkapnya tentang izin lintas akun untuk kunci KMS, lihat [Membuat kunci KMS yang dapat digunakan oleh akun lain](https://docs.aws.amazon.com//kms/latest/developerguide/key-policy-modifying-external-accounts.html#cross-account-console) di *Panduan Pengembang AWS Key Management Service *. 

## Menggunakan konsol S3
<a name="add-object-encryption-kms"></a>

Topik ini menjelaskan cara mengatur atau mengubah jenis enkripsi objek untuk menggunakan enkripsi sisi server dengan AWS Key Management Service (AWS KMS) kunci (SSE-KMS) dengan menggunakan konsol Amazon S3.

**catatan**  
Anda dapat mengubah enkripsi objek jika objek Anda kurang dari 5 GB. Jika objek Anda lebih besar dari 5 GB, Anda harus menggunakan [AWS CLI](mpu-upload-object.md#UsingCLImpUpload)atau [AWS SDKs](CopyingObjectsMPUapi.md)untuk mengubah enkripsi objek.
Untuk daftar izin tambahan yang diperlukan untuk mengubah enkripsi objek, lihat[Izin yang diperlukan untuk operasi API Amazon S3](using-with-s3-policy-actions.md). Misalnya kebijakan yang memberikan izin ini, lihat[Contoh kebijakan berbasis identitas untuk Amazon S3](example-policies-s3.md).
Jika Anda mengubah enkripsi objek, sebuah objek baru akan dibuat untuk menggantikan objek yang lama. Jika Penentuan Versi S3 diaktifkan, versi baru objek akan dibuat, dan objek yang sudah ada menjadi versi yang lebih lama. Peran yang mengubah properti juga menjadi pemilik objek baru (atau versi objek). 

**Untuk menambahkan atau mengubah enkripsi untuk objek**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di panel navigasi, pilih **Bucket**, lalu pilih tab **Bucket tujuan umum**. Arahkan ke bucket Amazon S3 atau folder yang berisi objek yang ingin Anda ubah.

1. Pilih kotak centang untuk objek yang ingin Anda ubah.

1. Pada menu **Tindakan**, pilih **Edit enkripsi sisi server** dari daftar opsi yang muncul.

1. Gulir ke bagian **enkripsi sisi server**.

1. Di bawah **Pengaturan enkripsi**, pilih **Gunakan pengaturan bucket untuk enkripsi default**, atau **Ganti pengaturan bucket untuk enkripsi default**.
**penting**  
Jika Anda menggunakan opsi SSE-KMS untuk konfigurasi enkripsi default, Anda tunduk pada kuota permintaan per detik (RPS) AWS KMS. Untuk informasi selengkapnya tentang kuota AWS KMS dan cara meminta kenaikan kuota, lihat [Kuota](https://docs.aws.amazon.com/kms/latest/developerguide/limits.html) di *Panduan Pengembang AWS Key Management Service *. 

1. Jika Anda memilih **Timpa pengaturan bucket untuk enkripsi default**, konfigurasikan pengaturan enkripsi berikut.

   1. Di bawah **Jenis enkripsi**, pilih **Enkripsi sisi server dengan AWS Key Management Service kunci (SSE-KMS**).

   1. Di bagian bawah **AWS KMS kunci**, lakukan salah satu langkah berikut untuk memilih kunci KMS Anda:
      + Untuk memilih dari daftar kunci KMS yang tersedia, pilih **Pilih dari AWS KMS keys Anda**, dan pilih **Kunci KMS** Anda dari daftar kunci yang tersedia.

        Kunci Kunci yang dikelola AWS (`aws/s3`) dan kunci terkelola pelanggan Anda muncul dalam daftar ini. Untuk informasi selengkapnya tentang CMK, lihat [Kunci pelanggan dan AWS kunci](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) di *AWS Key Management Service Panduan Pengembang*.
      + Untuk memasukkan ARN kunci KMS, pilih **Masukkan AWS KMS key ARN**, lalu masukkan ARN kunci KMS Anda di bidang yang muncul. 
      + Untuk membuat kunci terkelola pelanggan baru di AWS KMS konsol, pilih **Buat kunci KMS**.

        Untuk informasi selengkapnya tentang membuat AWS KMS key, lihat [Membuat kunci](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) di *Panduan AWS Key Management Service Pengembang*.
**penting**  
Anda hanya dapat menggunakan tombol KMS yang tersedia Wilayah AWS sama dengan bucket. Konsol Amazon S3 hanya mencantumkan kunci 100 KMS pertama di Wilayah yang sama dengan bucket. Untuk menggunakan kunci KMS yang tidak terdaftar, Anda harus memasukkan ARN kunci KMS Anda. Jika Anda ingin menggunakan kunci KMS yang dimiliki oleh akun lain, Anda harus terlebih dahulu memiliki izin untuk menggunakan kunci tersebut, dan kemudian Anda harus memasukkan ARN kunci KMS.  
Amazon S3 hanya mendukung kunci KMS enkripsi simetris, dan tidak mendukung kunci KMS asimetris. Untuk informasi selengkapnya, lihat [Mengidentifikasi tombol KMS simetris dan asimetris](https://docs.aws.amazon.com//kms/latest/developerguide/find-symm-asymm.html) dalam *Panduan Pengembang AWS Key Management Service *.

1. Di bawah **Pengaturan salinan tambahan**, pilih apakah Anda ingin **Menyalin setelan sumber**, **Jangan tentukan pengaturan**, atau **Tentukan pengaturan**. **Pengaturan sumber salin** adalah opsi default. Jika Anda hanya ingin menyalin objek tanpa atribut pengaturan sumber, pilih **Jangan tentukan pengaturan**. Pilih **Tentukan pengaturan** untuk menentukan pengaturan untuk kelas penyimpanan, tag objek ACLs, metadata, enkripsi sisi server, dan checksum tambahan.

1. Pilih **Simpan perubahan**.

**catatan**  
Tindakan ini menerapkan enkripsi untuk semua objek yang ditentukan. Saat mengenkripsi folder, tunggu hingga operasi penyimpanannya selesai sebelum menambahkan objek baru ke folder tersebut.

## Penggunaan API REST
<a name="KMSUsingRESTAPI"></a>

Saat Anda membuat sebuah objek—yaitu, ketika Anda mengunggah objek baru atau menyalin objek yang sudah ada—Anda dapat menentukan penggunaan enkripsi di sisi server dengan AWS KMS keys (SSE-KMS) untuk mengenkripsi data Anda. Untuk melakukannya, tambahkan header `x-amz-server-side-encryption` ke permintaan. Atur nilai header ke algoritma enkripsi. `aws:kms`. Amazon S3 mengonfirmasi bahwa objek Anda disimpan menggunakan SSE-KMS dengan mengembalikan header respons `x-amz-server-side-encryption`. 

Jika Anda menentukan header `x-amz-server-side-encryption` dengan nilai `aws:kms`, Anda juga dapat menggunakan header permintaan berikut ini:
+ `x-amz-server-side-encryption-aws-kms-key-id`
+ `x-amz-server-side-encryption-context`
+ `x-amz-server-side-encryption-bucket-key-enabled`

**Topics**
+ [

### Operasi API REST Amazon S3 yang mendukung SSE-KMS
](#sse-request-headers-kms)
+ [

### Konteks enkripsi (`x-amz-server-side-encryption-context`)
](#s3-kms-encryption-context)
+ [

### AWS KMS ID kunci (`x-amz-server-side-encryption-aws-kms-key-id`)
](#s3-kms-key-id-api)
+ [

### Tombol Bucket S3 () `x-amz-server-side-encryption-aws-bucket-key-enabled`
](#bucket-key-api)

### Operasi API REST Amazon S3 yang mendukung SSE-KMS
<a name="sse-request-headers-kms"></a>

Operasi API REST berikut ini menerima header permintaan `x-amz-server-side-encryption`, `x-amz-server-side-encryption-aws-kms-key-id`, dan `x-amz-server-side-encryption-context`.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)–Saat Anda mengunggah data dengan menggunakan operasi API `PUT`, Anda dapat menentukan header permintaan ini. 
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)–Saat Anda menyalin objek, Anda memiliki objek sumber dan objek target. Ketika Anda melewati header SSE-KMS dengan `CopyObject` operasi, mereka hanya diterapkan ke objek target. Saat Anda menyalin objek yang ada, terlepas dari apakah objek sumber dienkripsi atau tidak, objek tujuan tidak dienkripsi kecuali Anda secara eksplisit meminta enkripsi sisi server.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html)— Saat Anda menggunakan `POST` operasi untuk mengunggah objek, alih-alih header permintaan, Anda memberikan informasi yang sama di bidang formulir.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)— Saat Anda mengunggah objek besar dengan menggunakan operasi API unggahan multibagian, Anda dapat menentukan header ini. Anda menentukan header ini dalam `CreateMultipartUpload` permintaan.

Header respons dari operasi API REST berikut mengembalikan header `x-amz-server-side-encryption` saat objek disimpan menggunakan enkripsi di sisi server.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html)

**penting**  
Semua `GET` dan `PUT` permintaan untuk objek yang dilindungi oleh AWS KMS gagal jika Anda tidak membuat permintaan ini dengan menggunakan Secure Sockets Layer (SSL), Transport Layer Security (TLS), atau Signature Version 4.
Jika objek Anda menggunakan SSE-KMS, jangan mengirim header permintaan enkripsi untuk `GET` permintaan dan `HEAD` permintaan, atau Anda akan mendapatkan kesalahan HTTP 400. BadRequest

### Konteks enkripsi (`x-amz-server-side-encryption-context`)
<a name="s3-kms-encryption-context"></a>

Jika Anda menentukan `x-amz-server-side-encryption:aws:kms`, API Amazon S3 mendukung konteks enkripsi dengan header `x-amz-server-side-encryption-context`. Konteks enkripsi adalah seperangkat pasangan nilai kunci yang berisi informasi kontekstual tambahan terkait data.

Amazon S3 secara otomatis menggunakan objek atau bucket Amazon Resource Name (ARN) sebagai pasangan konteks enkripsi. Jika Anda menggunakan SSE-KMS tanpa mengaktifkan Kunci Bucket S3, Anda menggunakan objek ARN sebagai konteks enkripsi Anda; misalnya, `arn:aws:s3:::object_ARN`. Namun, jika Anda menggunakan SSE-KMS dan mengaktifkan S3 Bucket Key, Anda menggunakan objek ARN sebagai konteks enkripsi Anda; misalnya, `arn:aws:s3:::bucket_ARN`. 

Anda dapat secara opsional memberikan pasangan konteks enkripsi tambahan dengan menggunakan header `x-amz-server-side-encryption-context`. Namun, karena konteks enkripsi tidak dienkripsi, pastikan itu tidak menyertakan informasi sensitif. Amazon S3 menyimpan pasangan kunci tambahan ini bersama dengan konteks enkripsi default.

Untuk informasi tentang konteks enkripsi di Amazon S3, lihat [Konteks enkripsi](UsingKMSEncryption.md#encryption-context). Untuk informasi umum tentang konteks enkripsi, lihat [AWS Key Management Service Konsep-Konteks enkripsi](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context) dalam *Panduan Pengembang AWS Key Management Service *. 

### AWS KMS ID kunci (`x-amz-server-side-encryption-aws-kms-key-id`)
<a name="s3-kms-key-id-api"></a>

Anda dapat menggunakan header `x-amz-server-side-encryption-aws-kms-key-id` untuk menentukan ID CMK, yang digunakan untuk melindungi data. Jika Anda menentukan header `x-amz-server-side-encryption:aws:kms` tetapi tidak memberikan header `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 menggunakan Kunci yang dikelola AWS (`aws/s3`) untuk melindungi data tersebut. Jika Anda ingin menggunakan CMK, Anda harus memberikan header `x-amz-server-side-encryption-aws-kms-key-id` kunci yang dikelola pelanggan.

**penting**  
Saat Anda menggunakan enkripsi sisi server AWS KMS key untuk Amazon S3, Anda harus memilih kunci KMS enkripsi simetris. Amazon S3 hanya mendukung kunci KMS enkripsi simetris. Untuk informasi selengkapnya terkait kunci ini, lihat [Membuat kunci enkripsi simetris KMS](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#symmetric-cmks) dalam *Panduan Pengembang AWS Key Management Service *.

### Tombol Bucket S3 () `x-amz-server-side-encryption-aws-bucket-key-enabled`
<a name="bucket-key-api"></a>

Anda dapat menggunakan header `x-amz-server-side-encryption-aws-bucket-key-enabled` permintaan untuk mengaktifkan atau menonaktifkan Kunci Bucket S3 di tingkat objek. Kunci Bucket S3 mengurangi biaya AWS KMS permintaan Anda dengan mengurangi lalu lintas permintaan dari Amazon S3 ke. AWS KMS Untuk informasi selengkapnya, lihat [Mengurangi biaya SSE-KMS dengan Kunci Bucket Amazon S3](bucket-key.md).

Jika Anda menentukan header `x-amz-server-side-encryption:aws:kms` tapi tidak memberikan header `x-amz-server-side-encryption-aws-bucket-key-enabled`, objek Anda menggunakan pengaturan Kunci Bucket S3 pada bucket tujuan untuk mengenkripsi objek Anda. Untuk informasi selengkapnya, lihat [Mengonfigurasi Kunci Bucket S3 pada tingkat objek](configuring-bucket-key-object.md).

## Menggunakan AWS CLI
<a name="KMSUsingCLI"></a>

Untuk menggunakan contoh AWS CLI perintah berikut, ganti `user input placeholders` dengan informasi Anda sendiri.

Saat Anda mengunggah objek baru atau menyalin objek yang ada, Anda dapat menentukan penggunaan enkripsi sisi server dengan AWS KMS kunci untuk mengenkripsi data Anda. Untuk melakukannya, tambahkan header `--server-side-encryption aws:kms` ke permintaan. Gunakan tombol `--ssekms-key-id example-key-id` untuk menambahkan [AWS KMS kunci terkelola pelanggan](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#customer-cmk) yang Anda buat. Jika Anda menentukan`--server-side-encryption aws:kms`, tetapi tidak memberikan ID AWS KMS kunci, Amazon S3 akan menggunakan kunci AWS terkelola.

```
aws s3api put-object --bucket amzn-s3-demo-bucket --key example-object-key --server-side-encryption aws:kms --ssekms-key-id example-key-id --body filepath
```

Anda juga dapat mengaktifkan atau menonaktifkan Tombol Bucket Amazon S3 pada operasi PUT atau COPY Anda dengan menambahkan `--bucket-key-enabled` atau `--no-bucket-key-enabled`. Amazon S3 Bucket Keys dapat mengurangi biaya AWS KMS permintaan Anda dengan mengurangi lalu lintas permintaan dari Amazon S3 ke. AWS KMS Untuk informasi selengkapnya, lihat [Mengurangi biaya SSE-KMS menggunakan Kunci Bucket Amazon S3](https://docs.aws.amazon.com//AmazonS3/latest/userguide/bucket-key.html).

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

Anda dapat mengenkripsi objek yang tidak terenkripsi untuk menggunakan SSE-KMS dengan menyalin objek kembali ke tempatnya.

```
aws s3api copy-object --bucket amzn-s3-demo-bucket --key example-object-key --body filepath --bucket amzn-s3-demo-bucket --key example-object-key --sse aws:kms --sse-kms-key-id example-key-id --body filepath
```

## Menggunakan AWS SDKs
<a name="kms-using-sdks"></a>

Saat menggunakan AWS SDKs, Anda dapat meminta Amazon S3 untuk digunakan AWS KMS keys untuk enkripsi sisi server. Contoh berikut menunjukkan bagaimana menggunakan SSE-KMS dengan AWS SDKs untuk Java dan .NET. Untuk informasi tentang lainnya SDKs, lihat [Contoh kode dan pustaka](https://aws.amazon.com/code) di Pusat AWS Pengembang.

**penting**  
Saat Anda menggunakan enkripsi sisi server AWS KMS key untuk Amazon S3, Anda harus memilih kunci KMS enkripsi simetris. Amazon S3 hanya mendukung kunci KMS enkripsi simetris. Untuk informasi selengkapnya terkait kunci ini, lihat [Membuat kunci enkripsi simetris KMS](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#symmetric-cmks) dalam *Panduan Pengembang AWS Key Management Service *.

### Operasi `CopyObject`
<a name="kms-copy-operation"></a>

Saat menyalin objek, Anda menambahkan properti permintaan yang sama (`ServerSideEncryptionMethod` dan `ServerSideEncryptionKeyManagementServiceKeyId`) untuk meminta Amazon S3 menggunakan AWS KMS key. Untuk informasi selengkapnya tentang menyalin objek, lihat [Menyalin, memindahkan, dan mengganti nama objek](copy-object.md). 

### Operasi `PUT`
<a name="kms-put-operation"></a>

------
#### [ Java ]

Saat mengunggah objek menggunakan AWS SDK untuk Java, Anda dapat meminta Amazon S3 untuk menggunakan AWS KMS key dengan menambahkan properti seperti `SSEAwsKeyManagementParams` yang ditunjukkan dalam permintaan berikut:

```
PutObjectRequest putRequest = new PutObjectRequest(bucketName,
   keyName, file).withSSEAwsKeyManagementParams(new SSEAwsKeyManagementParams());
```

Dalam hal ini, Amazon S3 menggunakan Kunci yang dikelola AWS ()`aws/s3`. Untuk informasi selengkapnya, lihat [Menggunakan enkripsi sisi server dengan AWS KMS kunci (SSE-KMS)](UsingKMSEncryption.md). Anda dapat secara opsional membuat kunci KMS enkripsi simetris dan menentukannya dalam permintaan, seperti yang ditunjukkan pada contoh berikut:

```
PutObjectRequest putRequest = new PutObjectRequest(bucketName,
   keyName, file).withSSEAwsKeyManagementParams(new SSEAwsKeyManagementParams(keyID));
```

Untuk informasi selengkapnya tentang membuat kunci terkelola pelanggan, lihat [Memprogram AWS KMS API](https://docs.aws.amazon.com/kms/latest/developerguide/programming-top.html) di *Panduan AWS Key Management Service Pengembang*.

Untuk contoh kode kerja mengunggah sebuah objek, lihat topik berikut ini. Untuk menggunakan contoh ini, Anda harus memperbarui contoh kode dan memberikan informasi enkripsi seperti yang ditunjukkan dalam fragmen kode sebelumnya.
+ Untuk mengunggah objek dalam operasi tunggal, lihat [Mengunggah Objek](upload-objects.md).
+ Untuk unggahan multibagian yang menggunakan operasi API unggahan multibagian tingkat tinggi atau tingkat rendah, lihat. [Pengunggahan objek menggunakan unggahan multibagian](mpu-upload-object.md) 

------
#### [ .NET ]

Saat mengunggah objek menggunakan AWS SDK untuk .NET, Anda dapat meminta Amazon S3 untuk menggunakan AWS KMS key dengan menambahkan properti seperti `ServerSideEncryptionMethod` yang ditunjukkan dalam permintaan berikut:

```
PutObjectRequest putRequest = new PutObjectRequest
 {
     BucketName = amzn-s3-demo-bucket,
     Key = keyName,
     // other properties
     ServerSideEncryptionMethod = ServerSideEncryptionMethod.AWSKMS
 };
```

Dalam hal ini, Amazon S3 menggunakan. Kunci yang dikelola AWS Untuk informasi selengkapnya, lihat [Menggunakan enkripsi sisi server dengan AWS KMS kunci (SSE-KMS)](UsingKMSEncryption.md). Anda dapat secara opsional membuat kunci terkelola pelanggan enkripsi simetris Anda sendiri dan menentukannya dalam permintaan, seperti yang ditunjukkan pada contoh berikut:

```
PutObjectRequest putRequest1 = new PutObjectRequest
{
  BucketName = amzn-s3-demo-bucket,
  Key = keyName,
  // other properties
  ServerSideEncryptionMethod = ServerSideEncryptionMethod.AWSKMS,
  ServerSideEncryptionKeyManagementServiceKeyId = keyId
};
```

Untuk informasi selengkapnya tentang membuat kunci terkelola pelanggan, lihat [Memprogram AWS KMS API](https://docs.aws.amazon.com/kms/latest/developerguide/programming-top.html) di *Panduan AWS Key Management Service Pengembang*. 

Untuk contoh kode kerja mengunggah sebuah objek, lihat topik berikut ini. Untuk menggunakan contoh ini, Anda harus memperbarui contoh kode dan memberikan informasi enkripsi seperti yang ditunjukkan dalam fragmen kode sebelumnya.
+ Untuk mengunggah objek dalam operasi tunggal, lihat [Mengunggah Objek](upload-objects.md).
+ Untuk unggahan multibagian yang menggunakan operasi API unggahan multibagian tingkat tinggi atau tingkat rendah, lihat. [Pengunggahan objek menggunakan unggahan multibagian](mpu-upload-object.md) 

------

### Ditandatangani URLs
<a name="kms-presigned-urls"></a>

------
#### [ Java ]

Saat membuat URL presigned untuk objek yang dienkripsi dengan AWS KMS key, Anda harus secara eksplisit menentukan Signature Versi 4, seperti yang ditunjukkan pada contoh berikut:

```
ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setSignerOverride("AWSS3V4SignerType");
AmazonS3Client s3client = new AmazonS3Client(
        new ProfileCredentialsProvider(), clientConfiguration);
...
```

Untuk contoh kode, lihat [Berbagi objek dengan presigned URLs](ShareObjectPreSignedURL.md). 

------
#### [ .NET ]

Saat membuat URL presigned untuk objek yang dienkripsi dengan AWS KMS key, Anda harus secara eksplisit menentukan Signature Versi 4, seperti yang ditunjukkan pada contoh berikut:

```
AWSConfigs.S3Config.UseSignatureVersion4 = true;
```

Untuk contoh kode, lihat [Berbagi objek dengan presigned URLs](ShareObjectPreSignedURL.md).

------

# Mengurangi biaya SSE-KMS dengan Kunci Bucket Amazon S3
<a name="bucket-key"></a>

Amazon S3 Bucket Keys mengurangi biaya enkripsi sisi server Amazon S3 AWS Key Management Service dengan AWS KMS kunci () (SSE-KMS). Menggunakan kunci tingkat ember untuk SSE-KMS dapat mengurangi biaya AWS KMS permintaan hingga 99 persen dengan mengurangi lalu lintas permintaan dari Amazon S3 ke. AWS KMS Dengan beberapa klik di Konsol Manajemen AWS, dan tanpa perubahan apa pun pada aplikasi klien Anda, Anda dapat mengonfigurasi bucket Anda untuk menggunakan Kunci Bucket S3 untuk enkripsi SSE-KMS pada objek baru.

**catatan**  
Kunci Bucket S3 tidak didukung untuk enkripsi sisi server dua lapis dengan kunci AWS Key Management Service () (AWS KMS DSSE-KMS).

## Kunci Bucket S3 untuk SSE-KMS
<a name="bucket-key-overview"></a>

Beban kerja yang mengakses jutaan atau miliaran objek yang dienkripsi dengan SSE-KMS dapat menghasilkan volume permintaan yang besar. AWS KMS[Saat Anda menggunakan SSE-KMS untuk melindungi data Anda tanpa Kunci Bucket S3, Amazon S3 menggunakan kunci data individual untuk setiap AWS KMS objek.](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#data-keys) Dalam hal ini, Amazon S3 melakukan panggilan ke AWS KMS setiap kali permintaan dibuat terhadap objek yang dienkripsi KMS. Untuk informasi tentang cara kerja SSE-KMS, lihat [Menggunakan enkripsi sisi server dengan AWS KMS kunci (SSE-KMS)](UsingKMSEncryption.md). 

Saat Anda mengonfigurasi bucket untuk menggunakan Kunci Bucket S3 untuk SSE-KMS, buat kunci tingkat AWS ember berumur pendek dari, lalu simpan sementara di S3. AWS KMS Kunci tingkat bucket ini akan membuat kunci data untuk objek baru selama siklus hidupnya. Kunci Bucket S3 digunakan untuk jangka waktu terbatas dalam Amazon S3, mengurangi kebutuhan S3 untuk membuat permintaan AWS KMS untuk menyelesaikan operasi enkripsi. Ini mengurangi lalu lintas dari S3 menjadi AWS KMS, memungkinkan Anda mengakses objek yang AWS KMS dienkripsi di Amazon S3 dengan biaya yang lebih murah dari biaya sebelumnya.

Kunci tingkat ember unik diambil setidaknya sekali per pemohon untuk memastikan bahwa akses pemohon ke kunci ditangkap dalam suatu peristiwa. AWS KMS CloudTrail Amazon S3 memperlakukan penelepon sebagai pemohon yang berbeda ketika mereka menggunakan peran atau akun yang berbeda, atau peran yang sama dengan kebijakan pelingkupan yang berbeda. AWS KMS penghematan permintaan mencerminkan jumlah pemohon, pola permintaan, dan usia relatif dari objek yang diminta. Misalnya, jumlah pemohon yang lebih sedikit, meminta beberapa objek dalam jendela waktu terbatas, dan dienkripsi dengan kunci tingkat ember yang sama, menghasilkan penghematan yang lebih besar.

**catatan**  
Menggunakan S3 Bucket Keys memungkinkan Anda menghemat biaya AWS KMS permintaan dengan mengurangi permintaan AWS KMS untuk`Encrypt`,`GenerateDataKey`, dan `Decrypt` operasi melalui penggunaan kunci tingkat ember. Secara desain, permintaan berikutnya yang memanfaatkan kunci tingkat ember ini tidak menghasilkan permintaan AWS KMS API atau memvalidasi akses terhadap kebijakan kunci. AWS KMS 

Bila Anda mengonfigurasi Kunci Bucket S3, objek yang sudah ada di bucket tidak menggunakan kunci Bucket S3. Untuk mengonfigurasi Kunci Bucket S3 untuk objek yang sudah ada, Anda dapat menggunakan operasi `CopyObject`. Untuk informasi selengkapnya, lihat [Mengonfigurasi Kunci Bucket S3 pada tingkat objek](configuring-bucket-key-object.md).

Amazon S3 hanya akan berbagi Kunci Bucket S3 untuk objek dienkripsi oleh AWS KMS key yang sama. Kunci Bucket S3 kompatibel dengan kunci KMS yang dibuat oleh AWS KMS, [bahan kunci impor, dan bahan](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) [kunci yang didukung oleh toko kunci khusus](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).

![\[Diagram yang menunjukkan AWS KMS menghasilkan kunci bucket yang membuat kunci data untuk objek dalam ember.\]](http://docs.aws.amazon.com/id_id/AmazonS3/latest/userguide/images/S3-Bucket-Keys.png)


## Mengonfigurasi Kunci Bucket S3
<a name="configure-bucket-key"></a>

Anda dapat mengonfigurasi bucket untuk menggunakan Kunci Bucket S3 untuk SSE-KMS pada objek baru melalui konsol Amazon S3,, AWS SDKs atau REST API. AWS CLI Dengan Kunci Bucket S3 diaktifkan di bucket Anda, objek yang diunggah dengan kunci SSE-KMS tertentu yang berbeda akan menggunakan Kunci Bucket S3 miliknya sendiri. Terlepas dari pengaturan Kunci Bucket S3 Anda, Anda dapat menyertakan header `x-amz-server-side-encryption-bucket-key-enabled` dengan nilai `true` atau `false` atau dalam permintaan Anda, untuk mengganti pengaturan bucket.

Sebelum mengonfigurasi bucket untuk menggunakan Kunci Bucket S3, tinjau [Perubahan yang perlu diperhatikan sebelum mengaktifkan Kunci Bucket S3](#bucket-key-changes). 

### Mengonfigurasi Kunci Bucket S3 menggunakan konsol Amazon S3
<a name="configure-bucket-key-console"></a>

Ketika Anda membuat bucket baru, Anda dapat mengonfigurasi bucket Anda untuk menggunakan Kunci Bucket S3 untuk SSE-KMS pada objek baru. Anda juga dapat mengonfigurasi bucket yang ada untuk menggunakan Kunci Bucket S3 untuk SSE-KMS pada objek baru dengan memperbarui properti bucket Anda. 

Untuk informasi selengkapnya, lihat [Mengonfigurasi bucket Anda untuk menggunakan Kunci Bucket S3 dengan SSE-KMS untuk objek baru](configuring-bucket-key.md).

### REST API, AWS CLI, dan dukungan AWS SDK untuk S3 Bucket Keys
<a name="configure-bucket-key-programmatic"></a>

Anda dapat menggunakan REST API, AWS CLI, atau AWS SDK untuk mengonfigurasi bucket agar menggunakan Kunci Bucket S3 untuk SSE-KMS pada objek baru. Anda juga dapat mengaktifkan Kunci Bucket S3 pada tingkat objek.

Untuk informasi selengkapnya, lihat berikut ini: 
+ [Mengonfigurasi Kunci Bucket S3 pada tingkat objek](configuring-bucket-key-object.md)
+ [Mengonfigurasi bucket Anda untuk menggunakan Kunci Bucket S3 dengan SSE-KMS untuk objek baru](configuring-bucket-key.md)

Operasi API berikut mendukung Kunci Bucket S3 untuk SSE-KMS:
+ [PutBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)
  + `ServerSideEncryptionRule` menerima parameter `BucketKeyEnabled` untuk mengaktifkan dan menonaktifkan Kunci Bucket S3.
+ [GetBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html)
  + `ServerSideEncryptionRule` mengembalikan pengaturan untuk `BucketKeyEnabled`.
+ [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html), [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html), [CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html), dan [POST Object](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html)
  + Anda dapat menggunakan header permintaan `x-amz-server-side-encryption-bucket-key-enabled` untuk mengaktifkan atau menonaktifkan Kunci Bucket S3 pada tingkat objek.
+ [HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html), [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html), [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html), [UploadPart](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html), dan [CompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
  + Respons header `x-amz-server-side-encryption-bucket-key-enabled` menunjukkan jika Kunci Bucket S3 diaktifkan atau dinonaktifkan untuk sebuah objek.

### Bekerja dengan CloudFormation
<a name="configure-bucket-key-cfn"></a>

Di CloudFormation, `AWS::S3::Bucket` sumber daya menyertakan properti enkripsi yang disebut `BucketKeyEnabled` yang dapat Anda gunakan untuk mengaktifkan atau menonaktifkan Kunci Bucket S3. 

Untuk informasi selengkapnya, lihat [Menggunakan CloudFormation](configuring-bucket-key.md#enable-bucket-key-cloudformation).

## Perubahan yang perlu diperhatikan sebelum mengaktifkan Kunci Bucket S3
<a name="bucket-key-changes"></a>

Sebelum mengaktifkan Kunci Bucket S3, perhatikan perubahan terkait berikut ini:

### IAM atau kebijakan AWS KMS utama
<a name="bucket-key-policies"></a>

Jika kebijakan atau kebijakan AWS KMS utama AWS Identity and Access Management (IAM) yang ada menggunakan objek Amazon Resource Name (ARN) sebagai konteks enkripsi untuk mempersempit atau membatasi akses ke kunci KMS, kebijakan ini tidak akan berfungsi dengan Kunci Bucket S3. Kunci Bucket S3 menggunakan bucket ARN sebagai konteks enkripsi. Sebelum mengaktifkan Kunci Bucket S3, perbarui kebijakan IAM atau kebijakan AWS KMS utama untuk menggunakan ARN bucket sebagai konteks enkripsi.

Untuk informasi selengkapnya tentang konteks enkripsi dan Kunci Bucket S3, lihat [Konteks enkripsi](UsingKMSEncryption.md#encryption-context).

### CloudTrail acara untuk AWS KMS
<a name="bucket-key-cloudtrail"></a>

Setelah Anda mengaktifkan Kunci Bucket S3, AWS KMS CloudTrail peristiwa Anda mencatat ARN bucket Anda alih-alih ARN objek Anda. Selain itu, Anda melihat lebih sedikit CloudTrail peristiwa KMS untuk objek SSE-KMS di log Anda. Karena materi utama dibatasi waktu di Amazon S3, lebih sedikit permintaan yang dibuat. AWS KMS

## Menggunakan kunci Bucket S3 dengan replikasi
<a name="bucket-key-replication"></a>

Anda dapat menggunakan Kunci Bucket S3 dengan Replikasi Wilayah yang Sama (SRR) dan Replikasi Lintas-Wilayah (CRR).

Ketika Amazon S3 mereplikasi objek terenkripsi, umumnya mempertahankan pengaturan enkripsi objek replika di bucket tujuan. Namun, jika objek sumber tidak dienkripsi dan bucket tujuan Anda menggunakan enkripsi default atau Kunci Bucket S3, Amazon S3 mengenkripsi objek dengan konfigurasi bucket tujuan. 

Contoh berikut menggambarkan bagaimana Kunci Bucket S3 bekerja dengan replikasi. Untuk informasi selengkapnya, lihat [Mereplikasi objek terenkripsi (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md). 

**Example Contoh 1–Sumber objek menggunakan Kunci Bucket S3, bucket tujuan menggunakan enkripsi default**  
Jika objek sumber Anda menggunakan Kunci Bucket S3 namun bucket tujuan Anda menggunakan enkripsi default dengan SSE-KMS, objek replika akan mempertahankan pengaturan enkripsi Kunci Bucket S3 di bucket tujuan. Bucket tujuan masih menggunakan enkripsi default dengan SSE-KMS.   


**Example Contoh 2–Objek sumber tidak dienkripsi, bucket tujuan menggunakan Kunci Bucket S3 dengan SSE-KMS**  
Jika objek sumber Anda tidak dienkripsi dan bucket tujuan menggunakan Kunci Bucket S3 dengan SSE-KMS, objek replika dienkripsi menggunakan Kunci Bucket S3 dengan SSE-KMS di bucket tujuan. Ini menghasilkan objek sumber `ETag` yang berbeda dari objek replika `ETag`. Anda harus memperbarui aplikasi yang menggunakan `ETag` untuk mengakomodasi perbedaan ini.

## Bekerja dengan Kunci Bucket S3
<a name="using-bucket-key"></a>

Untuk informasi lebih lanjut tentang mengaktifkan dan bekerja dengan Kunci Bucket S3, lihat bagian berikut:
+ [Mengonfigurasi bucket Anda untuk menggunakan Kunci Bucket S3 dengan SSE-KMS untuk objek baru](configuring-bucket-key.md)
+ [Mengonfigurasi Kunci Bucket S3 pada tingkat objek](configuring-bucket-key-object.md)
+ [Melihat pengaturan untuk Kunci Bucket S3](viewing-bucket-key-settings.md)

# Mengonfigurasi bucket Anda untuk menggunakan Kunci Bucket S3 dengan SSE-KMS untuk objek baru
<a name="configuring-bucket-key"></a>

Saat mengonfigurasi enkripsi sisi server dengan kunci AWS Key Management Service (AWS KMS) (SSE-KMS), Anda dapat mengonfigurasi bucket untuk menggunakan Kunci Bucket S3 untuk SSE-KMS pada objek baru. S3 Bucket Keys mengurangi lalu lintas permintaan dari Amazon S3 AWS KMS ke dan mengurangi biaya SSE-KMS. Untuk informasi selengkapnya, lihat [Mengurangi biaya SSE-KMS dengan Kunci Bucket Amazon S3](bucket-key.md).

Anda dapat mengonfigurasi bucket untuk menggunakan Kunci Bucket S3 untuk SSE-KMS pada objek baru menggunakan konsol Amazon S3, REST API, (), atau. AWS SDKs AWS Command Line Interface AWS CLI CloudFormation Jika Anda ingin mengaktifkan atau nonaktifkan Kunci Bucket S3 untuk objek yang ada, Anda dapat menggunakan sebuah `CopyObject` operasi. Untuk informasi selengkapnya, lihat [Mengonfigurasi Kunci Bucket S3 pada tingkat objek](configuring-bucket-key-object.md) dan [Menggunakan Operasi Batch untuk mengaktifkan Kunci Bucket S3 untuk SSE-KMS](batch-ops-copy-example-bucket-key.md).

Saat Kunci Bucket S3 diaktifkan untuk bucket sumber atau tujuan, konteks enkripsi akan menjadi Amazon Resource Name (ARN) bucket, bukan ARN objek (misalnya, `arn:aws:s3:::bucket_ARN`). Anda harus memperbarui kebijakan IAM Anda untuk menggunakan ARN bucket untuk konteks enkripsi. Untuk informasi selengkapnya, lihat [Replikasi dan Kunci Bucket S3](replication-config-for-kms-objects.md#bk-replication).

Contoh berikut menggambarkan bagaimana Kunci Bucket S3 bekerja dengan replikasi. Untuk informasi selengkapnya, lihat [Mereplikasi objek terenkripsi (SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)](replication-config-for-kms-objects.md). 

**Prasyarat**  
Sebelum mengonfigurasi bucket untuk menggunakan Kunci Bucket S3, tinjau [Perubahan yang perlu diperhatikan sebelum mengaktifkan Kunci Bucket S3](bucket-key.md#bucket-key-changes).

**Topics**

## Menggunakan konsol S3
<a name="enable-bucket-key"></a>

Di konsol S3, Anda dapat mengaktifkan atau nonaktifkan Kunci Bucket S3 untuk bucket baru atau yang sudah ada. Objek di konsol S3 mewarisi pengaturan Kunci Bucket S3 mereka dari konfigurasi bucket. Saat Anda mengaktifkan Kunci Bucket S3 untuk bucket Anda, objek baru yang Anda unggah ke bucket menggunakan Kunci Bucket S3 untuk SSE-KMS. 

**Mengunggah, menyalin, atau memodifikasi objek dalam bucket yang memiliki Kunci Bucket S3 diaktifkan**  
Jika Anda unggah, memodifikasi, atau menyalin objek dalam bucket yang mengaktifkan Kunci Bucket S3, pengaturan Kunci Bucket S3 untuk objek tersebut dapat diperbarui agar sesuai dengan konfigurasi bucket.

Jika sebuah objek telah mengaktifkan Kunci Bucket S3, pengaturan Kunci Bucket S3 untuk objek tersebut tidak berubah saat Anda menyalin atau memodifikasi objek. Namun, jika Anda mengubah atau menyalin objek yang tidak memiliki Kunci Bucket S3 yang diaktifkan, dan bucket tujuan memiliki konfigurasi Kunci Bucket S3, objek mewarisi pengaturan Kunci Bucket S3 bucket tujuan. Misalnya, jika objek sumber Anda tidak mengaktifkan Kunci Bucket S3 namun bucket tujuan mengaktifkan Kunci Bucket S3, Kunci Bucket S3 diaktifkan untuk objek tersebut.

**Untuk mengaktifkan Kunci Bucket S3 saat Anda membuat bucket baru**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di panel navigasi kiri, pilih **Bucket**.

1. Pilih **Buat bucket**. 

1. Masukkan nama bucket Anda, dan pilih Wilayah AWS. 

1. Di bawah **Enkripsi default**, untuk **Jenis kunci enkripsi**, pilih kunci **AWS Key Management Service (SSE-KMS)**.

1. Di bagian bawah **AWS KMS kunci**, lakukan salah satu langkah berikut untuk memilih kunci KMS Anda:
   + Untuk memilih dari daftar kunci KMS yang tersedia, pilih **Pilih dari Anda AWS KMS keys**, lalu pilih kunci **KMS Anda dari daftar kunci** yang tersedia.

     Kunci Kunci yang dikelola AWS (`aws/s3`) dan kunci terkelola pelanggan Anda muncul dalam daftar ini. Untuk informasi selengkapnya tentang kunci yang dikelola [pelanggan, lihat Kunci dan AWS kunci](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) pelanggan di *Panduan AWS Key Management Service Pengembang*.
   + Untuk memasukkan ARN kunci KMS, pilih **Masukkan AWS KMS key ARN**, dan masukkan ARN kunci KMS Anda di bidang yang muncul. 
   + Untuk membuat kunci terkelola pelanggan baru di AWS KMS konsol, pilih **Buat kunci KMS**.

     Untuk informasi selengkapnya tentang membuat AWS KMS key, lihat [Membuat Kunci](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) di *Panduan AWS Key Management Service Pengembang*.

1. Pada **Kunci Bucket**, pilih **Aktifkan**. 

1. Pilih **Buat bucket**. 

   Amazon S3 menciptakan bucket Anda dengan Kunci Bucket S3 yang diaktifkan. Objek baru yang Anda unggah ke bucket akan menggunakan Kunci Bucket S3. 

   Untuk menonaktifkan Kunci Bucket S3, ikuti langkah-langkah sebelumnya, dan pilih **Nonaktifkan**.

**Cara mengaktifkan Kunci Bucket S3 untuk bucket yang ada**

1. Buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di panel navigasi kiri, pilih **Bucket**.

1. Di dalam daftar **Bucket**, pilih bucket yang ingin Anda aktifkan Kunci Bucket S3-nya.

1. Pilih tab **Properti**.

1. Di bagian bawah **Enkripsi default**, pilih **Edit**.

1. Di bawah **Enkripsi default**, untuk **Jenis kunci enkripsi**, pilih kunci **AWS Key Management Service (SSE-KMS)**.

1. Di bagian bawah **AWS KMS kunci**, lakukan salah satu langkah berikut untuk memilih kunci KMS Anda:
   + Untuk memilih dari daftar kunci KMS yang tersedia, pilih **Pilih dari Anda AWS KMS keys**, lalu pilih kunci **KMS Anda dari daftar kunci** yang tersedia.

     Kunci Kunci yang dikelola AWS (`aws/s3`) dan kunci terkelola pelanggan Anda muncul dalam daftar ini. Untuk informasi selengkapnya tentang kunci yang dikelola [pelanggan, lihat Kunci dan AWS kunci](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#key-mgmt) pelanggan di *Panduan AWS Key Management Service Pengembang*.
   + Untuk memasukkan ARN kunci KMS, pilih **Masukkan AWS KMS key ARN**, dan masukkan ARN kunci KMS Anda di bidang yang muncul. 
   + Untuk membuat kunci terkelola pelanggan baru di AWS KMS konsol, pilih **Buat kunci KMS**.

     Untuk informasi selengkapnya tentang membuat AWS KMS key, lihat [Membuat Kunci](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) di *Panduan AWS Key Management Service Pengembang*.

1. Pada **Kunci Bucket**, pilih **Aktifkan**. 

1. Pilih **Simpan perubahan**.

   Amazon S3 mengaktifkan Kunci Bucket S3 untuk objek baru yang ditambahkan ke bucket Anda. Objek yang ada tidak menggunakan Kunci Bucket S3. Untuk mengonfigurasi Kunci Bucket S3 untuk objek yang sudah ada, Anda dapat menggunakan operasi `CopyObject`. Untuk informasi selengkapnya, lihat [Mengonfigurasi Kunci Bucket S3 pada tingkat objek](configuring-bucket-key-object.md).

   Untuk menonaktifkan Kunci Bucket S3, ikuti langkah-langkah sebelumnya, dan pilih **Nonaktifkan**.

## Penggunaan API REST
<a name="enable-bucket-key-rest"></a>

Anda dapat menggunakan [PutBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)untuk mengaktifkan atau menonaktifkan Kunci Bucket S3 untuk bucket Anda. Untuk mengonfigurasi Kunci Bucket S3 dengan`PutBucketEncryption`, gunakan tipe [ServerSideEncryptionRule](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ServerSideEncryptionRule.html)data, yang mencakup enkripsi default dengan SSE-KMS. Anda juga dapat menggunakan CMK dengan menentukan ID kunci KMS untuk kunci yang dikelola pelanggan.  

Untuk informasi selengkapnya dan contoh sintaks, lihat [PutBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html). 

## Menggunakan AWS SDK for Java
<a name="enable-bucket-key-sdk"></a>

Contoh berikut ini mengaktifkan enkripsi bucket default dengan SSE-KMS dan Kunci Bucket S3 dengan menggunakan AWS SDK untuk 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);
```

------

## Menggunakan AWS CLI
<a name="enable-bucket-key-cli"></a>

Contoh berikut ini mengaktifkan enkripsi bucket default dengan SSE-KMS dan Kunci Bucket S3 dengan menggunakan AWS CLI. Ganti `user input placeholders` dengan informasi Anda sendiri.

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

## Menggunakan CloudFormation
<a name="enable-bucket-key-cloudformation"></a>

Untuk informasi selengkapnya tentang mengonfigurasi Kunci Bucket S3 dengan CloudFormation, lihat [AWS::S3::Bucket ServerSideEncryptionRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionrule.html)di *AWS CloudFormation Panduan Pengguna*.

# Mengonfigurasi Kunci Bucket S3 pada tingkat objek
<a name="configuring-bucket-key-object"></a>

Saat Anda melakukan operasi PUT atau COPY menggunakan REST API AWS SDKs, 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 `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 Kunci Bucket Amazon S3](bucket-key.md). 

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](bucket-key.md#bucket-key-changes). 

**Topics**
+ [

## Operasi Batch Amazon S3
](#bucket-key-object-bops)
+ [

## Penggunaan API REST
](#bucket-key-object-rest)
+ [

## Menggunakan AWS SDK for Java PutObject ()
](#bucket-key-object-sdk)
+ [

## Menggunakan AWS CLI (PutObject)
](#bucket-key-object-cli)

## Operasi Batch Amazon S3
<a name="bucket-key-object-bops"></a>

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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops-copy-object.html) 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](batch-ops.md) dan [Mengenkripsi objek dengan Operasi Batch Amazon S3](https://aws.amazon.com/blogs/storage/encrypting-objects-with-amazon-s3-batch-operations/).

## Penggunaan API REST
<a name="bucket-key-object-rest"></a>

Saat Anda menggunakan SSE-KMS, Anda dapat mengaktifkan Kunci Bucket S3 untuk sebuah objek menggunakan operasi API berikut ini: 
+ [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)— 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](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)— 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](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) – 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](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)— 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](specifying-kms-encryption.md#KMSUsingRESTAPI).

## Menggunakan AWS SDK for Java PutObject ()
<a name="bucket-key-object-sdk"></a>

Anda dapat menggunakan contoh berikut untuk mengonfigurasi Kunci Bucket S3 di tingkat objek menggunakan AWS SDK untuk 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)
<a name="bucket-key-object-cli"></a>

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

# Melihat pengaturan untuk Kunci Bucket S3
<a name="viewing-bucket-key-settings"></a>

Anda dapat melihat setelan untuk Kunci Bucket S3 di tingkat bucket atau objek dengan menggunakan konsol Amazon S3, REST API,AWS CLI() AWS Command Line Interface , atau. AWS SDKs

S3 Bucket Keys mengurangi lalu lintas permintaan dari Amazon S3 AWS KMS ke dan mengurangi biaya penggunaan enkripsi sisi server (SSE-KMS). AWS Key Management Service Untuk informasi selengkapnya, lihat [Mengurangi biaya SSE-KMS dengan Kunci Bucket Amazon S3](bucket-key.md). 

Untuk melihat pengaturan Kunci Bucket S3 untuk bucket atau objek yang mewarisi pengaturan Kunci Bucket S3 dari konfigurasi bucket, Anda memerlukan izin untuk melakukan tindakan `s3:GetEncryptionConfiguration`. Untuk informasi selengkapnya, lihat [GetBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html) dalam *Referensi API Amazon Simple Storage Service*. 

## Menggunakan konsol S3
<a name="bucket-key-settings"></a>

Di konsol S3, Anda dapat melihat pengaturan Kunci Bucket S3 untuk bucket atau objek Anda. Pengaturan Kunci Bucket S3 diwarisi dari konfigurasi bucket kecuali objek sumber sudah memiliki Kunci Bucket S3 dikonfigurasi.

Objek dan folder dalam bucket yang sama dapat memiliki pengaturan Kunci Bucket S3 yang berbeda. Misalnya, jika Anda unggah objek menggunakan API REST dan mengaktifkan Kunci Bucket S3 untuk objek, objek mempertahankan pengaturan Kunci Bucket S3 di bucket tujuan, bahkan jika Kunci Bucket S3 dinonaktifkan di bucket tujuan. Sebagai contoh lain, jika Anda mengaktifkan kunci Bucket S3 untuk bucket yang ada, objek yang sudah ada di dalam bucket tidak menggunakan Kunci Bucket S3. Namun, objek baru memiliki kunci bucket S3 yang diaktifkan. 

**Untuk melihat pengaturan Kunci Bucket S3 untuk bucket Anda**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di panel navigasi kiri, pilih **Bucket**.

1. Di dalam daftar **Bucket**, pilih bucket yang ingin Anda aktifkan Kunci Bucket S3-nya.

1. Pilih **Properti**.

1. Di bagian **Enkripsi default**, di bawah **Kunci Bucket**, Anda melihat pengaturan Tombol Bucket S3 untuk bucket Anda.

   Jika Anda tidak dapat melihat pengaturan Kunci Bucket S3, Anda mungkin tidak memiliki izin untuk menjalankan tindakan `s3:GetEncryptionConfiguration`. Untuk informasi selengkapnya, lihat [GetBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html) dalam *Referensi API Amazon Simple Storage Service*. 

**Untuk melihat pengaturan Kunci Bucket S3 untuk bucket Anda**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Di dalam daftar **Bucket**, pilih bucket yang ingin Anda aktifkan Kunci Bucket S3-nya. 

1. Di daftar **Objek**, pilih nama objek Anda.

1. Di atas tab **Detail**, di bawah **Pengaturan enkripsi di sisi server**, memilih **Edit**. 

   Pada **Kunci Bucket**, Anda melihat pengaturan Kunci Bucket S3 untuk objek Anda. Anda tidak bisa mengedit pengaturan ini. 

## Menggunakan AWS CLI
<a name="bucket-key-settings-cli"></a>

**Untuk mengembalikan pengaturan Kunci Bucket S3 tingkat bucket**  
Untuk menggunakan contoh ini, ganti masing-masing `user input placeholder` dengan informasi Anda sendiri.

```
aws s3api get-bucket-encryption --bucket amzn-s3-demo-bucket1
```

Untuk informasi selengkapnya, lihat [get-bucket-encryption](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-bucket-encryption.html) dalam *AWS CLI Referensi Perintah*.

**Untuk mengembalikan pengaturan Kunci Bucket S3 tingkat objek**  
Untuk menggunakan contoh ini, ganti masing-masing `user input placeholder` dengan informasi Anda sendiri.

```
aws s3api head-object --bucket amzn-s3-demo-bucket1 --key my_images.tar.bz2
```

Untuk informasi selengkapnya, lihat [head-object](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/head-object.html) dalam *AWS CLI Referensi Perintah*.

## Penggunaan API REST
<a name="bucket-key-settings-rest"></a>

**Untuk mengembalikan pengaturan Kunci Bucket S3 tingkat bucket**  
Untuk mengembalikan informasi enkripsi untuk bucket, termasuk pengaturan untuk Kunci Bucket S3, gunakan operasi `GetBucketEncryption`. Pengaturan Kunci bucket S3 dikembalikan di badan respons di elemen `ServerSideEncryptionConfiguration` dengan pengaturan `BucketKeyEnabled`. Untuk informasi selengkapnya, lihat [GetBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html) di *Referensi API Amazon S3*. 

**Untuk mengembalikan pengaturan tingkat objek untuk Kunci Bucket S3**  
Untuk mengembalikan status Kunci Bucket S3 untuk objek, gunakan operasi `HeadObject`. `HeadObject` mengembalikan header respons `x-amz-server-side-encryption-bucket-key-enabled` untuk menunjukkan apakah Kunci Bucket S3 diaktifkan atau dinonaktifkan untuk objek. Untuk informasi selengkapnya, lihat [HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html) di *Referensi API Amazon S3*. 

Operasi API berikut juga mengembalikan header respons `x-amz-server-side-encryption-bucket-key-enabled` jika Kunci Bucket S3 dikonfigurasi untuk sebuah objek: 
+ [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) 
+ [PostObject](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) 
+ [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) 
+ [CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) 
+ [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html) 
+ [UploadPart](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) 
+ [CompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html) 
+ [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) 