Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bagaimana Amazon EMR menggunakan AWS KMS
Saat menggunakan EMR klaster Amazon
penting
Amazon hanya EMR mendukung KMSkunci simetris. Anda tidak dapat menggunakan KMSkunci asimetris untuk mengenkripsi data saat istirahat di klaster AmazonEMR. Untuk bantuan menentukan apakah KMS kunci simetris atau asimetris, lihat. Identifikasi berbagai jenis kunci
EMRCluster Amazon juga mengenkripsi data dalam perjalanan, yang berarti cluster mengenkripsi data sebelum mengirimnya melalui jaringan. Anda tidak dapat menggunakan KMS kunci untuk mengenkripsi data dalam perjalanan. Untuk informasi selengkapnya, lihat Enkripsi Data Dalam Transit di Panduan EMR Manajemen Amazon.
Untuk informasi selengkapnya tentang semua opsi enkripsi yang tersedia di AmazonEMR, lihat Opsi Enkripsi di Panduan EMR Manajemen Amazon.
Topik
Mengenkripsi data pada sistem EMR file () EMRFS
EMRCluster Amazon menggunakan dua sistem file terdistribusi:
-
Sistem File Terdistribusi Hadoop ()HDFS. HDFSenkripsi tidak menggunakan KMS kunci masuk AWS KMS.
-
Sistem EMR File (EMRFS). EMRFSadalah implementasi HDFS yang memungkinkan EMR cluster Amazon untuk menyimpan data di Amazon Simple Storage Service (Amazon S3). EMRFSmendukung empat opsi enkripsi, dua di antaranya menggunakan KMS kunci masuk AWS KMS. Untuk informasi selengkapnya tentang keempat opsi EMRFS enkripsi, lihat Opsi Enkripsi di Panduan EMR Manajemen Amazon.
Dua opsi EMRFS enkripsi yang menggunakan KMS kunci menggunakan fitur enkripsi berikut yang ditawarkan oleh Amazon S3:
-
Melindungi data menggunakan enkripsi sisi server dengan AWS Key Management Service (SSE-). KMS EMRCluster Amazon mengirimkan data ke Amazon S3. Amazon S3 menggunakan KMS kunci untuk mengenkripsi data sebelum menyimpannya ke bucket S3. Untuk informasi selengkapnya tentang cara kerjanya, lihat Proses untuk mengenkripsi data dengan - EMRFS SSE KMS.
-
Melindungi data menggunakan enkripsi sisi klien (CSE-KMS). Data di Amazon EMR dienkripsi di bawah AWS KMS key sebelum dikirim ke Amazon S3 untuk penyimpanan. Untuk informasi selengkapnya tentang cara kerjanya, lihat Proses untuk mengenkripsi data dengan - EMRFS CSE KMS.
Saat mengonfigurasi EMR klaster Amazon untuk mengenkripsi data EMRFS dengan KMS kunci, Anda memilih KMS kunci yang ingin digunakan Amazon S3 atau kluster EMR Amazon. Dengan SSE -KMS, Anda dapat memilih Kunci yang dikelola AWS untuk Amazon S3 dengan alias aws/s3, atau kunci terkelola pelanggan simetris yang Anda buat. Dengan enkripsi sisi klien, Anda harus memilih kunci terkelola pelanggan simetris yang Anda buat. Saat memilih kunci yang dikelola pelanggan, Anda harus memastikan bahwa EMR klaster Amazon Anda memiliki izin untuk menggunakan KMS kunci tersebut. Untuk informasi selengkapnya, lihat Menggunakan AWS KMS keys enkripsi di Panduan EMR Manajemen Amazon.
Untuk enkripsi sisi server dan sisi klien, kunci yang Anda pilih adalah KMS kunci root dalam alur kerja enkripsi amplop. Data dienkripsi dengan kunci data unik yang dienkripsi di bawah kunci masuk. KMS AWS KMS Data terenkripsi dan salinan terenkripsi dari kunci datanya disimpan bersama sebagai objek terenkripsi tunggal dalam bucket S3. Untuk informasi lebih lanjut tentang cara kerjanya, lihat topik berikut.
Topik
Proses untuk mengenkripsi data dengan - EMRFS SSE KMS
Saat Anda mengonfigurasi EMR klaster Amazon untuk menggunakan SSE -KMS, proses enkripsi berfungsi seperti ini:
-
Klaster mengirimkan data ke Amazon S3 untuk penyimpanan dalam bucket S3.
-
Amazon S3 mengirimkan GenerateDataKeypermintaan ke AWS KMS, menentukan ID kunci KMS kunci yang Anda pilih saat Anda mengonfigurasi cluster untuk digunakan -. SSE KMS Permintaan mencakup konteks enkripsi; untuk informasi selengkapnya, lihat Konteks enkripsi.
-
AWS KMS menghasilkan kunci enkripsi data unik (kunci data) dan kemudian mengirimkan dua salinan kunci data ini ke Amazon S3. Satu salinan tidak terenkripsi (plaintext), dan salinan lainnya dienkripsi di bawah kunci. KMS
-
Amazon S3 menggunakan kunci data plaintext untuk mengenkripsi data yang diterima di langkah 1, kemudian menghapus kunci data plaintext dari memori sesegera mungkin setelah digunakan.
-
Amazon S3 menyimpan data terenkripsi dan salinan terenkripsi dari kunci data bersama sebagai objek terenkripsi tunggal dalam bucket S3.
Proses dekripsi bekerja seperti ini:
-
Klaster mengajukan permintaan objek data yang dienkripsi dari bucket S3.
-
Amazon S3 mengekstrak kunci data terenkripsi dari objek S3, dan kemudian mengirimkan kunci data terenkripsi dengan permintaan Dekripsi. AWS KMS Permintaan mencakup konteks enkripsi.
-
AWS KMS mendekripsi kunci data terenkripsi menggunakan KMS kunci yang sama yang digunakan untuk mengenkripsinya, dan kemudian mengirimkan kunci data yang didekripsi (teks biasa) ke Amazon S3.
-
Amazon S3 menggunakan kunci data plaintext untuk mendekripsi data yang dienkripsi, kemudian menghapus kunci data plaintext dari memori sesegera mungkin setelah digunakan.
-
Amazon S3 mengirimkan data didekripsi ke klaster.
Proses untuk mengenkripsi data dengan - EMRFS CSE KMS
Saat Anda mengonfigurasi EMR klaster Amazon untuk menggunakan CSE -KMS, proses enkripsi berfungsi seperti ini:
-
Saat siap untuk menyimpan data di Amazon S3, klaster mengirimkan GenerateDataKeypermintaan ke AWS KMS, menentukan ID kunci kunci yang Anda pilih saat Anda mengonfigurasi cluster yang akan digunakan -. KMS CSE KMS Permintaan mencakup konteks enkripsi; untuk informasi selengkapnya, lihat Konteks enkripsi.
-
AWS KMS menghasilkan kunci enkripsi data unik (kunci data) dan kemudian mengirimkan dua salinan kunci data ini ke cluster. Satu salinan tidak terenkripsi (plaintext), dan salinan lainnya dienkripsi di bawah kunci. KMS
-
Klaster menggunakan kunci data plaintext untuk mengenkripsi data, kemudian menghapus kunci data plaintext dari memori sesegera mungkin setelah digunakan.
-
Klaster mengombinasikan data terenkripsi dan salinan terenkripsi dari kunci data bersama sebagai objek terenkripsi tunggal.
-
Klaster mengirimkan objek dienkripsi ke Amazon S3 untuk penyimpanan.
Proses dekripsi bekerja seperti ini:
-
Klaster mengajukan permintaan objek data yang dienkripsi dari bucket S3.
-
Amazon S3 mengirimkan objek terenkripsi ke klaster.
-
Cluster mengekstrak kunci data terenkripsi dari objek terenkripsi, dan kemudian mengirimkan kunci data terenkripsi dengan permintaan Dekripsi. AWS KMS Permintaan mencakup konteks enkripsi.
-
AWS KMS mendekripsi kunci data terenkripsi menggunakan KMS kunci yang sama yang digunakan untuk mengenkripsinya, dan kemudian mengirimkan kunci data yang didekripsi (plaintext) ke cluster.
-
Klaster menggunakan kunci data plaintext untuk mendekripsi data terenkripsi, kemudian menghapus kunci data plaintext dari memori sesegera mungkin setelah digunakan.
Mengenkripsi data pada volume penyimpanan simpul klaster
EMRCluster Amazon adalah kumpulan instans Amazon Elastic Compute Cloud (AmazonEC2). Setiap instans dalam klaster disebut simpul klaster atau simpul. Setiap node dapat memiliki dua jenis volume penyimpanan: volume penyimpanan instans, dan volume Amazon Elastic Block Store (AmazonEBS). Anda dapat mengkonfigurasi cluster untuk menggunakan Linux Unified Key Setup (LUKS)
Saat Anda mengaktifkan enkripsi disk lokal untuk sebuah cluster, Anda dapat memilih untuk mengenkripsi LUKS kunci dengan KMS kunci masuk AWS KMS. Anda harus memilih kunci yang dikelola pelanggan yang Anda buat; Anda tidak dapat menggunakan Kunci yang dikelola AWS. Jika Anda memilih kunci yang dikelola pelanggan, Anda harus memastikan bahwa EMR klaster Amazon Anda memiliki izin untuk menggunakan KMS kunci tersebut. Untuk informasi selengkapnya, lihat Menggunakan AWS KMS keys enkripsi di Panduan EMR Manajemen Amazon.
Saat Anda mengaktifkan enkripsi disk lokal menggunakan KMS kunci, proses enkripsi berfungsi seperti ini:
-
Ketika setiap node cluster diluncurkan, ia mengirimkan GenerateDataKeypermintaan ke AWS KMS, menentukan ID kunci dari KMS kunci yang Anda pilih ketika Anda mengaktifkan enkripsi disk lokal untuk cluster.
-
AWS KMS menghasilkan kunci enkripsi data unik (kunci data) dan kemudian mengirimkan dua salinan kunci data ini ke node. Satu salinan tidak terenkripsi (plaintext), dan salinan lainnya dienkripsi di bawah kunci. KMS
-
Node menggunakan versi base64 yang dikodekan dari kunci data plaintext sebagai kata sandi yang melindungi kunci. LUKS Simpul menyimpan salinan terenkripsi dari kunci data pada volume boot.
-
Jika node reboot, node reboot mengirimkan kunci data terenkripsi dengan permintaan Dekripsi. AWS KMS
-
AWS KMS mendekripsi kunci data terenkripsi menggunakan KMS kunci yang sama yang digunakan untuk mengenkripsinya, dan kemudian mengirimkan kunci data yang didekripsi (plaintext) ke node.
-
Node menggunakan versi base64 yang dikodekan dari kunci data plaintext sebagai kata sandi untuk membuka kunci. LUKS
Konteks enkripsi
Setiap AWS layanan yang terintegrasi dengan AWS KMS dapat menentukan konteks enkripsi ketika layanan menggunakan AWS KMS untuk menghasilkan kunci data atau untuk mengenkripsi atau mendekripsi data. Konteks enkripsi adalah informasi otentikasi tambahan yang AWS KMS digunakan untuk memeriksa integritas data. Ketika layanan menentukan konteks enkripsi untuk operasi enkripsi, itu harus menentukan konteks enkripsi yang sama untuk operasi dekripsi yang sesuai atau dekripsi akan gagal. Konteks enkripsi juga ditulis ke file AWS CloudTrail log, yang dapat membantu Anda memahami mengapa KMS kunci tertentu digunakan.
Bagian berikut menjelaskan konteks enkripsi yang digunakan dalam setiap skenario EMR enkripsi Amazon yang menggunakan KMS kunci.
Konteks enkripsi untuk EMRFS enkripsi dengan SSE - KMS
Dengan SSE -KMS, EMR cluster Amazon mengirimkan data ke Amazon S3, dan kemudian Amazon S3 menggunakan KMS kunci untuk mengenkripsi data sebelum menyimpannya ke bucket S3. Dalam hal ini, Amazon S3 menggunakan Amazon Resource Name (ARN) dari objek S3 sebagai konteks enkripsi dengan masing-masing permintaan GenerateDataKeydan Dekripsi yang dikirimkannya. AWS KMS Contoh berikut menunjukkan JSON representasi konteks enkripsi yang digunakan Amazon S3.
{ "aws:s3:arn" : "arn:aws:s3:::
S3_bucket_name
/S3_object_key
" }
Konteks enkripsi untuk EMRFS enkripsi dengan CSE - KMS
Dengan CSE -KMS, EMR cluster Amazon menggunakan KMS kunci untuk mengenkripsi data sebelum mengirimnya ke Amazon S3 untuk penyimpanan. Dalam hal ini, cluster menggunakan Amazon Resource Name (ARN) KMS kunci sebagai konteks enkripsi dengan masing-masing GenerateDataKeydan Decrypt request yang dikirimkan. AWS KMS Contoh berikut menunjukkan JSON representasi dari konteks enkripsi yang digunakan cluster.
{ "kms_cmk_id" : "
arn:aws:kms:us-east-2:111122223333:key/0987ab65-43cd-21ef-09ab-87654321cdef
" }
Konteks enkripsi untuk enkripsi disk lokal dengan LUKS
Saat EMR klaster Amazon menggunakan enkripsi disk lokalLUKS, node cluster tidak menentukan konteks enkripsi dengan permintaan GenerateDataKeydan Dekripsi yang mereka kirim. AWS KMS