

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

# Putar tombol secara manual
<a name="rotate-keys-manually"></a>

Anda mungkin ingin membuat kunci KMS baru dan menggunakannya sebagai pengganti kunci KMS saat ini alih-alih menggunakan rotasi kunci otomatis atau sesuai permintaan. Ketika kunci KMS baru memiliki bahan kriptografi yang berbeda dari kunci KMS saat ini, menggunakan kunci KMS baru memiliki efek yang sama seperti mengubah materi kunci dalam kunci KMS yang ada. Proses mengganti satu kunci KMS dengan yang lain dikenal sebagai *rotasi kunci manual*.

![\[Diagram showing manual key rotation process with application, old key, and new key.\]](http://docs.aws.amazon.com/id_id/kms/latest/developerguide/images/key-rotation-manual.png)


 [Rotasi manual adalah pilihan yang baik ketika Anda ingin memutar tombol KMS yang tidak memenuhi syarat untuk rotasi kunci otomatis atau sesuai permintaan, seperti kunci KMS asimetris, kunci KMS HMAC, dan kunci KMS di toko kunci khusus.](key-store-overview.md#custom-key-store-overview)

**catatan**  
Ketika Anda mulai menggunakan kunci KMS baru, pastikan untuk menjaga kunci KMS asli diaktifkan sehingga AWS KMS dapat mendekripsi data yang kunci KMS asli dienkripsi.

Saat Anda memutar tombol KMS secara manual, Anda juga perlu memperbarui referensi ke ID kunci KMS atau ARN kunci di aplikasi Anda. [Alias](kms-alias.md), yang mengaitkan nama ramah dengan kunci KMS, dapat membuat proses ini lebih mudah. Gunakan alias untuk merujuk ke kunci KMS di aplikasi Anda. Kemudian, ketika Anda ingin mengubah kunci KMS yang digunakan aplikasi, alih-alih mengedit kode aplikasi Anda, ubah kunci KMS target alias. Lihat perinciannya di [Pelajari cara menggunakan alias dalam aplikasi](alias-using.md).

**catatan**  
[https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html) Alias tidak diizinkan dalam operasi yang mengelola kunci KMS, seperti [DisableKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisableKey.html)atau. [ScheduleKeyDeletion](https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html)  
Saat memanggil operasi [Dekripsi](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) pada kunci KMS enkripsi simetris yang diputar secara manual, hilangkan parameter dari perintah. `KeyId` AWS KMS secara otomatis menggunakan kunci KMS yang mengenkripsi ciphertext.  
`KeyId`Parameter diperlukan saat memanggil `Decrypt` atau [Verifikasi](https://docs.aws.amazon.com/kms/latest/APIReference/API_Verify.html) dengan kunci KMS asimetris, atau memanggil [VerifyMac](https://docs.aws.amazon.com/kms/latest/APIReference/API_VerifyMac.html)dengan kunci HMAC KMS. Permintaan ini gagal ketika nilai `KeyId` parameter adalah alias yang tidak lagi menunjuk ke kunci KMS yang melakukan operasi kriptografi, seperti ketika kunci diputar secara manual. Untuk menghindari kesalahan ini, Anda harus melacak dan menentukan kunci KMS yang benar untuk setiap operasi.

Untuk mengubah kunci KMS target alias, gunakan [UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html)operasi di API. AWS KMS Misalnya, perintah ini memperbarui `alias/TestKey` alias untuk menunjuk ke kunci KMS baru. Karena operasi tidak mengembalikan output apa pun, contoh menggunakan [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html)operasi untuk menunjukkan bahwa alias sekarang dikaitkan dengan kunci KMS yang berbeda dan `LastUpdatedDate` bidang diperbarui. ListAliases Perintah menggunakan [`query`parameter](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html#cli-usage-filter-client-side-specific-values) dalam AWS CLI untuk mendapatkan hanya `alias/TestKey` alias.

```
$ aws kms list-aliases --query 'Aliases[?AliasName==`alias/TestKey`]'
{
    "Aliases": [
        {
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/TestKey",
            "AliasName": "alias/TestKey",
            "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab",
            "CreationDate": 1521097200.123,
            "LastUpdatedDate": 1521097200.123
        },
    ]
}


$ aws kms update-alias --alias-name alias/TestKey --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321
            
$ aws kms list-aliases --query 'Aliases[?AliasName==`alias/TestKey`]'
{
    "Aliases": [
        {
            "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/TestKey",
            "AliasName": "alias/TestKey",
            "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321",
            "CreationDate": 1521097200.123,
            "LastUpdatedDate": 1604958290.722
        },
    ]
}
```