

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

# Menentukan enkripsi sisi server dengan AWS KMS (SSE-KMS) untuk unggahan objek baru di bucket direktori
<a name="s3-express-specifying-kms-encryption"></a>

Untuk bucket direktori, untuk mengenkripsi data Anda dengan enkripsi sisi server, Anda dapat menggunakan enkripsi sisi server dengan kunci terkelola Amazon S3 (SSE-S3) (default) atau enkripsi sisi server dengan () kunci (SSE-KMS). AWS Key Management Service AWS KMS Sebaiknya enkripsi default bucket menggunakan konfigurasi enkripsi yang diinginkan dan Anda tidak mengganti enkripsi default bucket dalam `CreateSession` permintaan atau permintaan `PUT` objek. Kemudian, objek baru secara otomatis dienkripsi dengan pengaturan enkripsi yang diinginkan. Untuk informasi selengkapnya tentang perilaku pengesampingan enkripsi dalam bucket direktori, lihat [Menentukan enkripsi sisi server dengan unggahan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html) objek baru. AWS KMS 

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. Jika Anda ingin menentukan jenis enkripsi yang berbeda untuk bucket direktori, Anda dapat menggunakan enkripsi sisi server dengan kunci AWS Key Management Service (AWS KMS) (SSE-KMS). Untuk mengenkripsi objek baru dalam bucket direktori dengan SSE-KMS, Anda harus menentukan SSE-KMS sebagai konfigurasi enkripsi default bucket direktori dengan kunci KMS (khususnya, [kunci yang dikelola pelanggan](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)). [Kunci yang dikelola AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) (`aws/s3`) tidak didukung. Konfigurasi SSE-KMS Anda hanya dapat mendukung 1 [kunci terkelola pelanggan](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) per bucket direktori selama masa pakai bucket. Setelah menentukan kunci terkelola pelanggan untuk SSE-KMS, Anda tidak dapat mengganti kunci terkelola pelanggan untuk konfigurasi SSE-KMS bucket. Kemudian, ketika Anda menentukan pengaturan enkripsi sisi server untuk objek baru dengan SSE-KMS, Anda harus memastikan kunci enkripsi adalah kunci terkelola pelanggan yang sama dengan yang Anda tentukan untuk konfigurasi enkripsi default bucket direktori. Untuk menggunakan kunci terkelola pelanggan baru untuk data Anda, sebaiknya salin objek yang ada ke bucket direktori baru dengan kunci terkelola pelanggan baru.

Anda dapat menerapkan enkripsi saat mengunggah objek baru, atau menyalin objek yang sudah ada. Jika Anda mengubah enkripsi objek, sebuah objek baru akan dibuat untuk menggantikan objek yang lama.

Anda dapat menentukan SSE-KMS dengan menggunakan operasi REST API, AWS SDKs, dan (). AWS Command Line Interface AWS CLI

**catatan**  
 Untuk bucket direktori, perilaku utama enkripsi adalah sebagai berikut:   
Saat Anda menggunakan [CreateSession](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)REST API untuk mengautentikasi dan mengotorisasi permintaan API titik akhir Zonal kecuali [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)dan [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html), Anda dapat mengganti pengaturan enkripsi ke SSE-S3 atau ke SSE-KMS hanya jika Anda menetapkan enkripsi default bucket dengan SSE-KMS sebelumnya.
Bila Anda menggunakan [CreateSession](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)dengan AWS CLI atau AWS SDKs untuk mengautentikasi dan mengotorisasi permintaan API titik akhir Zonal kecuali [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)dan [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html), Anda tidak dapat mengganti pengaturan enkripsi sama sekali.
Ketika Anda membuat [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)permintaan, Anda dapat mengganti pengaturan enkripsi ke SSE-S3 atau ke SSE-KMS hanya jika Anda menetapkan enkripsi default bucket dengan SSE-KMS sebelumnya. Saat Anda membuat [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)permintaan, Anda tidak dapat mengganti pengaturan enkripsi.
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 Pengembang AWS Key Management Service *.
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 *. 

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

**catatan**  
 Hanya 1 [kunci terkelola pelanggan](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) yang didukung per bucket direktori selama masa pakai bucket. [https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) (`aws/s3`) tidak didukung. Setelah menentukan SSE-KMS sebagai konfigurasi enkripsi default bucket dengan kunci terkelola pelanggan, Anda tidak dapat mengubah kunci terkelola pelanggan untuk konfigurasi SSE-KMS bucket. 

Untuk [operasi API titik akhir Zonal (tingkat objek)](s3-express-differences.md#s3-express-differences-api-operations) kecuali [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)dan [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html), Anda mengautentikasi dan mengotorisasi permintaan melalui latensi rendah. [CreateSession](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html) Sebaiknya enkripsi default bucket menggunakan konfigurasi enkripsi yang diinginkan dan Anda tidak mengganti enkripsi default bucket dalam `CreateSession` permintaan atau permintaan `PUT` objek. Kemudian, objek baru secara otomatis dienkripsi dengan pengaturan enkripsi yang diinginkan. Untuk mengenkripsi objek baru dalam bucket direktori dengan SSE-KMS, Anda harus menentukan SSE-KMS sebagai konfigurasi enkripsi default bucket direktori dengan kunci KMS (khususnya, [kunci yang dikelola pelanggan](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)). Kemudian, ketika sesi dibuat untuk operasi API titik akhir Zonal, objek baru secara otomatis dienkripsi dan didekripsi dengan SSE-KMS dan S3 Bucket Keys selama sesi berlangsung. Untuk informasi selengkapnya tentang perilaku pengesampingan enkripsi dalam bucket direktori, lihat [Menentukan enkripsi sisi server dengan unggahan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html) objek baru. AWS KMS 

Dalam panggilan API titik akhir Zonal (kecuali [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)dan [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)) menggunakan REST API, Anda tidak dapat mengganti nilai setelan enkripsi (`x-amz-server-side-encryption`,, `x-amz-server-side-encryption-aws-kms-key-id``x-amz-server-side-encryption-context`, dan`x-amz-server-side-encryption-bucket-key-enabled`) dari permintaan. `CreateSession` Anda tidak perlu secara eksplisit menentukan nilai setelan enkripsi ini dalam panggilan API titik akhir Zonal, dan Amazon S3 akan menggunakan nilai pengaturan enkripsi dari `CreateSession` permintaan untuk melindungi objek baru di bucket direktori. 

**catatan**  
Saat Anda menggunakan AWS CLI atau AWS SDKs, for`CreateSession`, token sesi akan diperbarui secara otomatis untuk menghindari gangguan layanan saat sesi berakhir. Konfigurasi enkripsi default bucket AWS CLI atau AWS SDKs gunakan untuk `CreateSession` permintaan tersebut. Itu tidak didukung untuk mengganti nilai pengaturan enkripsi dalam `CreateSession` permintaan. Selain itu, dalam panggilan API titik akhir Zonal (kecuali [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)dan [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)), tidak didukung untuk mengganti nilai pengaturan enkripsi dari permintaan. `CreateSession` 

[Untuk [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html), untuk mengenkripsi salinan objek baru dalam bucket direktori dengan SSE-KMS, Anda harus menentukan SSE-KMS sebagai konfigurasi enkripsi default bucket direktori dengan kunci KMS (khususnya, kunci yang dikelola pelanggan).](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) Kemudian, ketika Anda menentukan pengaturan enkripsi sisi server untuk salinan objek baru dengan SSE-KMS, Anda harus memastikan kunci enkripsi adalah kunci terkelola pelanggan yang sama dengan yang Anda tentukan untuk konfigurasi enkripsi default bucket direktori. [Untuk [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html), untuk mengenkripsi salinan bagian objek baru dalam bucket direktori dengan SSE-KMS, Anda harus menentukan SSE-KMS sebagai konfigurasi enkripsi default bucket direktori dengan kunci KMS (khususnya, kunci yang dikelola pelanggan).](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) Anda tidak dapat menentukan setelan enkripsi sisi server untuk salinan bagian objek baru dengan SSE-KMS di header permintaan. [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html) Selain itu, pengaturan enkripsi yang Anda berikan dalam [CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)permintaan harus sesuai dengan konfigurasi enkripsi default bucket tujuan. 



**Topics**
+ [Operasi API REST Amazon S3 yang mendukung SSE-KMS](#s3-express-sse-request-headers-kms)
+ [Konteks enkripsi (`x-amz-server-side-encryption-context`)](#s3-express-s3-kms-encryption-context)
+ [AWS KMS ID kunci (`x-amz-server-side-encryption-aws-kms-key-id`)](#s3-express-s3-kms-key-id-api)
+ [Kunci Bucket S3 () `x-amz-server-side-encryption-aws-bucket-key-enabled`](#s3-express-bucket-key-api)

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

Operasi REST API tingkat objek berikut dalam bucket direktori menerima header`x-amz-server-side-encryption`,`x-amz-server-side-encryption-aws-kms-key-id`, dan `x-amz-server-side-encryption-context` permintaan.
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)— Saat Anda menggunakan operasi API titik akhir Zonal (tingkat objek) (kecuali CopyObject dan UploadPartCopy), Anda dapat menentukan header permintaan ini. 
+ [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.
+ [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_CreateSession.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+ [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 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-express-s3-kms-encryption-context"></a>

Jika Anda menentukan`x-amz-server-side-encryption:aws:kms`, Amazon S3 API mendukung Anda untuk secara opsional menyediakan konteks enkripsi eksplisit dengan header. `x-amz-server-side-encryption-context` Untuk bucket direktori, konteks enkripsi adalah sekumpulan pasangan kunci-nilai yang berisi informasi kontekstual tentang data. Nilai harus sesuai dengan konteks enkripsi default — bucket Amazon Resource Name (ARN). Nilai konteks enkripsi tambahan tidak didukung. 

Untuk informasi tentang konteks enkripsi dalam bucket direktori, lihat[Konteks enkripsi](s3-express-UsingKMSEncryption.md#s3-express-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-express-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.

Konfigurasi SSE-KMS Anda hanya dapat mendukung 1 [kunci terkelola pelanggan](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) per bucket direktori selama masa pakai bucket. [https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) (`aws/s3`) tidak didukung. Selain itu, setelah menentukan kunci terkelola pelanggan untuk SSE-KMS, Anda tidak dapat mengganti kunci terkelola pelanggan untuk konfigurasi SSE-KMS bucket.

Anda dapat mengidentifikasi kunci terkelola pelanggan yang Anda tentukan untuk konfigurasi SSE-KMS bucket, dengan cara berikut:
+ Anda membuat permintaan operasi `HeadObject` API untuk menemukan nilai `x-amz-server-side-encryption-aws-kms-key-id` dalam respons Anda.

Untuk menggunakan kunci terkelola pelanggan baru untuk data Anda, sebaiknya salin objek yang ada ke bucket direktori baru dengan kunci terkelola pelanggan baru.

Untuk informasi tentang konteks enkripsi dalam bucket direktori, lihat[AWS KMS keys](s3-express-UsingKMSEncryption.md#s3-express-aws-managed-customer-managed-keys). 

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

Kunci Bucket S3 selalu diaktifkan untuk `GET` dan `PUT` beroperasi di bucket direktori dan tidak dapat dinonaktifkan. S3 Bucket Keys tidak didukung, saat Anda menyalin objek yang dienkripsi SSE-KMS dari bucket tujuan umum ke bucket direktori, dari bucket direktori ke bucket tujuan umum, atau antar-bucket direktori, melalui [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/API_UploadPartCopy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html), [operasi Copy dalam Operasi Batch](directory-buckets-objects-Batch-Ops.md), atau [tugas import](create-import-job.md). Dalam hal ini, Amazon S3 melakukan panggilan ke AWS KMS setiap kali permintaan salinan dibuat untuk objek yang dienkripsi KMS. Untuk informasi tentang Kunci Bucket S3 di bucket direktori, lihat. [Konteks enkripsi](s3-express-UsingKMSEncryption.md#s3-express-encryption-context) 

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

**catatan**  
Saat Anda menggunakan AWS CLI, for`CreateSession`, token sesi akan diperbarui secara otomatis untuk menghindari gangguan layanan saat sesi kedaluwarsa. Itu tidak didukung untuk mengganti nilai pengaturan enkripsi untuk `CreateSession` permintaan. Selain itu, dalam panggilan API titik akhir Zonal (kecuali [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)dan [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)), tidak didukung untuk mengganti nilai pengaturan enkripsi dari permintaan. `CreateSession`   
Untuk mengenkripsi objek baru dalam bucket direktori dengan SSE-KMS, Anda harus menentukan SSE-KMS sebagai konfigurasi enkripsi default bucket direktori dengan kunci KMS (khususnya, kunci yang dikelola pelanggan). Kemudian, ketika sesi dibuat untuk operasi API titik akhir Zonal, objek baru secara otomatis dienkripsi dan didekripsi dengan SSE-KMS dan S3 Bucket Keys selama sesi berlangsung.

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 melakukan ini, gunakan `put-bucket-encryption` perintah untuk mengatur konfigurasi enkripsi default bucket direktori sebagai SSE-KMS (). `aws:kms` Secara khusus, tambahkan `--server-side-encryption aws:kms` header 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`, Anda harus memberikan ID AWS KMS kunci kunci yang dikelola pelanggan Anda. Bucket direktori tidak menggunakan kunci AWS terkelola. Untuk contoh perintah, lihat [Menggunakan AWS CLI](s3-express-bucket-encryption.md#s3-express-default-bucket-encryption-cli). 

Kemudian, saat Anda mengunggah objek baru dengan perintah berikut, Amazon S3 menggunakan pengaturan bucket untuk enkripsi default untuk mengenkripsi objek secara default.

```
aws s3api put-object --bucket bucket-base-name--zone-id--x-s3 --key example-object-key --body filepath
```

Anda tidak perlu menambahkan `-\-bucket-key-enabled` secara eksplisit dalam perintah operasi API titik akhir Zonal Anda. Kunci Bucket S3 selalu diaktifkan untuk `GET` dan `PUT` beroperasi di bucket direktori dan tidak dapat dinonaktifkan. S3 Bucket Keys tidak didukung, saat Anda menyalin objek yang dienkripsi SSE-KMS dari bucket tujuan umum ke bucket direktori, dari bucket direktori ke bucket tujuan umum, atau antar-bucket direktori, melalui [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/API_UploadPartCopy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html), [operasi Copy dalam Operasi Batch](directory-buckets-objects-Batch-Ops.md), atau [tugas import](create-import-job.md). Dalam hal ini, Amazon S3 melakukan panggilan ke AWS KMS setiap kali permintaan salinan dibuat untuk objek yang dienkripsi KMS.

Anda dapat menyalin objek dari bucket sumber (misalnya, bucket tujuan umum) ke bucket baru (misalnya, bucket direktori) dan menggunakan enkripsi SSE-KMS untuk objek tujuan. Untuk melakukan ini, gunakan `put-bucket-encryption` perintah untuk mengatur konfigurasi enkripsi default bucket tujuan (misalnya, bucket direktori) sebagai SSE-KMS (). `aws:kms` Untuk contoh perintah, lihat [Menggunakan AWS CLI](s3-express-bucket-encryption.md#s3-express-default-bucket-encryption-cli). Kemudian, ketika Anda menyalin objek dengan perintah berikut, Amazon S3 menggunakan pengaturan bucket untuk enkripsi default untuk mengenkripsi objek secara default.

```
aws s3api copy-object --copy-source amzn-s3-demo-bucket/example-object-key --bucket bucket-base-name--zone-id--x-s3 --key example-object-key  
```

## Menggunakan AWS SDKs
<a name="s3-express-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.

**catatan**  
Saat Anda menggunakan AWS SDKs, for`CreateSession`, token sesi akan diperbarui secara otomatis untuk menghindari gangguan layanan saat sesi kedaluwarsa. Itu tidak didukung untuk mengganti nilai pengaturan enkripsi untuk `CreateSession` permintaan. Selain itu, dalam panggilan API titik akhir Zonal (kecuali [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)dan [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)), tidak didukung untuk mengganti nilai pengaturan enkripsi dari permintaan. `CreateSession`   
Untuk mengenkripsi objek baru dalam bucket direktori dengan SSE-KMS, Anda harus menentukan SSE-KMS sebagai konfigurasi enkripsi default bucket direktori dengan kunci KMS (khususnya, kunci yang dikelola pelanggan). Kemudian, ketika sesi dibuat untuk operasi API titik akhir Zonal, objek baru secara otomatis dienkripsi dan didekripsi dengan SSE-KMS dan S3 Bucket Keys selama sesi berlangsung.  
Untuk informasi selengkapnya tentang penggunaan AWS SDKs untuk menyetel konfigurasi enkripsi default bucket direktori sebagai SSE-KMS, lihat. [Menggunakan AWS SDKs](s3-express-bucket-encryption.md#s3-express-kms-put-bucket-encryption-using-sdks)

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

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