

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

# Menggunakan AWS KMS enkripsi dengan AWS layanan
<a name="service-integration"></a>

Dengan AWS Key Management Service, Anda dapat memberikan kunci enkripsi untuk melindungi data di AWS layanan lain. Menggunakan AWS KMS enkripsi dengan AWS layanan mengacu pada proses integrasi AWS KMS dengan AWS layanan lain untuk mengenkripsi dan mendekripsi data saat istirahat atau dalam perjalanan. Pengembang, administrator sistem, dan profesional keamanan mungkin tertarik dengan topik ini untuk mengamankan data sensitif yang disimpan atau dikirimkan melalui AWS layanan, memenuhi persyaratan kepatuhan peraturan, atau menerapkan praktik terbaik enkripsi. Kasus penggunaan umum termasuk mengenkripsi volume Amazon EBS, bucket Amazon S3, dan database Amazon RDS. [Bagian berikut akan mencakup langkah-langkah untuk mengonfigurasi dan mengelola kunci AWS KMS enkripsi untuk AWS layanan tertentu, memastikan kerahasiaan dan integritas data di seluruh AWS lingkungan Anda. Untuk daftar lengkap layanan yang terintegrasi dengannya AWS KMS, lihat Integrasi AWS Layanan.AWS](https://aws.amazon.com/kms/features/#AWS_Service_Integration)

Topik berikut membahas secara rinci bagaimana layanan tertentu digunakan AWS KMS, termasuk kunci KMS yang mereka dukung, cara mereka mengelola kunci data, izin yang mereka butuhkan, dan cara melacak penggunaan kunci KMS setiap layanan di akun Anda.

**penting**  
[AWS layanan yang terintegrasi dengan](https://aws.amazon.com/kms/features/#AWS_Service_Integration) hanya AWS KMS menggunakan kunci KMS enkripsi simetris untuk mengenkripsi data Anda. Layanan ini tidak mendukung enkripsi dengan kunci KMS asimetris. Untuk bantuan menentukan apakah kunci KMS simetris atau asimetris, lihat. [Identifikasi berbagai jenis kunci](identify-key-types.md)

**Topics**
+ [Amazon Elastic Block Store (Amazon EBS)](services-ebs.md)
+ [Amazon EMR](services-emr.md)
+ [Amazon Redshift](services-redshift.md)

# Bagaimana Amazon Elastic Block Store (Amazon EBS) menggunakan AWS KMS
<a name="services-ebs"></a>

Topik ini membahas secara rinci bagaimana [Amazon Elastic Block Store (Amazon EBS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html) gunakan AWS KMS untuk mengenkripsi volume dan snapshot. Untuk petunjuk dasar tentang mengenkripsi volume Amazon EBS, lihat [Enkripsi Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html).

**Topics**
+ [Enkripsi Amazon EBS](#ebs-encrypt)
+ [Menggunakan kunci KMS dan kunci data](#ebs-cmk)
+ [Konteks enkripsi Amazon EBS](#ebs-encryption-context)
+ [Mendeteksi kegagalan Amazon EBS](#ebs-failures)
+ [Menggunakan AWS CloudFormation untuk membuat volume Amazon EBS terenkripsi](#ebs-encryption-using-cloudformation)

## Enkripsi Amazon EBS
<a name="ebs-encrypt"></a>

Saat Anda melampirkan volume Amazon EBS terenkripsi ke [jenis instans yang didukung Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances), data disimpan saat istirahat pada volume, disk I/O, dan snapshot yang dibuat dari volume semuanya dienkripsi. Enkripsi terjadi pada server yang menjadi host instans Amazon EC2.

Fitur ini didukung di semua [jenis volume Amazon EBS](https://docs.aws.amazon.com/ebs-encryption-requirements.html#ebs-encryption-volume-types). Anda mengakses volume terenkripsi dengan cara yang sama Anda mengakses volume lain; enkripsi dan dekripsi ditangani secara transparan dan mereka tidak memerlukan tindakan tambahan dari Anda, instans EC2 Anda, atau aplikasi Anda. Snapshot volume terenkripsi dienkripsi secara otomatis, dan volume yang dibuat dari snapshot terenkripsi juga dienkripsi secara otomatis.

Status enkripsi volume EBS ditentukan saat Anda membuat volume. Anda tidak dapat mengubah status enkripsi dari volume yang sudah ada. Namun, Anda dapat [memigrasi data](https://docs.aws.amazon.com//ebs/latest/userguide/how-ebs-encryption-works.html) antara volume terenkripsi dan tidak terenkripsi dan menerapkan status enkripsi baru saat menyalin snapshot.

Amazon EBS mendukung enkripsi opsional secara default. Anda dapat mengaktifkan enkripsi secara otomatis pada semua volume EBS baru dan salinan snapshot di Akun AWS dan Wilayah Anda. Pengaturan konfigurasi ini tidak memengaruhi volume atau snapshot yang sudah ada. Untuk detailnya, lihat [enkripsi Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) di *Panduan Pengguna Amazon EBS*.

## Menggunakan kunci KMS dan kunci data
<a name="ebs-cmk"></a>

Saat Anda [membuat volume Amazon EBS terenkripsi](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html), Anda menentukan file. AWS KMS key Secara default, Amazon EBS menggunakan [Kunci yang dikelola AWS](concepts.md#aws-managed-key)untuk Amazon EBS di akun Anda ()`aws/ebs`. Namun, Anda dapat menentukan [kunci terkelola pelanggan](concepts.md#customer-mgn-key) yang Anda buat dan kelola. 

Untuk menggunakan kunci yang dikelola pelanggan, Anda harus memberikan izin Amazon EBS untuk menggunakan kunci KMS atas nama Anda. Untuk informasi selengkapnya, lihat [Cara kerja enkripsi Amazon EBS](https://docs.aws.amazon.com//ebs/latest/userguide/how-ebs-encryption-works.html) di *Panduan Pengguna Amazon EBS*.

**penting**  
Amazon EBS hanya mendukung kunci [KMS simetris](symm-asymm-choose-key-spec.md#symmetric-cmks). Anda tidak dapat menggunakan [kunci KMS asimetris](symmetric-asymmetric.md) untuk mengenkripsi volume Amazon EBS. Untuk bantuan menentukan apakah kunci KMS simetris atau asimetris, lihat. [Identifikasi berbagai jenis kunci](identify-key-types.md)

Untuk setiap volume, Amazon EBS meminta AWS KMS untuk menghasilkan kunci data unik yang dienkripsi di bawah kunci KMS yang Anda tentukan. Amazon EBS menyimpan kunci data terenkripsi dengan volume. Kemudian, saat Anda melampirkan volume ke instans Amazon EC2, Amazon EBS memanggil AWS KMS untuk mendekripsi kunci data. Amazon EBS menggunakan kunci data plaintext dalam memori hypervisor untuk mengenkripsi semua disk ke volume. I/O Untuk detailnya, lihat *Cara kerja enkripsi EBS* di Panduan Pengguna [Amazon EC2 atau Panduan Pengguna](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#how-ebs-encryption-works) [Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EBSEncryption.html#how-ebs-encryption-works).

## Konteks enkripsi Amazon EBS
<a name="ebs-encryption-context"></a>

Dalam permintaannya [GenerateDataKeyWithoutPlaintext](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext)dan [Dekripsi](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) ke, AWS KMS Amazon EBS menggunakan konteks enkripsi dengan pasangan nama-nilai yang mengidentifikasi volume atau snapshot dalam permintaan. Nama dalam konteks enkripsi tidak berbeda.

[Konteks enkripsi](encrypt_context.md) adalah seperangkat pasangan nilai kunci yang berisi data non-rahasia yang berubah-ubah. Ketika Anda menyertakan konteks enkripsi dalam permintaan untuk mengenkripsi data, secara AWS KMS kriptografis mengikat konteks enkripsi ke data terenkripsi. Untuk mendekripsi data, Anda harus meneruskan konteks enkripsi yang sama.

Untuk semua volume dan untuk snapshot terenkripsi yang dibuat dengan operasi Amazon EBS [CreateSnapshot](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSnapshot.html), Amazon EBS menggunakan ID volume sebagai nilai konteks enkripsi. Di `requestParameters` bidang entri CloudTrail log, konteks enkripsi terlihat mirip dengan yang berikut:

```
"encryptionContext": {
  "aws:ebs:id": "vol-0cfb133e847d28be9"
}
```

Untuk snapshot terenkripsi yang dibuat dengan [CopySnapshot](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopySnapshot.html)operasi Amazon EC2, Amazon EBS menggunakan ID snapshot sebagai nilai konteks enkripsi. Di `requestParameters` bidang entri CloudTrail log, konteks enkripsi terlihat mirip dengan yang berikut:

```
"encryptionContext": {
  "aws:ebs:id": "snap-069a655b568de654f"
}
```

## Mendeteksi kegagalan Amazon EBS
<a name="ebs-failures"></a>

Untuk membuat volume EBS terenkripsi atau melampirkan volume ke instans EC2, Amazon EBS dan infrastruktur Amazon EC2 harus dapat menggunakan kunci KMS yang Anda tentukan untuk enkripsi volume EBS. Ketika kunci KMS tidak dapat digunakan—misalnya, ketika [status kuncinya](key-state.md) tidak `Enabled` —pembuatan volume atau lampiran volume gagal.

 Dalam hal ini, Amazon EBS mengirimkan *acara* ke Amazon EventBridge (sebelumnya CloudWatch Acara) untuk memberi tahu Anda tentang kegagalan tersebut. Di EventBridge, Anda dapat menetapkan aturan yang memicu tindakan otomatis dalam menanggapi peristiwa ini. Untuk informasi selengkapnya, lihat [ CloudWatch Acara Amazon untuk Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-cloud-watch-events.html) di *Panduan Pengguna Amazon EBS*, terutama bagian berikut:
+ [Kunci Enkripsi Tidak Valid pada Volume Lampirkan atau Pasang Kembali](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-cloud-watch-events.html#attach-fail-key)
+ [Kunci Enkripsi Tidak Valid pada Buat Volume](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-cloud-watch-events.html#create-fail-key)

Untuk memperbaiki kegagalan ini, pastikan kunci KMS yang Anda tentukan untuk enkripsi volume EBS diaktifkan. Untuk melakukan ini, pertama-tama [lihat kunci KMS](viewing-keys.md) untuk menentukan status kunci saat ini (kolom **Status** di Konsol Manajemen AWS). Kemudian, lihat informasi di salah satu tautan berikut:
+ Jika status kunci kunci KMS dinonaktifkan, [aktifkan](enabling-keys.md).
+ Jika status kunci kunci KMS sedang menunggu impor, [impor materi kunci](importing-keys.md).
+ Jika status kunci kunci KMS tertunda penghapusan, [batalkan](deleting-keys-scheduling-key-deletion.md) penghapusan kunci.

## Menggunakan AWS CloudFormation untuk membuat volume Amazon EBS terenkripsi
<a name="ebs-encryption-using-cloudformation"></a>

Anda dapat menggunakan [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/) untuk membuat volume Amazon EBS terenkripsi. Untuk informasi lebih lanjut, lihat [AWS::EC2::Volume](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html) dalam *Panduan Pengguna AWS CloudFormation *.

# Bagaimana Amazon EMR menggunakan AWS KMS
<a name="services-emr"></a>

Saat Anda menggunakan klaster [Amazon EMR](https://aws.amazon.com/emr/), Anda dapat mengonfigurasi klaster untuk mengenkripsi data *at rest* sebelum menyimpannya ke lokasi penyimpanan tetap. Anda dapat mengenkripsi data at rest pada Sistem File EMR (EMRFS), volume penyimpanan simpul klaster, atau keduanya. Untuk mengenkripsi data saat istirahat, Anda dapat menggunakan file AWS KMS key. Topik berikut menjelaskan bagaimana cluster EMR Amazon menggunakan kunci KMS untuk mengenkripsi data saat istirahat.

**penting**  
Amazon EMR hanya mendukung kunci KMS [simetris](symm-asymm-choose-key-spec.md#symmetric-cmks). Anda tidak dapat menggunakan [kunci KMS asimetris](symmetric-asymmetric.md) untuk mengenkripsi data saat istirahat di cluster EMR Amazon. Untuk bantuan menentukan apakah kunci KMS simetris atau asimetris, lihat. [Identifikasi berbagai jenis kunci](identify-key-types.md)

Klaster Amazon EMR juga mengenkripsi data *dalam transit*, yang berarti klaster mengenkripsi data sebelum mengirimnya melalui jaringan. Anda tidak dapat menggunakan kunci KMS untuk mengenkripsi data dalam perjalanan. Untuk informasi selengkapnya, lihat [Enkripsi Data Dalam Transit](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption-options.html#emr-encryption-intransit) di *Panduan Pengelolaan Amazon EMR*.

Untuk informasi selengkapnya tentang semua opsi enkripsi yang tersedia di Amazon EMR, lihat [Opsi Enkripsi](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption-options.html) dalam *Panduan Manajemen Amazon EMR*.

**Topics**
+ [Mengenkripsi data pada sistem file EMR (EMRFS)](#emrfs-encryption)
+ [Mengenkripsi data pada volume penyimpanan simpul klaster](#emr-local-disk-encryption)
+ [Konteks enkripsi](#emr-encryption-context)

## Mengenkripsi data pada sistem file EMR (EMRFS)
<a name="emrfs-encryption"></a>

Klaster Amazon EMR menggunakan dua sistem file terdistribusi:
+ Sistem File Terdistribusi Hadoop (HDFS). Enkripsi HDFS tidak menggunakan kunci KMS. AWS KMS
+ Sistem File EMR (EMRFS). Amazon EMR adalah implementasi HDFS yang memungkinkan klaster Amazon EMR untuk menyimpan data dalam Amazon Simple Storage Service (Amazon S3). EMRFS mendukung empat opsi enkripsi, dua di antaranya menggunakan kunci KMS. AWS KMS Untuk informasi selengkapnya tentang keempat opsi enkripsi EMRFS, lihat [Opsi Enkripsi](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption-options.html) dalam *Panduan Manajemen Amazon EMR*.

Dua opsi enkripsi EMRFS yang menggunakan kunci KMS menggunakan fitur enkripsi berikut yang ditawarkan oleh Amazon S3:
+ [Melindungi data menggunakan enkripsi sisi server dengan AWS Key Management Service (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html). Cluster EMR Amazon mengirimkan data ke Amazon S3. Amazon S3 menggunakan kunci KMS untuk mengenkripsi data sebelum menyimpannya ke bucket S3. Untuk informasi selengkapnya tentang cara kerjanya, lihat [Proses untuk mengenkripsi data pada EMRFS dengan SSE-KMS](#emrfs-encryption-sse-kms).
+ [Melindungi data menggunakan enkripsi sisi klien](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html) (CSE-KMS). Data dalam EMR Amazon dienkripsi di bawah AWS KMS key sebelum dikirim ke Amazon S3 untuk penyimpanan. Untuk informasi selengkapnya tentang cara kerjanya, lihat [Proses untuk mengenkripsi data pada EMRFS dengan CSE-KMS](#emrfs-encryption-cse-kms).

Saat Anda mengonfigurasi kluster EMR Amazon untuk mengenkripsi data pada EMRFS dengan kunci KMS, Anda memilih kunci KMS yang ingin digunakan Amazon S3 atau kluster EMR Amazon. Dengan SSE-KMS, Anda dapat memilih untuk Amazon Kunci yang dikelola AWS 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. Ketika Anda memilih kunci yang dikelola pelanggan, Anda harus memastikan bahwa klaster EMR Amazon Anda memiliki izin untuk menggunakan kunci KMS. Untuk informasi selengkapnya, lihat [Menggunakan AWS KMS keys enkripsi](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-encryption-enable.html#emr-awskms-keys) di *Panduan Manajemen EMR Amazon*.

[Untuk enkripsi sisi server dan sisi klien, kunci KMS yang Anda pilih adalah kunci root dalam alur kerja enkripsi amplop.](kms-cryptography.md#enveloping) Data dienkripsi dengan [kunci data unik yang dienkripsi di bawah kunci](data-keys.md) 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.

**Topics**
+ [Proses untuk mengenkripsi data pada EMRFS dengan SSE-KMS](#emrfs-encryption-sse-kms)
+ [Proses untuk mengenkripsi data pada EMRFS dengan CSE-KMS](#emrfs-encryption-cse-kms)

### Proses untuk mengenkripsi data pada EMRFS dengan SSE-KMS
<a name="emrfs-encryption-sse-kms"></a>

Saat Anda mengonfigurasi klaster Amazon EMR untuk menggunakan SSE-KMS, proses enkripsi bekerja seperti ini:

1. Klaster mengirimkan data ke Amazon S3 untuk penyimpanan dalam bucket S3.

1. Amazon S3 mengirimkan [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)permintaan ke AWS KMS, menentukan ID kunci kunci KMS yang Anda pilih saat Anda mengonfigurasi cluster untuk menggunakan SSE-KMS. Permintaan mencakup konteks enkripsi; untuk informasi selengkapnya, lihat [Konteks enkripsi](#emr-encryption-context).

1. 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.

1. 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.

1. Amazon S3 menyimpan data terenkripsi dan salinan terenkripsi dari kunci data bersama sebagai objek terenkripsi tunggal dalam bucket S3.

Proses dekripsi bekerja seperti ini:

1. Klaster mengajukan permintaan objek data yang dienkripsi dari bucket S3.

1. [Amazon S3 mengekstrak kunci data terenkripsi dari objek S3, dan kemudian mengirimkan kunci data terenkripsi dengan permintaan Dekripsi. AWS KMS](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) Permintaan mencakup [konteks enkripsi](encrypt_context.md).

1. AWS KMS mendekripsi kunci data terenkripsi menggunakan kunci KMS yang sama yang digunakan untuk mengenkripsinya, dan kemudian mengirimkan kunci data yang didekripsi (teks biasa) ke Amazon S3.

1. Amazon S3 menggunakan kunci data plaintext untuk mendekripsi data yang dienkripsi, kemudian menghapus kunci data plaintext dari memori sesegera mungkin setelah digunakan.

1. Amazon S3 mengirimkan data didekripsi ke klaster.

### Proses untuk mengenkripsi data pada EMRFS dengan CSE-KMS
<a name="emrfs-encryption-cse-kms"></a>

Saat Anda mengonfigurasi klaster Amazon EMR untuk menggunakan CSE-KMS, proses enkripsi bekerja seperti ini:

1. Saat siap untuk menyimpan data di Amazon S3, klaster mengirimkan [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)permintaan ke AWS KMS, menentukan ID kunci kunci KMS yang Anda pilih saat Anda mengonfigurasi cluster untuk menggunakan CSE-KMS. Permintaan mencakup konteks enkripsi; untuk informasi selengkapnya, lihat [Konteks enkripsi](#emr-encryption-context).

1. 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.

1. Klaster menggunakan kunci data plaintext untuk mengenkripsi data, kemudian menghapus kunci data plaintext dari memori sesegera mungkin setelah digunakan.

1. Klaster mengombinasikan data terenkripsi dan salinan terenkripsi dari kunci data bersama sebagai objek terenkripsi tunggal.

1. Klaster mengirimkan objek dienkripsi ke Amazon S3 untuk penyimpanan.

Proses dekripsi bekerja seperti ini:

1. Klaster mengajukan permintaan objek data yang dienkripsi dari bucket S3.

1. Amazon S3 mengirimkan objek terenkripsi ke klaster.

1. [Cluster mengekstrak kunci data terenkripsi dari objek terenkripsi, dan kemudian mengirimkan kunci data terenkripsi dengan permintaan Dekripsi. AWS KMS](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) Permintaan mencakup [konteks enkripsi](encrypt_context.md).

1. AWS KMS mendekripsi kunci data terenkripsi menggunakan kunci KMS yang sama yang digunakan untuk mengenkripsinya, dan kemudian mengirimkan kunci data yang didekripsi (plaintext) ke cluster.

1. 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
<a name="emr-local-disk-encryption"></a>

Klaster Amazon EMR adalah koleksi instans Amazon Elastic Compute Cloud (Amazon EC2). Setiap instans dalam klaster disebut *simpul klaster* atau *simpul*. Setiap simpul dapat memiliki dua jenis volume penyimpanan: volume penyimpanan instans, dan volume Amazon Elastic Block Store (Amazon EBS). Anda dapat mengonfigurasi klaster untuk menggunakan [Penyiapan Kunci Terpadu Linux (LUKS)](https://gitlab.com/cryptsetup/cryptsetup/blob/master/README.md) untuk mengenkripsi kedua jenis volume penyimpanan pada simpul (tetapi bukan boot volume dari setiap simpul). Ini disebut *enkripsi disk lokal*.

Saat Anda mengaktifkan enkripsi disk lokal untuk sebuah cluster, Anda dapat memilih untuk mengenkripsi kunci LUKS dengan kunci KMS. AWS KMS Anda harus memilih [kunci yang dikelola pelanggan](concepts.md#customer-mgn-key) yang Anda buat; Anda tidak dapat menggunakan [Kunci yang dikelola AWS](concepts.md#aws-managed-key). Jika Anda memilih kunci yang dikelola pelanggan, Anda harus memastikan bahwa klaster EMR Amazon Anda memiliki izin untuk menggunakan kunci KMS. Untuk informasi selengkapnya, lihat [Menggunakan AWS KMS keys enkripsi](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-encryption-enable.html#emr-awskms-keys) di *Panduan Manajemen EMR Amazon*.

Saat Anda mengaktifkan enkripsi disk lokal menggunakan kunci KMS, proses enkripsi berfungsi seperti ini:

1. Ketika setiap node cluster diluncurkan, ia mengirimkan [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)permintaan ke AWS KMS, menentukan ID kunci dari kunci KMS yang Anda pilih ketika Anda mengaktifkan enkripsi disk lokal untuk cluster.

1. 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.

1. 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.

1. [Jika node reboot, node reboot mengirimkan kunci data terenkripsi dengan permintaan Dekripsi. AWS KMS](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)

1. AWS KMS mendekripsi kunci data terenkripsi menggunakan kunci KMS yang sama yang digunakan untuk mengenkripsinya, dan kemudian mengirimkan kunci data yang didekripsi (plaintext) ke node.

1. Node menggunakan versi base64 yang dikodekan dari kunci data plaintext sebagai kata sandi untuk membuka kunci LUKS.

## Konteks enkripsi
<a name="emr-encryption-context"></a>

Setiap AWS layanan yang terintegrasi dengan AWS KMS dapat menentukan [konteks enkripsi](encrypt_context.md) 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 kunci KMS tertentu digunakan. 

Bagian berikut menjelaskan konteks enkripsi yang digunakan dalam setiap skenario enkripsi EMR Amazon yang menggunakan kunci KMS.

### Konteks enkripsi untuk enkripsi EMRFS dengan SSE-KMS
<a name="emr-encryption-context-sse-kms"></a>

Dengan SSE-KMS, cluster EMR Amazon mengirimkan data ke Amazon S3, dan kemudian Amazon S3 menggunakan kunci KMS untuk mengenkripsi data sebelum menyimpannya ke bucket S3. Dalam hal ini, Amazon S3 menggunakan Nama Sumber Daya Amazon (ARN) dari objek S3 sebagai konteks enkripsi dengan masing-masing [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)dan [Dekripsi](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) permintaan yang dikirimkannya. AWS KMS Contoh berikut menunjukkan representasi JSON dari konteks enkripsi yang digunakan Amazon S3.

```
{ "aws:s3:arn" : "arn:aws:s3:::S3_bucket_name/S3_object_key" }
```

### Konteks enkripsi untuk enkripsi EMRFS dengan CSE-KMS
<a name="emr-encryption-context-cse-kms"></a>

Dengan CSE-KMS, cluster EMR Amazon menggunakan kunci KMS untuk mengenkripsi data sebelum mengirimnya ke Amazon S3 untuk penyimpanan. Dalam hal ini, cluster menggunakan Amazon Resource Name (ARN) dari kunci KMS sebagai konteks enkripsi dengan masing-masing [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)dan [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) request yang dikirimkan. AWS KMS Contoh berikut menunjukkan representasi JSON dari konteks enkripsi yang digunakan klaster.

```
{ "kms_cmk_id" : "arn:aws:kms:us-east-2:111122223333:key/0987ab65-43cd-21ef-09ab-87654321cdef" }
```

### Konteks enkripsi untuk enkripsi disk lokal dengan LUKS
<a name="emr-encryption-context-luks"></a>

Ketika kluster EMR Amazon menggunakan enkripsi disk lokal dengan LUKS, node cluster tidak menentukan konteks enkripsi dengan [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)dan [Dekripsi](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) permintaan yang mereka kirim. AWS KMS

# Bagaimana Amazon Redshift menggunakan AWS KMS
<a name="services-redshift"></a>

Topik ini membahas bagaimana Amazon Redshift AWS KMS menggunakan untuk mengenkripsi data.

**Topics**
+ [Enkripsi Amazon Redshift](#rs-encryption)
+ [Konteks enkripsi](#rs-encryptioncontext)

## Enkripsi Amazon Redshift
<a name="rs-encryption"></a>

Sebuah gudang data Amazon Redshift adalah kumpulan sumber daya komputasi yang disebut simpul, yang diatur ke dalam grup yang disebut klaster. Setiap klaster menjalankan mesin Amazon Redshift dan berisi satu atau lebih database. 

Amazon Redshift menggunakan arsitektur berbasis kunci empat tingkat untuk enkripsi. Arsitektur terdiri dari kunci enkripsi data, kunci database, kunci cluster, dan kunci root. Anda dapat menggunakan AWS KMS key sebagai kunci root.

Kunci enkripsi data mengenkripsi blok data dalam klaster. Setiap blok data diberikan kunci AES-256 yang dihasilkan secara acak. Kunci ini dienkripsi dengan menggunakan kunci database untuk klaster. 

Kunci database mengenkripsi kunci enkripsi data dalam klaster. Kunci database adalah kunci AES-256 yang dihasilkan secara acak. Ini disimpan pada disk dalam jaringan terpisah dari klaster Amazon Redshift dan diteruskan ke klaster di saluran aman. 

Kunci klaster mengenkripsi kunci database untuk klaster Amazon Redshift. Anda dapat menggunakan AWS KMS, AWS CloudHSM, atau modul keamanan perangkat keras eksternal (HSM) untuk mengelola kunci cluster. Lihat dokumentasi [ Enkripsi Database Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html) untuk detail selengkapnya. 

Anda dapat meminta enkripsi dengan mencentang kotak yang sesuai di konsol Amazon Redshift. Anda dapat menentukan [kunci yang dikelola pelanggan](concepts.md#customer-mgn-key) dengan memilih salah satu dari daftar yang muncul di bawah kotak enkripsi. Jika Anda tidak menentukan kunci yang dikelola pelanggan, Amazon Redshift menggunakan [Kunci yang dikelola AWS](concepts.md#aws-managed-key)for Amazon Redshift di bawah akun Anda. 

**penting**  
Amazon Redshift hanya mendukung kunci KMS enkripsi simetris. Anda tidak dapat menggunakan kunci KMS asimetris dalam alur kerja enkripsi Amazon Redshift. Untuk bantuan menentukan apakah kunci KMS simetris atau asimetris, lihat. [Identifikasi berbagai jenis kunci](identify-key-types.md)

## Konteks enkripsi
<a name="rs-encryptioncontext"></a>

Setiap layanan yang terintegrasi dengan AWS KMS menentukan [konteks enkripsi](encrypt_context.md) saat meminta kunci data, mengenkripsi, dan mendekripsi. Konteks enkripsi adalah data otentikasi tambahan (AAD) yang AWS KMS digunakan untuk memeriksa integritas data. Artinya, ketika konteks enkripsi ditentukan untuk operasi enkripsi, layanan juga menentukan untuk operasi dekripsi atau dekripsi tidak akan berhasil. Amazon Redshift menggunakan ID klaster dan waktu penciptaan untuk konteks enkripsi. Di `requestParameters` bidang file CloudTrail log, konteks enkripsi akan terlihat mirip dengan ini. 

```
"encryptionContext": {
    "aws:redshift:arn": "arn:aws:redshift:region:account_ID:cluster:cluster_name",
    "aws:redshift:createtime": "20150206T1832Z"
},
```

 Anda dapat mencari nama cluster di CloudTrail log Anda untuk memahami operasi apa yang dilakukan dengan menggunakan AWS KMS key (kunci KMS). Operasi termasuk enkripsi klaster, klaster dekripsi, dan menghasilkan kunci data. 