Menentukan enkripsi Amazon S3 menggunakan properti EMRFS - Amazon EMR

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

Menentukan enkripsi Amazon S3 menggunakan properti EMRFS

penting

Muali dari rilis Amazon EMR versi 4.8.0, Anda dapat menggunakan konfigurasi keamanan untuk menerapkan pengaturan enkripsi dengan lebih mudah dan lebih banyak opsi. Kami merekomendasikan untuk menggunakan konfigurasi keamanan. Untuk selengkapnya, lihat Mengonfigurasi enkripsi data. Instruksi konsol yang dijelaskan di bagian ini tersedia untuk versi rilis lebih awal dari 4.8.0. Jika Anda menggunakan AWS CLI untuk mengonfigurasi enkripsi Amazon S3 baik dalam konfigurasi klaster maupun dalam konfigurasi keamanan di versi berikutnya, konfigurasi keamanan akan menggantikan konfigurasi klaster.

Saat membuat klaster, Anda dapat menentukan enkripsi sisi server (SSE) atau enkripsi di sisi klien (CSE) untuk data EMRFS di Amazon S3 dengan menggunakan konsol atau menggunakan properti klasifikasi emrfs-site melalui AWS CLI atau EMR SDK. Amazon S3 SSE dan CSE sama-sama eksklusif; Anda dapat memilih salah satu tetapi tidak keduanya.

Untuk instruksi AWS CLI, lihat bagian yang sesuai untuk jenis enkripsi Anda di bawah ini.

Untuk menentukan opsi enkripsi EMRFS menggunakan AWS Management Console
  1. Buka konsol Amazon EMR di https://console.aws.amazon.com/emr.

  2. Pilih Buat klaster, Pergi ke opsi lanjutan.

  3. Pilih Rilis 4.7.2 atau yang lebih lama.

  4. Pilih opsi lain untuk Perangkat Lunak dan Langkah-langkah yang sesuai untuk aplikasi Anda, lalu pilih Berikutnya.

  5. Pilih pengaturan di panel Perangkat Keras dan Pengaturan Klaster Umum yang sesuai untuk aplikasi Anda.

  6. Pada panel Keamanan, di bawah Autentikasi dan enkripsi, pilih opsi Enkripsi S3 (dengan EMRFS) untuk digunakan.

    catatan

    Enkripsi sisi server S3 dengan Manajemen Kunci KMS (SSE-KMS) tidak tersedia saat menggunakan rilis Amazon EMR versi 4.4 atau lebih lama.

  7. Pilih opsi lain yang sesuai untuk aplikasi Anda lalu pilih Buat klaster.

MenggunakanAWS KMS keys untuk enkripsi EMRFS

Kunci enkripsi AWS KMS harus dibuat di Wilayah yang sama dengan instans klaster Amazon EMR Anda dan bucket Amazon S3 yang digunakan dengan EMRFS. Jika kunci yang Anda tentukan berada di akun yang berbeda dari yang Anda gunakan untuk mengkonfigurasi klaster, Anda harus menentukan kunci menggunakan ARN-nya.

Peran untuk profil instans Amazon EC2 harus memiliki izin untuk menggunakan kunci KMS yang Anda tentukan. Peran default untuk profil instans di Amazon EMR adalah EMR_EC2_DefaultRole. Jika Anda menggunakan peran yang berbeda untuk profil instans, atau Anda menggunakan IAM role untuk permintaan EMRFS ke Amazon S3, pastikan bahwa setiap peran ditambahkan sebagai pengguna kunci sebagaimana mestinya. Ini memberikan izin peran untuk menggunakan kunci KMS. Untuk informasi selengkapnya, lihat Menggunakan Kebijakan Utama dalam PanduanAWS Key Management Service Pengembang dan Mengonfigurasi peran IAM untuk permintaan EMRFS ke Amazon S3.

Anda dapat menggunakanAWS Management Console untuk menambahkan profil instans Anda atau profil instans EC2 ke daftar pengguna kunci untuk kunci KMS yang ditentukan, atau Anda dapat menggunakanAWS CLI atauAWS SDK untuk melampirkan kebijakan utama yang sesuai.

Perhatikan bahwa Amazon EMR hanya mendukung kunci KMS simetris. Anda tidak dapat menggunakan kunci KMS asimetris untuk mengenkripsi data at rest di klaster Amazon EMR. Untuk bantuan menentukan apakah kunci KMS simetris atau asimetris, lihat Mengidentifikasi kunci KMS simetris dan asimetris.

Prosedur di bawah ini menerangkan cara menambah profil instans EMR default, EMR_EC2_DefaultRole sebagai pengguna kunci dengan menggunakan AWS Management Console. Ini mengasumsikan bahwa Anda telah membuat kunci KMS. Untuk membuat kunci KMS baru, lihat Membuat Kunci di PanduanAWS Key Management Service Pengembang.

Untuk menambahkan profil instans EC2 untuk Amazon EMR ke daftar pengguna kunci enkripsi
  1. Masuk ke AWS Management Console lalu buka konsol AWS Key Management Service (AWS KMS) di https://console.aws.amazon.com/kms.

  2. Untuk mengubahWilayah AWS, gunakan pemilih Wilayah di sudut kanan atas halaman.

  3. Pilih alias kunci KMS untuk diubah.

  4. Pada halaman detail kunci di bawah Pengguna Kunci, pilih Tambahkan.

  5. Di kotak dialog Tambah pengguna kunci, pilih peran yang sesuai. Nama peran default adalah EMR_EC2_DefaultRole.

  6. Pilih Tambahkan.

Enkripsi sisi server Amazon S3

Saat Anda mengatur enkripsi sisi server Amazon S3, Amazon S3 akan mengenkripsi data pada tingkat objek saat menulis data ke disk dan mendekripsi data saat diakses. Untuk informasi selengkapnya, lihat Melindungi data menggunakan enkripsi sisi server dalam Panduan Pengguna Amazon Simple Storage Service.

Anda dapat memilih di antara dua sistem manajemen kunci yang berbeda saat Anda menentukan SSE di Amazon EMR:

  • SSE-S3 – Amazon S3 mengelola kunci untuk Anda.

  • SSE-KMS — Anda menggunakanAWS KMS key untuk mengatur kebijakan yang sesuai untuk Amazon EMR. Untuk informasi selengkapnya tentang persyaratan kunci Amazon EMR, lihat MenggunakanAWS KMS keys untuk enkripsi.

SSE dengan kunci yang disediakan pelanggan (SSE-C) tidak tersedia untuk penggunaan dengan Amazon EMR.

Untuk membuat klaster dengan SSE-S3 yang diaktifkan menggunakan AWS CLI
  • Ketik perintah berikut ini:

    aws emr create-cluster --release-label emr-4.7.2 or earlier \ --instance-count 3 --instance-type m5.xlarge --emrfs Encryption=ServerSide

Anda juga dapat mengaktifkan SSE-S3 dengan mengatur fs.s3. enableServerSideProperti enkripsi ke true diemrfs-site properti. Lihat contoh SSE-KMS di bawah ini dan hilangkan properti untuk ID Kunci.

Untuk membuat klaster dengan SSE-KMS yang diaktifkan menggunakan AWS CLI
catatan

SSE-KMS hanya tersedia di Amazon EMR versi rilis 4.5.0 dan yang lebih baru.

  • KetikAWS CLI perintah berikut untuk membuat klaster dengan SSE-KMS, di mana keyID adalah, misalnyaAWS KMS key, a4567b8-9900-12ab-4567b8-9900-12ab-4567b8-9900-12ab-4567b8-9900-12ab-4567b8-99

    aws emr create-cluster --release-label emr-4.7.2 or earlier --instance-count 3 \ --instance-type m5.xlarge --use-default-roles \ --emrfs Encryption=ServerSide,Args=[fs.s3.serverSideEncryption.kms.keyId=keyId]

    —ATAU—

    Ketik perintah AWS CLI berikut menggunakan klasifikasi emrfs-site dan berikan file JSON konfigurasi dengan konten sebagaimana ditunjukkan yang mirip dengan myConfig.json pada contoh di bawah ini:

    aws emr create-cluster --release-label emr-4.7.2 or earlier --instance-count 3 --instance-type m5.xlarge --applications Name=Hadoop --configurations file://myConfig.json --use-default-roles

    Contoh konten MyConfig.json:

    [ { "Classification":"emrfs-site", "Properties": { "fs.s3.enableServerSideEncryption": "true", "fs.s3.serverSideEncryption.kms.keyId":"a4567b8-9900-12ab-1234-123a45678901" } } ]

Properti konfigurasi untuk SSE-S3 dan SSE-KMS

Properti ini dapat dikonfigurasi menggunakan klasifikasi konfigurasi emrfs-site. SSE-KMS hanya tersedia di Amazon EMR versi rilis 4.5.0 dan yang lebih baru.

Properti Nilai default Deskripsi
fs.s3.enableServerSideEncryption false

Saat disetel ke true, objek yang disimpan di Amazon S3 dienkripsi menggunakan enkripsi sisi server. Jika tidak ada kunci yang ditentukan, SSE-S3 akan digunakan.

fs.s3.serverSideEncryption.kms.keyId n/a

Menentukan ID kunci AWS KMS atau ARN. Jika kunci ditentukan, SSE-KMS yang digunakan.