

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

# Bekerja dengan AWS KMS keys
<a name="kms-keys"></a>

An AWS KMS key mengacu pada kunci logis yang mungkin merujuk ke satu atau lebih kunci dukungan modul keamanan perangkat keras (HSM) (HBKs). Topik ini menjelaskan cara membuat kunci KMS, mengimpor materi kunci, dan cara mengaktifkan, menonaktifkan, memutar, dan menghapus kunci KMS.

**catatan**  
AWS KMS mengganti istilah *customer master key (CMK)* dengan *AWS KMS key*dan kunci *KMS*. Konsepnya tidak berubah. Untuk mencegah perubahan yang melanggar, AWS KMS adalah menjaga beberapa variasi dari istilah ini.

Bab ini membahas siklus hidup kunci KMS dari pembuatan hingga penghapusan, seperti yang ditunjukkan pada gambar berikut.

![\[Siklus hidup kunci KMS.\]](http://docs.aws.amazon.com/id_id/kms/latest/cryptographic-details/images/keystate.png)


**Topics**
+ [Memanggil CreateKey](create-key.md)
+ [Mengimpor materi kunci](importing-key-material.md)
+ [Mengaktifkan dan menonaktifkan kunci](enable-and-disable-key.md)
+ [Menghapus kunci](key-deletion.md)
+ [Memutar bahan kunci](rotate-customer-master-key.md)

# Memanggil CreateKey
<a name="create-key"></a>

An AWS KMS key dihasilkan sebagai hasil dari panggilan ke panggilan [https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)API.

Berikut ini adalah bagian dari [sintaks `CreateKey` permintaan](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html#API_CreateKey_RequestSyntax).

```
{
  "Description": "string",
  "KeySpec": "string",
  "KeyUsage": "string",
  "Origin": "string";
  "Policy": "string"
}
```

Permintaan menerima data berikut dalam format JSON.

**Deskripsi**  
Deskripsi (Opsional) kunci. Kami menyarankan Anda memilih deskripsi yang membantu Anda memutuskan apakah kunci sesuai untuk tugas.

**KeySpec**  
Menentukan jenis kunci KMS untuk membuat. Nilai default, SYMMETRIC\$1DEFAULT, menciptakan kunci KMS enkripsi simetris. Parameter ini opsional untuk kunci enkripsi simetris, dan diperlukan untuk semua spesifikasi kunci lainnya.

**KeyUsage**  
Menentukan penggunaan kunci. Nilai yang valid adalah `ENCRYPT_DECRYPT`, `SIGN_VERIFY`, atau `GENERATE_VERIFY_MAC`. Nilai default-nya adalah `ENCRYPT_DECRYPT`. Parameter ini opsional untuk kunci enkripsi simetris, dan diperlukan untuk semua spesifikasi kunci lainnya.

** asal**  
(Opsional) Menentukan sumber bahan kunci untuk kunci KMS. Nilai defaultnya adalah`AWS_KMS`, yang menunjukkan bahwa AWS KMS menghasilkan dan mengelola materi kunci untuk kunci KMS. Nilai valid lainnya termasuk`EXTERNAL`, yang mewakili kunci KMS yang dibuat tanpa bahan kunci untuk [materi kunci yang diimpor](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html), dan `AWS_CLOUDHSM` yang membuat kunci KMS di [penyimpanan kunci khusus](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html) yang didukung oleh AWS CloudHSM cluster yang Anda kontrol.

**Kebijakan**  
Kebijakan (Opsional) untuk melampirkan ke kunci. Jika kebijakan dihilangkan, kunci dibuat dengan kebijakan default (berikut) yang memungkinkan akun root dan prinsipal IAM dengan izin untuk mengelolanya. AWS KMS 

Untuk detail tentang kebijakan, lihat [Kebijakan kunci di AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) dan [Kebijakan kunci default](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html) di *Panduan AWS Key Management Service Pengembang*.

`CreateKey`Permintaan mengembalikan [respons](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html#API_CreateKey_ResponseSyntax) yang menyertakan ARN kunci.

```
arn:<partition>:kms:<region>:<account-id>:key/<key-id>
```

Jika ya`AWS_KMS`, setelah ARN `Origin` dibuat, permintaan ke AWS KMS HSM dibuat melalui sesi yang diautentikasi untuk menyediakan kunci dukungan modul keamanan perangkat keras (HSM) (HBK). HBK adalah kunci 256-bit yang dikaitkan dengan ID kunci ini dari kunci KMS. Hal ini dapat dihasilkan hanya pada HSM dan dirancang tidak pernah diekspor di luar batas HSM di cleartext. HBK dienkripsi di bawah kunci domain saat ini, DK. 0 Ini dienkripsi HBKs disebut sebagai token kunci terenkripsi (). EKTs Meskipun HSMs dapat dikonfigurasi untuk menggunakan berbagai metode pembungkus kunci, implementasi saat ini menggunakan AES-256 dalam Galois Counter Mode (GCM), skema enkripsi yang diautentikasi. Mode enkripsi yang diautentikasi ini memungkinkan kami untuk melindungi beberapa metadata token kunci yang diekspor cleartext.

Ini secara gaya direpresentasikan sebagai:

```
EKT = Encrypt(DK0, HBK)
```

Dua bentuk perlindungan mendasar disediakan untuk kunci KMS Anda dan yang berikutnya HBKs: kebijakan otorisasi yang ditetapkan pada kunci KMS Anda dan perlindungan kriptografi pada Anda yang terkait. HBKs Bagian yang tersisa menjelaskan perlindungan kriptografi dan keamanan fungsi manajemen di. AWS KMS

*Selain ARN, Anda dapat membuat nama yang ramah pengguna dan mengaitkannya dengan kunci KMS dengan membuat alias untuk kunci tersebut.* Setelah alias dikaitkan dengan kunci KMS, alias dapat digunakan untuk mengidentifikasi kunci KMS dalam operasi kriptografi. Untuk informasi selengkapnya, lihat [Menggunakan alias](https://docs.aws.amazon.com/kms/latest/developerguide/kms-alias.html) di *Panduan AWS Key Management Service Pengembang*.

Beberapa tingkat otorisasi mengelilingi penggunaan kunci KMS. AWS KMS memungkinkan kebijakan otorisasi terpisah antara konten terenkripsi dan kunci KMS. Sebagai contoh, sebuah Amazon Simple Storage Service (Amazon S3) terenkripsi amplop AWS KMS mewarisi kebijakan pada bucket Amazon S3. Namun, akses ke kunci enkripsi yang diperlukan ditentukan oleh kebijakan akses pada kunci KMS. *Untuk informasi tentang otorisasi kunci KMS, lihat [Otentikasi dan kontrol akses untuk AWS KMS di Panduan Pengembang](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html)AWS Key Management Service .*

# Mengimpor materi kunci
<a name="importing-key-material"></a>

AWS KMS menyediakan mekanisme untuk mengimpor bahan kriptografi yang digunakan untuk HBK. Seperti dijelaskan dalam[Memanggil CreateKey](create-key.md), ketika CreateKey perintah digunakan dengan `Origin` set to`EXTERNAL`, kunci KMS logis dibuat yang tidak mengandung HBK yang mendasarinya. Materi kriptografi harus diimpor menggunakan panggilan [https://docs.aws.amazon.com/kms/latest/APIReference/API_ImportKeyMaterial.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_ImportKeyMaterial.html) API. Anda dapat menggunakan fitur ini untuk mengontrol penciptaan kunci dan daya tahan bahan kriptografi. Jika Anda menggunakan fitur ini, kami sarankan Anda berhati-hati dalam penanganan dan daya tahan tombol ini di lingkungan Anda. Untuk detail lengkap dan rekomendasi untuk mengimpor materi utama, lihat [Mengimpor materi utama di Panduan AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) *Pengembang*.

## Memanggil ImportKeyMaterial
<a name="importkeymaterial"></a>

Parameter permintaan `ImportKeyMaterial` mengimpor bahan kriptografi yang diperlukan untuk HBK tersebut. Materi kriptografi harus menjadi kunci simetris 256-bit. Materi tersebut harus dienkripsi menggunakan algoritma yang ditentukan dalam `WrappingAlgorithm` berdasarkan kunci publik yang dikembalikan dari permintaan [https://docs.aws.amazon.com/kms/latest/APIReference/API_GetParametersForImport.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetParametersForImport.html) terbaru.

[`ImportKeyMaterial`Permintaan](https://docs.aws.amazon.com/kms/latest/APIReference/API_ImportKeyMaterial.html#API_ImportKeyMaterial_RequestSyntax) mengambil argumen berikut.

```
{
  "EncryptedKeyMaterial": blob,
  "ExpirationModel": "string",
  "ImportToken": blob,
  "KeyId": "string",
  "ValidTo": number
}
```

**EncryptedKeyMaterial**  
Materi kunci yang diimpor yang dienkripsi dengan kunci publik dikembalikan dalam `GetParametersForImport` permintaan menggunakan algoritma pembungkus yang ditentukan dalam permintaan tersebut. 

**ExpirationModel**  
Menentukan apakah bahan kunci kedaluwarsa. Ketika nilai ini adalah `KEY_MATERIAL_EXPIRES`, parameter `ValidTo` harus berisi tanggal kedaluwarsa. Ketika nilai ini adalah `KEY_MATERIAL_DOES_NOT_EXPIRE`, jangan masukkan parameter `ValidTo`. Nilai yang valid adalah `"KEY_MATERIAL_EXPIRES"` dan `"KEY_MATERIAL_DOES_NOT_EXPIRE"`.

**ImportToken**  
Token impor dikembalikan oleh `GetParametersForImport` permintaan yang sama yang menyediakan kunci publik.

**KeyId**  
Kunci KMS yang akan dikaitkan dengan bahan kunci impor. Kunci KMS harus`EXTERNAL`. `Origin`  
Anda dapat menghapus dan mengimpor ulang materi kunci impor *yang sama* ke dalam kunci KMS yang ditentukan, tetapi Anda tidak dapat mengimpor atau mengaitkan kunci KMS materi kunci lainnya.

**ValidTo**  
(Opsional) Waktu kedaluawarsa bahan kunci yang diimpor. Ketika materi kunci kedaluwarsa, AWS KMS menghapus materi kunci dan kunci KMS menjadi tidak dapat digunakan. Parameter ini diperlukan ketika nilai `ExpirationModel` adalah`KEY_MATERIAL_EXPIRES`. Kalau tidak, itu tidak valid.

Ketika permintaan berhasil, kunci KMS tersedia untuk digunakan AWS KMS sampai tanggal kedaluwarsa yang ditentukan, jika ada yang disediakan. Setelah bahan kunci yang diimpor kedaluwarsa, EKT dihapus dari lapisan AWS KMS penyimpanan. 

# Mengaktifkan dan menonaktifkan kunci
<a name="enable-and-disable-key"></a>

Menonaktifkan kunci KMS mencegah kunci digunakan dalam operasi kriptografi. Ini menangguhkan kemampuan untuk menggunakan semua HBKs yang terkait dengan kunci KMS. Mengaktifkan mengembalikan penggunaan HBKs dan kunci KMS. [Aktifkan](https://docs.aws.amazon.com/kms/latest/APIReference/API_Enable.html) dan [Nonaktifkan](https://docs.aws.amazon.com/kms/latest/APIReference/API_Disable.html) adalah permintaan sederhana yang hanya mengambil ID kunci atau kunci ARN dari kunci KMS.

# Menghapus kunci
<a name="key-deletion"></a>

Pengguna yang berwenang dapat menggunakan [https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html)API untuk menjadwalkan penghapusan kunci KMS dan semua yang terkait. HBKs Ini adalah operasi yang merusak secara inheren, dan Anda harus berhati-hati saat menghapus kunci dari. AWS KMS AWS KMS memberlakukan waktu tunggu minimal tujuh hari saat menghapus kunci KMS. Selama masa tunggu kunci ditempatkan dalam keadaan nonaktif dengan keadaan kunci **Menunda Penghapusan**. Semua panggilan untuk menggunakan kunci untuk operasi kriptografi akan gagal. ScheduleKeyDeletion mengambil argumen berikut.

```
{
  "KeyId": "string",
  "PendingWindowInDays": number
}
```

**KeyId**  
Pengidentifikasi unik untuk kunci KMS untuk dihapus. Untuk menentukan nilai ini, gunakan ID kunci unik atau kunci ARN dari kunci KMS. 

** PendingWindowInDays**  
(Opsional) Masa tunggu, dalam jumlah hari. Nilai ini bersifat opsional. Kisarannya adalah 7-30 hari dan nilai default adalah 30 hari. Setelah masa tunggu berakhir, AWS KMS hapus kunci KMS dan semua yang terkait. HBKs

# Memutar bahan kunci
<a name="rotate-customer-master-key"></a>

Pengguna yang berwenang dapat mengaktifkan rotasi tahunan otomatis kunci KMS yang dikelola pelanggan mereka. Kunci yang dikelola AWS selalu diputar setiap tahun. 

Ketika kunci KMS diputar, HBK baru dibuat dan ditandai sebagai versi bahan kunci saat ini untuk semua permintaan enkripsi baru. Semua versi HBK sebelumnya tetap tersedia untuk digunakan selamanya untuk mendekripsi ciphertext apa pun yang dienkripsi menggunakan versi HBK ini. Karena AWS KMS tidak menyimpan ciphertext apa pun yang dienkripsi di bawah kunci KMS, ciphertext yang dienkripsi di bawah HBK yang lebih lama dan diputar mengharuskan HBK untuk mendekripsi. Anda dapat menggunakan [https://docs.aws.amazon.com/kms/latest/APIReference/API_ReEncrypt.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_ReEncrypt.html)API untuk mengenkripsi ulang ciphertext apa pun di bawah HBK baru untuk kunci KMS atau di bawah kunci KMS yang berbeda tanpa mengekspos plaintext.

*Untuk informasi tentang mengaktifkan dan menonaktifkan rotasi kunci, lihat Memutar kunci [AWS KMS di Panduan](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html) Pengembang.AWS Key Management Service *