View a markdown version of this page

Menggunakan enkripsi di sisi server dengan kunci yang disediakan pelanggan (SSE-C) - Amazon Simple Storage Service

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

Menggunakan enkripsi di sisi server dengan kunci yang disediakan pelanggan (SSE-C)

Enkripsi sisi-server adalah tentang melindungi data diam. Enkripsi di sisi server hanya mengenkripsi data objek, bukan metadata objek. Anda dapat menggunakan enkripsi sisi server dengan kunci yang disediakan pelanggan (SSE-C) di bucket tujuan umum Anda untuk mengenkripsi data Anda dengan kunci enkripsi Anda sendiri. Dengan kunci enkripsi yang Anda sediakan sebagai bagian dari permintaan Anda, Amazon S3 mengelola enkripsi data saat menulis ke disk dan dekripsi data saat Anda mengakses objek Anda. Oleh karena itu, Anda tidak perlu menyimpan kode apa pun untuk melakukan enkripsi dan dekripsi data. Satu-satunya hal yang perlu Anda lakukan adalah mengelola kunci enkripsi yang Anda berikan.

Sebagian besar kasus penggunaan modern di Amazon S3 tidak lagi menggunakan SSE-C karena tidak memiliki fleksibilitas enkripsi sisi server dengan kunci terkelola Amazon S3 (SSE-S3) atau enkripsi sisi server dengan kunci KMS (SSE-KMS). AWS Persyaratan SSE-C untuk menyediakan kunci enkripsi setiap kali Anda berinteraksi dengan data terenkripsi SSE-C Anda membuatnya tidak praktis untuk membagikan kunci SSE-C Anda dengan pengguna, peran, atau AWS layanan lain yang membaca data dari bucket S3 Anda agar dapat beroperasi pada data Anda. Karena dukungan luas untuk SSE-KMS AWS, sebagian besar beban kerja modern tidak menggunakan enkripsi SSE-C karena tidak memiliki fleksibilitas SSE-KMS. Untuk mempelajari lebih lanjut tentang SSE-KMS, lihat. Menggunakan enkripsi sisi server dengan AWS KMS kunci (SSE-KMS)

Jika Anda ingin mencegah enkripsi SSE-C digunakan untuk objek yang ditulis ke bucket, Anda dapat memblokir enkripsi SSE-C saat mengubah konfigurasi enkripsi default bucket Anda. Ketika SSE-C diblokir untuk bucket tujuan umum, setiap,, PutObject CopyObjectPostObject, Multipart Upload atau permintaan replikasi yang menentukan enkripsi SSE-C akan ditolak dengan kesalahan. HTTP 403 AccessDenied Untuk mempelajari lebih lanjut tentang memblokir SSE-C, lihat. Memblokir atau membuka blokir SSE-C untuk bucket tujuan umum

Tidak ada biaya tambahan untuk penggunaan SSE-C. Namun, permintaan untuk mengonfigurasi dan menggunakan SSE-C dikenakan biaya permintaan Amazon S3 standar. Untuk informasi tentang harga, lihat Harga Amazon S3.

penting

Seperti yang diumumkan pada 19 November 2025, Amazon Simple Storage Service menerapkan pengaturan keamanan bucket default baru yang secara otomatis menonaktifkan enkripsi sisi server dengan kunci yang disediakan pelanggan (SSE-C) untuk semua bucket tujuan umum baru. Untuk bucket yang ada tanpa objek terenkripsi SSE-C, Amazon S3 juga akan menonaktifkan SSE-C untuk semua permintaan tulis baru. Akun AWS Untuk Akun AWS penggunaan SSE-C, Amazon S3 tidak akan mengubah konfigurasi enkripsi bucket pada bucket yang ada di akun tersebut. Penyebaran ini dimulai pada 6 April 2026, dan akan selesai selama beberapa minggu ke depan di 37 AWS Wilayah, termasuk Wilayah AWS Tiongkok dan AWS GovCloud (AS).

Dengan perubahan ini, aplikasi yang membutuhkan enkripsi SSE-C harus sengaja mengaktifkan SSE-C dengan menggunakan operasi PutBucketEncryptionAPI setelah membuat bucket baru. Untuk informasi lebih lanjut tentang perubahan ini, lihatPengaturan SSE-C standar untuk bucket baru FAQ.

Pertimbangan sebelum menggunakan SSE-C

  • S3 tidak pernah menyimpan kunci enkripsi saat Anda menggunakan SSE-C. Anda harus menyediakan kunci enkripsi setiap kali Anda ingin siapa pun mengunduh data terenkripsi SSE-C Anda dari S3.

    • Anda mengelola pemetaan kunci enkripsi mana yang digunakan untuk mengenkripsi objek yang ingin dituju. Anda bertanggung jawab untuk melacak kunci enkripsi yang Anda berikan untuk objek yang ingin dituju. Itu juga berarti jika Anda kehilangan kunci enkripsi, Anda kehilangan objek.

    • Karena Anda mengelola kunci enkripsi di sisi klien, Anda mengelola perlindungan tambahan, seperti rotasi utama, di sisi klien.

    • Desain ini dapat mempersulit berbagi kunci SSE-C Anda dengan pengguna, peran, atau AWS layanan lain yang Anda operasikan pada data Anda. Karena dukungan luas untuk SSE-KMS AWS, sebagian besar beban kerja modern tidak menggunakan SSE-C karena tidak memiliki fleksibilitas SSE-KMS. Untuk mempelajari lebih lanjut tentang SSE-KMS, lihat Menggunakan enkripsi sisi server dengan kunci KMS (SSE-KMS). AWS

    • Ini berarti bahwa objek yang dienkripsi dengan SSE-C tidak dapat didekripsi secara native oleh layanan terkelola. AWS

  • Anda harus menggunakan HTTPS saat menentukan header SSE-C pada permintaan Anda.

    • Amazon S3 menolak permintaan apa pun yang dibuat melalui HTTP saat menggunakan SSE-C. Untuk pertimbangan keamanan, kami menyarankan Anda mempertimbangkan kunci apa pun yang salah Anda kirimkan melalui HTTP telah disusupi. Buang kuncinya dan putar seperlunya.

  • Jika bucket Anda mengaktifkan versi, setiap versi objek yang Anda unggah dapat memiliki kunci enkripsi sendiri. Anda bertanggung jawab untuk melacak kunci enkripsi yang Anda berikan untuk objek yang ingin dituju.

  • SSE-C tidak didukung di Konsol Amazon S3. Anda tidak dapat menggunakan konsol Amazon S3 untuk mengunggah objek dan menentukan enkripsi SSE-C. Anda juga tidak dapat menggunakan konsol untuk memperbarui (misalnya, mengubah kelas penyimpanan atau menambahkan metadata) objek yang ada yang disimpan menggunakan SSE-C.