

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

# Hasilkan kunci data
<a name="data-keys"></a>

*Kunci data adalah kunci* simetris yang dapat Anda gunakan untuk mengenkripsi data, termasuk sejumlah besar data dan kunci enkripsi data lainnya. Tidak seperti kunci KMS simetris, yang tidak dapat diunduh, kunci data dikembalikan kepada Anda untuk digunakan di luar. AWS KMS

Saat AWS KMS menghasilkan kunci data, ia mengembalikan kunci data plaintext untuk segera digunakan (opsional) dan salinan kunci data terenkripsi yang dapat Anda simpan dengan aman bersama data. Ketika Anda siap untuk mendekripsi data, pertama-tama Anda meminta AWS KMS untuk mendekripsi kunci data terenkripsi. 

AWS KMS menghasilkan, mengenkripsi, dan mendekripsi kunci data. Namun, AWS KMS tidak menyimpan, mengelola, atau melacak kunci data Anda, atau melakukan operasi kriptografi dengan kunci data. Anda harus menggunakan dan mengelola kunci data di luar AWS KMS. Untuk bantuan menggunakan kunci data dengan aman, lihat. [AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/)

**Topics**
+ [

## Membuat kunci data
](#data-keys-create)
+ [

## Bagaimana operasi kriptografi dengan kunci data bekerja
](#use-data-keys)
+ [

# Bagaimana kunci KMS yang tidak dapat digunakan memengaruhi kunci data
](unusable-kms-keys.md)

## Membuat kunci data
<a name="data-keys-create"></a>

Untuk membuat kunci data, panggil [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)operasi. AWS KMS menghasilkan kunci data. Kemudian mengenkripsi salinan kunci data di bawah kunci [KMS enkripsi simetris](symm-asymm-choose-key-spec.md#symmetric-cmks) yang Anda tentukan. Operasi mengembalikan salinan plaintext dari kunci data dan salinan kunci data yang dienkripsi di bawah kunci KMS. Gambar berikut menunjukkan operasi ini.

![\[Menghasilkan kunci data\]](http://docs.aws.amazon.com/id_id/kms/latest/developerguide/images/generate-data-key.png)


AWS KMS juga mendukung [GenerateDataKeyWithoutPlaintext](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext.html)operasi, yang mengembalikan hanya kunci data terenkripsi. Saat Anda perlu menggunakan kunci data, minta AWS KMS untuk [mendekripsi](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html).

## Bagaimana operasi kriptografi dengan kunci data bekerja
<a name="use-data-keys"></a>

Topik berikut menjelaskan bagaimana kunci data yang dihasilkan oleh pekerjaan [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)atau [GenerateDataKeyWithoutPlaintext](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext.html)operasi.

### Mengenkripsi data dengan kunci data
<a name="data-keys-encrypt"></a>

AWS KMS tidak dapat menggunakan kunci data untuk mengenkripsi data. Tetapi Anda dapat menggunakan kunci data di luar AWS KMS, seperti dengan menggunakan OpenSSL atau pustaka kriptografi seperti. [AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/)

Setelah menggunakan kunci data plaintext untuk mengenkripsi data, hapus kunci data dari memori sesegera mungkin. Anda dapat dengan aman menyimpan kunci data terenkripsi dengan data terenkripsi sehingga tersedia untuk mendekripsi data.

![\[Enkripsi data pengguna di luar AWS KMS\]](http://docs.aws.amazon.com/id_id/kms/latest/developerguide/images/encrypt-with-data-key.png)


### Mendekripsi data dengan kunci data
<a name="data-keys-decrypt"></a>

[Untuk mendekripsi data Anda, teruskan kunci data terenkripsi ke operasi Dekripsi.](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) AWS KMS menggunakan kunci KMS Anda untuk mendekripsi kunci data dan kemudian mengembalikan kunci data plaintext. Gunakan kunci data plaintext untuk mendekripsi data Anda kemudian hapus kunci data plaintext dari memori sesegera mungkin.

Diagram berikut menunjukkan cara menggunakan operasi `Decrypt` untuk mendekripsi kunci data terenkripsi.

![\[Mendekripsi kunci data\]](http://docs.aws.amazon.com/id_id/kms/latest/developerguide/images/decrypt.png)


# Bagaimana kunci KMS yang tidak dapat digunakan memengaruhi kunci data
<a name="unusable-kms-keys"></a>

Ketika kunci KMS menjadi tidak dapat digunakan, efeknya hampir seketika (tergantung pada konsistensi akhirnya). [Status kunci](key-state.md) dari perubahan kunci KMS untuk mencerminkan kondisi barunya, dan semua permintaan untuk menggunakan kunci KMS dalam operasi [kriptografi gagal](kms-cryptography.md#cryptographic-operations).

Namun, efek pada kunci data yang dienkripsi oleh kunci KMS, dan pada data yang dienkripsi oleh kunci data, ditunda hingga kunci KMS digunakan lagi, seperti untuk mendekripsi kunci data.

Kunci KMS dapat menjadi tidak dapat digunakan karena berbagai alasan, termasuk tindakan berikut yang mungkin Anda lakukan.
+ [Menonaktifkan tombol KMS](enabling-keys.md)
+ [Menjadwalkan kunci KMS untuk dihapus](deleting-keys.md)
+ [Menghapus materi kunci](importing-keys-delete-key-material.md) dari kunci KMS dengan bahan kunci impor, atau membiarkan bahan kunci yang diimpor kedaluwarsa. Jika kunci KMS dengan `EXTERNAL` asal memiliki beberapa bahan kunci yang terkait, penghapusan atau kedaluwarsa materi kunci apa pun akan menyebabkan kunci menjadi tidak dapat digunakan.
+ [Memutuskan sambungan penyimpanan AWS CloudHSM kunci](disconnect-keystore.md) yang menghosting kunci KMS, atau [menghapus kunci dari AWS CloudHSM cluster](fix-keystore.md#fix-cmk-failed) yang berfungsi sebagai bahan kunci untuk kunci KMS.
+ [Memutuskan sambungan penyimpanan kunci eksternal](about-xks-disconnecting.md) yang menghosting kunci KMS, atau tindakan lain yang mengganggu permintaan enkripsi dan dekripsi ke proxy penyimpanan kunci eksternal, termasuk menghapus kunci eksternal dari pengelola kunci eksternalnya.

Efek ini sangat penting bagi banyak orang Layanan AWS yang menggunakan kunci data untuk melindungi sumber daya yang dikelola layanan. Contoh berikut menggunakan Amazon Elastic Block Store (Amazon EBS) dan Amazon Elastic Compute Cloud EC2 (Amazon). Berbeda Layanan AWS menggunakan kunci data dengan cara yang berbeda. Untuk detailnya, lihat bagian Perlindungan data pada bagian Keamanan untuk bagian Layanan AWS.

Misalnya, pertimbangkan skenario ini:

1. Anda [membuat volume EBS terenkripsi](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html) dan menentukan kunci KMS untuk melindunginya. Amazon EBS meminta AWS KMS untuk menggunakan kunci KMS Anda untuk [menghasilkan kunci data terenkripsi](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext.html) untuk volume. Amazon EBS menyimpan kunci data terenkripsi dengan metadata volume.

1. Saat Anda melampirkan volume EBS ke EC2 instans, Amazon EC2 menggunakan kunci KMS Anda untuk mendekripsi kunci data terenkripsi volume EBS. Amazon EC2 menggunakan kunci data dalam perangkat keras Nitro, yang bertanggung jawab untuk mengenkripsi semua disk I/O ke volume EBS. Kunci data tetap ada di perangkat keras Nitro sementara volume EBS dilampirkan ke instance. EC2 

1. Anda melakukan tindakan yang membuat kunci KMS tidak dapat digunakan. Ini tidak berpengaruh langsung pada EC2 instance atau volume EBS. Amazon EC2 menggunakan kunci data — bukan kunci KMS — untuk mengenkripsi semua disk I/O saat volume dilampirkan ke instance.

1. Namun, ketika volume EBS terenkripsi terlepas dari instance EC2 , Amazon EBS menghapus kunci data dari perangkat keras Nitro. Lain kali volume EBS terenkripsi dilampirkan ke EC2 instance, lampiran gagal, karena Amazon EBS tidak dapat menggunakan kunci KMS untuk mendekripsi kunci data terenkripsi volume. Untuk menggunakan volume EBS lagi, Anda harus membuat kunci KMS dapat digunakan lagi.