

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
<a name="emr-emrfs-encryption"></a>

**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 [Mengkonfigurasi enkripsi data](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-create-security-configuration.html#emr-security-configuration-encryption). Instruksi konsol yang dijelaskan di bagian ini tersedia untuk versi rilis lebih awal dari 4.8.0. Jika Anda menggunakan enkripsi Amazon S3 AWS CLI untuk mengonfigurasi enkripsi Amazon S3 baik dalam konfigurasi cluster maupun dalam konfigurasi keamanan di versi berikutnya, konfigurasi keamanan akan menggantikan konfigurasi cluster.

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

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

**Untuk menentukan opsi enkripsi EMRFS menggunakan Konsol Manajemen AWS**

1. Arahkan ke konsol EMR Amazon baru dan pilih **Beralih ke konsol lama** dari navigasi samping. Untuk informasi selengkapnya tentang apa yang diharapkan saat beralih ke konsol lama, lihat [Menggunakan konsol lama](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html#console-opt-in).

1. Pilih **Buat klaster**, **Pergi ke opsi lanjutan**.

1. Pilih **Rilis** 4.7.2 atau yang lebih lama.

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

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

1. 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.
   + Jika Anda memilih opsi yang menggunakan **AWS Manajemen Kunci**, pilih **AWS ID Kunci KMS**. Untuk informasi selengkapnya, lihat [Menggunakan AWS KMS keys untuk enkripsi EMRFS](#emr-emrfs-awskms).
   + Jika Anda memilih **enkripsi sisi klien S3 dengan penyedia materi khusus**, berikan **nama Kelas** dan **lokasi JAR.**. Untuk informasi selengkapnya, lihat [Enkripsi di sisi klien Amazon S3](emr-emrfs-encryption-cse.md).

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

## Menggunakan AWS KMS keys untuk enkripsi EMRFS
<a name="emr-emrfs-awskms"></a>

Kunci AWS KMS enkripsi harus dibuat di Wilayah yang sama dengan instans cluster EMR Amazon 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](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-users) di *Panduan AWS Key Management Service Pengembang* dan [Mengonfigurasi peran IAM untuk permintaan EMRFS ke Amazon S3](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-emrfs-iam-roles.html).

Anda dapat menggunakan Konsol Manajemen AWS untuk menambahkan profil instans atau profil instans EC2 ke daftar pengguna utama untuk kunci KMS yang ditentukan, atau Anda dapat menggunakan AWS CLI atau AWS SDK untuk melampirkan kebijakan kunci yang sesuai.

Perhatikan bahwa Amazon EMR hanya mendukung kunci KMS [simetris](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks). Anda tidak dapat menggunakan [kunci KMS asimetris](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html#asymmetric-cmks) untuk mengenkripsi data saat istirahat di cluster EMR Amazon. Untuk bantuan menentukan apakah kunci KMS simetris atau asimetris, lihat [Mengidentifikasi kunci KMS simetris dan asimetris](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html).

Prosedur di bawah ini menjelaskan cara menambahkan profil instans EMR Amazon default, `EMR_EC2_DefaultRole` sebagai *pengguna utama* yang menggunakan. Konsol Manajemen AWS Ini mengasumsikan bahwa Anda telah membuat kunci KMS. Untuk membuat kunci KMS baru, lihat [Membuat Kunci](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) di *Panduan AWS Key Management Service Pengembang*.

**Untuk menambahkan profil instans EC2 untuk Amazon EMR ke daftar pengguna kunci enkripsi**

1. Masuk ke Konsol Manajemen AWS dan buka konsol AWS Key Management Service (AWS KMS) di [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

1. Untuk mengubah Wilayah AWS, gunakan pemilih Wilayah di sudut kanan atas halaman.

1. Pilih alias tombol KMS untuk memodifikasi.

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

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

1. Pilih **Tambahkan**.

## Enkripsi sisi server Amazon S3
<a name="emr-emrfs-encryption-sse"></a>

Semua bucket Amazon S3 memiliki enkripsi yang dikonfigurasi secara default, dan semua objek baru yang diunggah ke bucket S3 secara otomatis dienkripsi saat istirahat, Amazon S3 mengenkripsi data pada tingkat objek saat menulis data ke disk dan mendekripsi data saat diakses. Untuk informasi selengkapnya tentang SSE, lihat [Melindungi data menggunakan enkripsi sisi server di Panduan Pengguna](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) Layanan *Penyimpanan Sederhana Amazon*.

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 menggunakan AWS KMS key untuk mengatur dengan kebijakan yang sesuai untuk Amazon EMR. Untuk informasi selengkapnya tentang persyaratan utama untuk Amazon EMR, lihat [Menggunakan AWS KMS keys untuk](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-encryption-enable.html#emr-awskms-keys) enkripsi.

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

**Untuk membuat cluster dengan SSE-S3 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 dalam `emrfs-site` properti. Lihat contoh SSE-KMS di bawah ini dan hilangkan properti untuk ID Kunci.

**Untuk membuat cluster dengan SSE-KMS diaktifkan menggunakan AWS CLI**
**catatan**  
SSE-KMS hanya tersedia di Amazon EMR versi rilis 4.5.0 dan yang lebih baru.
+ Ketik AWS CLI perintah berikut untuk membuat cluster dengan SSE-KMS, di mana *keyID* adalah AWS KMS key, misalnya,: *a4567b8-9900-12ab-1234-123a45678901*

  ```
  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 AWS CLI perintah berikut menggunakan `emrfs-site` klasifikasi dan berikan file JSON konfigurasi dengan konten seperti yang ditunjukkan mirip dengan contoh `myConfig.json` 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
<a name="emr-emrfs-encryption-site-sse-properties"></a>

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 AWS KMS kunci atau ARN. Jika kunci ditentukan, SSE-KMS yang digunakan.  | 

# Enkripsi di sisi klien Amazon S3
<a name="emr-emrfs-encryption-cse"></a>

Dengan enkripsi sisi klien Amazon S3, enkripsi dan dekripsi Amazon S3 dilakukan di klien EMRFS pada klaster Anda. Objek dienkripsi sebelum diunggah ke Amazon S3 dan didekripsi setelah diunduh. Penyedia yang Anda tentukan menyediakan kunci enkripsi yang digunakan klien. Klien dapat menggunakan kunci yang disediakan oleh AWS KMS (CSE-KMS) atau kelas Java kustom yang menyediakan kunci root sisi klien (CSE-C). Spesifikasi enkripsi sedikit berbeda antara CSE-KMS dan CSE-C, tergantung pada penyedia yang ditentukan dan metadata objek yang didekripsi atau dienkripsi. Untuk informasi selengkapnya tentang perbedaan ini, lihat [Melindungi data menggunakan enkripsi sisi klien](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*.

**catatan**  
Amazon S3 CSE hanya memastikan bahwa data EMRFS yang dipertukarkan dengan Amazon S3 dienkripsi; tidak semua data pada volume instans klaster dienkripsi. Lebih lanjut, karena Hue tidak menggunakan EMRFS, objek yang ditulis oleh Peramban Berkas Hue S3 ke Amazon S3 tidak dienkripsi.

**Untuk menentukan CSE-KMS untuk data EMRFS di Amazon S3 menggunakan AWS CLI**
+ Ketik perintah berikut dan ganti *MyKMSKeyID* dengan ID Kunci atau ARN dari kunci KMS yang akan digunakan:

  ```
  aws emr create-cluster --release-label emr-4.7.2 or earlier
  --emrfs Encryption=ClientSide,ProviderType=KMS,KMSKeyId=MyKMSKeyId
  ```

## Membuat penyedia kunci khusus
<a name="emr-emrfs-create-cse-key"></a>

Bergantung pada jenis enkripsi yang Anda gunakan saat membuat penyedia kunci khusus, aplikasi juga harus menerapkan EncryptionMaterialsProvider antarmuka yang berbeda. Kedua antarmuka tersedia di AWS SDK for Java versi 1.11.0 dan yang lebih baru.
+ [Untuk mengimplementasikan enkripsi Amazon S3, gunakan com.amazonaws.services.s3.model. EncryptionMaterialsProvider ](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/model/EncryptionMaterialsProvider.html)antarmuka.
+ Untuk mengimplementasikan enkripsi disk lokal, gunakan [com.amazonaws.services.elasticmapreduce.spi.security. EncryptionMaterialsProvider ](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/elasticmapreduce/spi/security/EncryptionMaterialsProvider.html)antarmuka.

Anda dapat menggunakan strategi apa pun untuk menyediakan materi enkripsi untuk implementasi. Misalnya, Anda dapat memilih untuk menyediakan materi enkripsi statis atau mengintegrasikan dengan sistem manajemen kunci yang lebih kompleks.

Jika Anda menggunakan enkripsi Amazon S3, Anda harus menggunakan algoritme enkripsi **AES/GCM/NoPadding**untuk materi enkripsi khusus.

Jika Anda menggunakan enkripsi disk lokal, algoritme enkripsi yang digunakan untuk bahan enkripsi khusus bervariasi menurut rilis EMR. Untuk Amazon EMR 7.0.0 dan yang lebih rendah, Anda harus menggunakan. **AES/GCM/NoPadding** **Untuk Amazon EMR 7.1.0 dan yang lebih tinggi, Anda harus menggunakan AES.**

 EncryptionMaterialsProvider Kelas mendapatkan materi enkripsi dengan konteks enkripsi. Amazon EMR mengisi informasi konteks enkripsi pada waktu aktif untuk membantu pemanggil dalam menentukan materi enkripsi yang benar untuk dikembalikan.

**Example Contoh: Menggunakan penyedia kunci khusus untuk enkripsi Amazon S3 dengan EMRFS**  
Saat Amazon EMR mengambil materi enkripsi dari EncryptionMaterialsProvider kelas untuk melakukan enkripsi, EMRFS secara opsional mengisi argumen MaterialsDescription dengan dua bidang: URI Amazon S3 untuk objek dan cluster, yang dapat digunakan oleh kelas untuk mengembalikan materi enkripsi secara JobFlowId selektif. EncryptionMaterialsProvider   
Misalnya, penyedia dapat mengembalikan kunci yang berbeda untuk prefiks URI Amazon S3 yang berbeda. Ini adalah deskripsi materi enkripsi yang dikembalikan yang pada akhirnya disimpan dengan objek Amazon S3 bukan nilai materialsDescription yang dihasilkan oleh EMRFS dan diteruskan ke penyedia. Saat mendekripsi objek Amazon S3, deskripsi bahan enkripsi diteruskan ke EncryptionMaterialsProvider kelas, sehingga dapat, sekali lagi, secara selektif mengembalikan kunci yang cocok untuk mendekripsi objek.  
Implementasi EncryptionMaterialsProvider referensi disediakan di bawah ini. Penyedia kustom lain [EMRFSRSAEncryptionMaterialsProvider](https://github.com/awslabs/emr-sample-apps/tree/master/emrfs-plugins/EMRFSRSAEncryptionMaterialsProvider),, tersedia dari GitHub.   

```
import com.amazonaws.services.s3.model.EncryptionMaterials;
import com.amazonaws.services.s3.model.EncryptionMaterialsProvider;
import com.amazonaws.services.s3.model.KMSEncryptionMaterials;
import org.apache.hadoop.conf.Configurable;
import org.apache.hadoop.conf.Configuration;

import java.util.Map;

/**
 * Provides KMSEncryptionMaterials according to Configuration
 */
public class MyEncryptionMaterialsProviders implements EncryptionMaterialsProvider, Configurable{
  private Configuration conf;
  private String kmsKeyId;
  private EncryptionMaterials encryptionMaterials;

  private void init() {
    this.kmsKeyId = conf.get("my.kms.key.id");
    this.encryptionMaterials = new KMSEncryptionMaterials(kmsKeyId);
  }

  @Override
  public void setConf(Configuration conf) {
    this.conf = conf;
    init();
  }

  @Override
  public Configuration getConf() {
    return this.conf;
  }

  @Override
  public void refresh() {

  }

  @Override
  public EncryptionMaterials getEncryptionMaterials(Map<String, String> materialsDescription) {
    return this.encryptionMaterials;
  }

  @Override
  public EncryptionMaterials getEncryptionMaterials() {
    return this.encryptionMaterials;
  }
}
```

## Menentukan penyedia bahan khusus menggunakan AWS CLI
<a name="emr-emrfs-encryption-cse-custom-cli"></a>

Untuk menggunakan AWS CLI, teruskan argumen `Encryption`, `ProviderType`, `CustomProviderClass`, dan `CustomProviderLocation` ke opsi `emrfs`.

```
aws emr create-cluster --instance-type m5.xlarge --release-label emr-4.7.2 or earlier --emrfs Encryption=ClientSide,ProviderType=Custom,CustomProviderLocation=s3://amzn-s3-demo-bucket/myfolder/provider.jar,CustomProviderClass=classname
```

Pengaturan `Encryption` untuk `ClientSide` mengaktifkan enkripsi sisi klien, `CustomProviderClass` adalah nama `EncryptionMaterialsProvider` objek Anda, dan `CustomProviderLocation` merupakan lokasi lokal atau Amazon S3 dari mana Amazon EMR `CustomProviderClass` menyalin ke setiap node di cluster dan menempatkannya di classpath.

## Menentukan penyedia materi khusus menggunakan SDK
<a name="emr-emrfs-encryption-cse-custom-sdk"></a>

Untuk menggunakan SDK, Anda dapat menyetel properti `fs.s3.cse.encryptionMaterialsProvider.uri` untuk mengunduh `EncryptionMaterialsProvider` kelas khusus yang disimpan di Amazon S3 ke setiap node di cluster Anda. Anda mengonfigurasi ini dalam file `emrfs-site.xml` bersama dengan CSE yang diaktifkan dan lokasi yang tepat dari penyedia khusus.

Misalnya, dalam AWS SDK untuk Java penggunaan RunJobFlowRequest, kode Anda mungkin terlihat seperti berikut:

```
<snip>
		Map<String,String> emrfsProperties = new HashMap<String,String>();
	    	emrfsProperties.put("fs.s3.cse.encryptionMaterialsProvider.uri","s3://amzn-s3-demo-bucket/MyCustomEncryptionMaterialsProvider.jar");
	    	emrfsProperties.put("fs.s3.cse.enabled","true");
	    	emrfsProperties.put("fs.s3.consistent","true");
		    emrfsProperties.put("fs.s3.cse.encryptionMaterialsProvider","full.class.name.of.EncryptionMaterialsProvider");

		Configuration myEmrfsConfig = new Configuration()
	    	.withClassification("emrfs-site")
	    	.withProperties(emrfsProperties);

		RunJobFlowRequest request = new RunJobFlowRequest()
			.withName("Custom EncryptionMaterialsProvider")
			.withReleaseLabel("emr-7.12.0")
			.withApplications(myApp)
			.withConfigurations(myEmrfsConfig)
			.withServiceRole("EMR_DefaultRole_V2")
			.withJobFlowRole("EMR_EC2_DefaultRole")
			.withLogUri("s3://myLogUri/")
			.withInstances(new JobFlowInstancesConfig()
				.withEc2KeyName("myEc2Key")
				.withInstanceCount(2)
				.withKeepJobFlowAliveWhenNoSteps(true)
				.withMasterInstanceType("m5.xlarge")
				.withSlaveInstanceType("m5.xlarge")
			);						
					
		RunJobFlowResult result = emr.runJobFlow(request);
</snip>
```

## Kustom EncryptionMaterialsProvider dengan argumen
<a name="emr-emrfs-encryption-custommaterials"></a>

Anda mungkin perlu menyampaikan argumen langsung ke penyedia. Untuk melakukannya, Anda dapat menggunakan klasifikasi konfigurasi `emrfs-site` dengan argumen khusus yang didefinisikan sebagai properti. Contoh konfigurasi ditunjukkan di bawah ini, yang mana disimpan sebagai file, `myConfig.json`:

```
[
    {
      "Classification": "emrfs-site",
      "Properties": {
        "myProvider.arg1":"value1",
	    "myProvider.arg2":"value2"
      }
    }
 ]
```

Menggunakan `create-cluster` perintah dari AWS CLI, Anda dapat menggunakan `--configurations` opsi untuk menentukan file seperti yang ditunjukkan di bawah ini:

```
aws emr create-cluster --release-label emr-7.12.0 --instance-type m5.xlarge --instance-count 2 --configurations file://myConfig.json --emrfs Encryption=ClientSide,CustomProviderLocation=s3://amzn-s3-demo-bucket/myfolder/myprovider.jar,CustomProviderClass=classname
```

## Mengkonfigurasi dukungan EMRFS S3EC V2
<a name="emr-emrfs-encryption-cse-s3v2"></a>

Rilis S3 Java SDK (1.11.837 dan yang lebih baru) mendukung klien enkripsi Versi 2 (S3EC V2) dengan berbagai peningkatan keamanan. Untuk informasi selengkapnya, lihat postingan blog S3 [Pembaruan untuk klien enkripsi Amazon S3](https://aws.amazon.com/blogs/developer/updates-to-the-amazon-s3-encryption-client/). Juga, lihat [migrasi klien enkripsi Amazon S3 di Panduan](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/s3-encryption-migration.html) AWS SDK untuk Java Pengembang. 

Klien enkripsi V1 masih tersedia di SDK untuk kompatibilitas mundur. Secara default EMRFS akan menggunakan S3EC V1 untuk mengenkripsi dan mendekripsi objek S3 jika CSE diaktifkan.

Objek S3 yang dienkripsi dengan S3EC V2 tidak dapat didekripsi oleh EMRFS pada klaster EMR yang versi rilisnya lebih lama dari emr-5.31.0 (emr-5.30.1 dan yang lebih lama, emr-6.1.0 dan yang lebih lama).

**Example Konfigurasikan EMRFS untuk menggunakan S3EC V2**  
Untuk mengonfigurasi EMRFS agar S3EC V2 dapat digunakan, tambahkan konfigurasi berikut:  

```
{
  "Classification": "emrfs-site",
  "Properties": {
    "fs.s3.cse.encryptionV2.enabled": "true"
  }
}
```

## `emrfs-site.xml` Properti untuk enkripsi di sisi klien Amazon S3
<a name="emr-emrfs-cse-config"></a>


| Properti  | Nilai default | Deskripsi  | 
| --- | --- | --- | 
| fs.s3.cse.enabled | false |  Jika disetel ke **true**, objek EMRFS yang disimpan di Amazon S3 dienkripsi menggunakan enkripsi di sisi klien.  | 
| fs.s3.cse.encryptionV2.enabled | false |  Jika disetel ke `true`, EMRFS menggunakan klien enkripsi S3 Versi 2 untuk mengenkripsi dan mendekripsi objek di S3. Tersedia untuk EMR versi 5.31.0 dan yang lebih baru.  | 
| fs.s3.cse.encryptionMaterialsProvider.uri | N/A | Berlaku saat menggunakan materi enkripsi khusus. URI Amazon S3 tempat JAR dengan EncryptionMaterialsProvider berada. Saat Anda menyediakan URI ini, Amazon EMR secara otomatis mengunduh JAR ke semua simpul dalam klaster. | 
| fs.s3.cse.encryptionMaterialsProvider | N/A |  Jalur kelas `EncryptionMaterialsProvider` yang digunakan dengan enkripsi di sisi klien. Saat menggunakan CSE-KMS, tentukan `com.amazon.ws.emr.hadoop.fs.cse.KMSEncryptionMaterialsProvider`.  | 
| fs.s3.cse.materialsDescription.enabled | false |  Saat disetel ke`true`, isi MaterialsDescription objek terenkripsi dengan URI Amazon S3 untuk objek dan file. JobFlowId Setel ke `true` saat menggunakan materi enkripsi khusus.  | 
| fs.s3.cse.kms.keyId | N/A |  Berlaku saat menggunakan CSE-KMS. Nilai KeyId, ARN, atau alias kunci KMS yang digunakan untuk enkripsi.  | 
| fs.s3.cse.cryptoStorageMode | ObjectMetadata  |  Mode penyimpanan Amazon S3. Secara default, deskripsi informasi enkripsi akan disimpan dalam metadata objek. Anda juga dapat menyimpan deskripsi dalam file instruksi. Nilai yang valid adalah ObjectMetadata danInstructionFile. Untuk informasi selengkapnya, lihat [Enkripsi data sisi klien dengan Amazon S3 AWS SDK untuk Java dan Amazon](https://aws.amazon.com/articles/client-side-data-encryption-with-the-aws-sdk-for-java-and-amazon-s3/).  | 