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
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 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 di sisi server yang akan digunakan dalam permintaan PUT
S3, atau Anda dapat mengatur 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 (AWS KMS) kunci (-), enkripsi sisi server dua lapis dengan kunci (SSE-KMS), atau enkripsi sisi server dengan AWS KMS kunci yang disediakan DSSE pelanggan (-CKMS). SSE Jika Anda ingin mengatur konfigurasi enkripsi default yang berbeda di bucket tujuan, Anda dapat menggunakan SSE - KMS atau DSSE -KMS.
Anda dapat menerapkan enkripsi saat mengunggah objek baru, atau menyalin objek yang sudah ada.
Anda dapat menentukan SSE - KMS dengan menggunakan konsol Amazon S3, REST API operasi AWS SDKs, dan 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 di Panduan AWS Key Management Service Pengembang.
catatan
Jika Anda ingin menggunakan KMS kunci yang dimiliki oleh akun lain, Anda harus memiliki izin untuk menggunakan kunci tersebut. Untuk informasi selengkapnya tentang izin lintas akun untuk KMS kunci, lihat Membuat KMS kunci yang dapat digunakan akun lain di Panduan AWS Key Management Service Pengembang.
Topik ini menjelaskan cara menyetel atau mengubah jenis enkripsi objek untuk menggunakan enkripsi sisi server dengan AWS Key Management Service (AWS KMS) keys (SSE-KMS) 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 CLIatau AWS SDKsuntuk mengubah enkripsi objek.
-
Untuk daftar izin tambahan yang diperlukan untuk mengubah enkripsi objek, lihatIzin yang diperlukan untuk operasi Amazon API S3. Misalnya kebijakan yang memberikan izin ini, lihatContoh kebijakan berbasis identitas untuk Amazon S3.
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
Masuk ke AWS Management Console dan buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/
-
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.
-
Pilih kotak centang untuk objek yang ingin Anda ubah.
-
Pada menu Tindakan, pilih Edit enkripsi sisi server dari daftar opsi yang muncul.
Gulir ke bagian enkripsi sisi server.
Di bawah Pengaturan enkripsi, pilih Gunakan pengaturan bucket untuk enkripsi default, atau Ganti pengaturan bucket untuk enkripsi default.
penting
Jika Anda menggunakan KMS opsi SSE - untuk konfigurasi enkripsi default Anda, Anda tunduk pada permintaan per detik (RPS) kuota. AWS KMS Untuk informasi selengkapnya tentang kuota AWS KMS dan cara meminta kenaikan kuota, lihat Kuota di Panduan Pengembang AWS Key Management Service .
-
Jika Anda memilih Timpa pengaturan bucket untuk enkripsi default, konfigurasikan pengaturan enkripsi berikut.
-
Di bawah Jenis enkripsi, pilih Enkripsi sisi server dengan AWS Key Management Service kunci (SSE-). KMS
-
Di bawah AWS KMS kunci, lakukan salah satu hal berikut untuk memilih KMS kunci Anda:
-
Untuk memilih dari daftar KMS kunci yang tersedia, pilih Pilih dari kunci Anda AWS KMS keys, lalu pilih KMSkunci 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 di AWS Key Management Service Panduan Pengembang. -
Untuk memasukkan KMS kunciARN, pilih Enter AWS KMS key ARN, lalu masukkan KMS kunci Anda ARN di bidang yang muncul.
-
Untuk membuat kunci terkelola pelanggan baru di AWS KMS konsol, pilih Buat KMS kunci.
Untuk informasi selengkapnya tentang membuat AWS KMS key, lihat Membuat kunci di Panduan AWS Key Management Service Pengembang.
penting
Anda hanya dapat menggunakan KMS kunci yang tersedia Wilayah AWS sama dengan ember. Konsol Amazon S3 hanya mencantumkan 100 KMS kunci pertama di Wilayah yang sama dengan bucket. Untuk menggunakan KMS kunci yang tidak terdaftar, Anda harus memasukkan KMS kunci AndaARN. Jika Anda ingin menggunakan KMS kunci yang dimiliki oleh akun yang berbeda, Anda harus terlebih dahulu memiliki izin untuk menggunakan kunci tersebut dan kemudian Anda harus memasukkan KMS kunci tersebutARN.
Amazon S3 hanya mendukung KMS kunci enkripsi simetris, dan bukan kunci asimetris. KMS Untuk informasi selengkapnya, lihat Mengidentifikasi KMS kunci simetris dan asimetris di Panduan AWS Key Management Service Pengembang.
-
-
-
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 objekACLs, metadata, enkripsi sisi server, dan checksum tambahan.
-
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.
Saat Anda membuat objek — yaitu, ketika Anda mengunggah objek baru atau menyalin objek yang ada — Anda dapat menentukan penggunaan enkripsi sisi server dengan (-) untuk mengenkripsi data Anda. AWS KMS keys
SSE KMS 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
Topik
RESTAPIOperasi Amazon S3 yang mendukung - SSE KMS
RESTAPIOperasi berikut menerima headerx-amz-server-side-encryption
,x-amz-server-side-encryption-aws-kms-key-id
, dan x-amz-server-side-encryption-context
permintaan.
-
PutObject— Saat Anda mengunggah data dengan menggunakan
PUT
API operasi, Anda dapat menentukan header permintaan ini. -
CopyObject–Saat Anda menyalin objek, Anda memiliki objek sumber dan objek target. Ketika Anda melewati SSE - KMS header dengan
CopyObject
operasi, mereka diterapkan hanya 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. -
POST Object— Saat Anda menggunakan
POST
operasi untuk mengunggah objek, alih-alih header permintaan, Anda memberikan informasi yang sama di bidang formulir. -
CreateMultipartUpload— Saat Anda mengunggah objek besar dengan menggunakan API operasi unggahan multibagian, Anda dapat menentukan header ini. Anda menentukan header ini dalam
CreateMultipartUpload
permintaan.
Header respons dari REST API operasi berikut mengembalikan x-amz-server-side-encryption
header saat objek disimpan dengan menggunakan enkripsi sisi server.
penting
-
Semua
GET
danPUT
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 danHEAD
permintaan, atau Anda akan mendapatkan BadRequest kesalahanHTTP400
.
Konteks enkripsi (x-amz-server-side-encryption-context
)
Jika Anda menentukanx-amz-server-side-encryption:aws:kms
, Amazon S3 API 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:::
Namun, jika Anda menggunakan SSE - KMS dan mengaktifkan Kunci Bucket S3, Anda menggunakan bucket ARN untuk konteks enkripsi Anda; misalnya,object_ARN
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. Untuk informasi umum tentang konteks enkripsi, lihat AWS Key Management Service Konsep-Konteks enkripsi dalam Panduan Pengembang AWS Key Management Service .
AWS KMS ID kunci (x-amz-server-side-encryption-aws-kms-key-id
)
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 enkripsi simetris. KMS Amazon S3 hanya mendukung kunci enkripsi simetris. KMS Untuk informasi selengkapnya tentang kunci ini, lihat KMSKunci enkripsi simetris di Panduan AWS Key Management Service Pengembang.
Tombol Bucket S3 () x-amz-server-side-encryption-aws-bucket-key-enabled
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 Amazon S3 Bucket Keys.
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 .
Untuk menggunakan contoh AWS CLI perintah berikut, ganti
dengan informasi Anda sendiri.user input
placeholders
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
untuk menambahkan AWS KMS kunci terkelola pelanggan yang Anda buat. Jika Anda menentukanexample-key-id
--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
--keyexample-object-key
--server-side-encryption aws:kms --ssekms-key-idexample-key-id
--bodyfilepath
Anda juga dapat mengaktifkan atau menonaktifkan Tombol Bucket Amazon S3 di PUT atau COPY operasi 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 dengan Amazon S3 Bucket Keys.
aws s3api put-object --bucket
amzn-s3-demo-bucket
--keyexample-object-key
--server-side-encryption aws:kms --bucket-key-enabled --bodyfilepath
Anda dapat mengenkripsi objek yang tidak terenkripsi untuk digunakan SSE - KMS dengan menyalin objek kembali ke tempatnya.
aws s3api copy-object --bucket
amzn-s3-demo-bucket
--keyexample-object-key
--bodyfilepath
--bucketamzn-s3-demo-bucket
--keyexample-object-key
--sse aws:kms --sse-kms-key-idexample-key-id
--bodyfilepath
Saat menggunakan AWS SDKs, Anda dapat meminta Amazon S3 untuk digunakan AWS KMS keys untuk enkripsi sisi server. Contoh berikut menunjukkan cara menggunakan SSE - KMS dengan AWS SDKs untuk Java dan. NET. Untuk informasi tentang lainnyaSDKs, lihat Contoh kode dan pustaka
penting
Saat Anda menggunakan enkripsi sisi server AWS KMS key untuk Amazon S3, Anda harus memilih kunci enkripsi simetris. KMS Amazon S3 hanya mendukung kunci enkripsi simetris. KMS Untuk informasi selengkapnya tentang kunci ini, lihat KMSKunci enkripsi simetris di Panduan AWS Key Management Service Pengembang.
Operasi CopyObject
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.