View a markdown version of this page

AWS KMS contoh menggunakan AWS CLI - AWS Command Line Interface

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

AWS KMS contoh menggunakan AWS CLI

Contoh kode berikut menunjukkan cara melakukan tindakan dan menerapkan skenario umum dengan menggunakan AWS Command Line Interface with AWS KMS.

Tindakan merupakan kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Sementara tindakan menunjukkan cara memanggil fungsi layanan individual, Anda dapat melihat tindakan dalam konteks dalam skenario terkait.

Setiap contoh menyertakan tautan ke kode sumber lengkap, di mana Anda dapat menemukan instruksi tentang cara mengatur dan menjalankan kode dalam konteks.

Tindakan

Contoh kode berikut menunjukkan cara menggunakancancel-key-deletion.

AWS CLI

Untuk membatalkan penghapusan terjadwal kunci KMS yang dikelola pelanggan

cancel-key-deletionContoh berikut membatalkan penghapusan terjadwal kunci KMS yang dikelola pelanggan.

aws kms cancel-key-deletion \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "KeyId": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" }

Ketika cancel-key-deletion perintah berhasil, penghapusan yang dijadwalkan dibatalkan. Namun, status kunci dari kunci KMS adalahDisabled, jadi Anda tidak dapat menggunakan kunci KMS dalam operasi kriptografi. Untuk mengembalikan fungsinya, gunakan enable-key perintah.

Untuk informasi selengkapnya, lihat Men jadwalkan dan membatalkan penghapusan AWS kunci di Panduan Pengembang Layanan Manajemen Kunci.

Contoh kode berikut menunjukkan cara menggunakanconnect-custom-key-store.

AWS CLI

Untuk menghubungkan penyimpanan kunci khusus

connect-custom-key-storeContoh berikut menghubungkan kembali penyimpanan kunci kustom yang ditentukan. Anda dapat menggunakan perintah seperti ini untuk menghubungkan penyimpanan kunci khusus untuk pertama kalinya atau untuk menyambungkan kembali penyimpanan kunci yang terputus.

Anda dapat menggunakan perintah ini untuk menghubungkan penyimpanan kunci AWS CloudHSM atau penyimpanan kunci eksternal.

aws kms connect-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0

Perintah ini tidak memberikan output apa pun. Untuk memverifikasi bahwa perintah itu efektif, gunakan describe-custom-key-stores perintah.

Untuk informasi tentang menghubungkan penyimpanan kunci AWS CloudHSM, lihat Menghubungkan dan memutuskan penyimpanan kunci AWS CloudHSM di Panduan Pengembang Layanan Manajemen K AWS unci.

Untuk informasi tentang menghubungkan penyimpanan kunci eksternal, lihat Mengh ubungkan dan memutuskan penyimpanan kunci eksternal di Panduan Pengembang Layanan Manajemen Kunci. AWS

Contoh kode berikut menunjukkan cara menggunakancreate-alias.

AWS CLI

Cara membuat alias untuk kunci KMS

Per create-alias intah berikut membuat alias yang dinamai example-alias untuk kunci KMS yang diidentifikasi oleh ID 1234abcd-12ab-34cd-56ef-1234567890ab kunci.

Nama alias harus dimulai denganalias/. Jangan gunakan nama alias yang dimulai denganalias/aws; ini dicadangkan untuk digunakan oleh AWS.

aws kms create-alias \ --alias-name alias/example-alias \ --target-key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Perintah ini tidak mengembalikan output apa pun. Untuk melihat alias baru, gunakan list-aliases perintah.

Untuk informasi selengkapnya, lihat Menggunakan alias di Panduan Pengembang Layanan Manajemen Kunci. AWS

  • Untuk detail API, lihat CreateAlias di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakancreate-custom-key-store.

AWS CLI

Contoh 1: Untuk membuat penyimpanan kunci AWS CloudHSM

create-custom-key-storeContoh berikut membuat penyimpanan kunci AWS CloudHSM yang didukung oleh cluster AWS CloudHSM menggunakan parameter yang diperlukan. Anda juga dapat menambahkancustom-key-store-type``parameter with the default value: ``AWS_CLOUDHSM.

Untuk menentukan input file untuk trust-anchor-certificate perintah di AWS CLI, file:// awalan diperlukan.

aws kms create-custom-key-store \ --custom-key-store-name ExampleCloudHSMKeyStore \ --cloud-hsm-cluster-id cluster-1a23b4cdefg \ --key-store-password kmsPswd \ --trust-anchor-certificate file://customerCA.crt

Output:

{ "CustomKeyStoreId": cks-1234567890abcdef0 }

Untuk informasi selengkapnya, lihat Membuat penyimpanan kunci AWS CloudHSM di Panduan Pengembang Layanan Manajemen K AWS unci.

Contoh 2: Untuk membuat penyimpanan kunci eksternal dengan konektivitas titik akhir publik

create-custom-key-storeContoh berikut membuat penyimpanan kunci eksternal (XKS) yang berkomunikasi dengan AWS KMS melalui internet.

Dalam contoh ini, XksProxyUriPath menggunakan awalan opsional dariexample-prefix.

CATATAN: Jika Anda menggunakan AWS CLI versi 1.0, jalankan perintah berikut sebelum menentukan parameter dengan nilai HTTP atau HTTPS, seperti XksProxyUriEndpoint parameter.

aws configure set cli_follow_urlparam false

Jika tidak, AWS CLI versi 1.0 menggantikan nilai parameter dengan konten yang ditemukan di alamat URI tersebut.

aws kms create-custom-key-store \ --custom-key-store-name ExamplePublicEndpointXKS \ --custom-key-store-type EXTERNAL_KEY_STORE \ --xks-proxy-connectivity PUBLIC_ENDPOINT \ --xks-proxy-uri-endpoint "https://myproxy.xks.example.com" \ --xks-proxy-uri-path "/example-prefix/kms/xks/v1" \ --xks-proxy-authentication-credential "AccessKeyId=ABCDE12345670EXAMPLE, RawSecretAccessKey=DXjSUawnel2fr6SKC7G25CNxTyWKE5PF9XX6H/u9pSo="

Output:

{ "CustomKeyStoreId": cks-2234567890abcdef0 }

Untuk informasi selengkapnya, lihat Membuat penyimpanan kunci eksternal di Panduan Pengembang Layanan Manajemen Kunci. AWS

Contoh 3: Untuk membuat penyimpanan kunci eksternal dengan konektivitas layanan titik akhir VPC

create-custom-key-storeContoh berikut membuat penyimpanan kunci eksternal (XKS) yang menggunakan layanan titik akhir Amazon VPC untuk berkomunikasi dengan AWS KMS.

CATATAN: Jika Anda menggunakan AWS CLI versi 1.0, jalankan perintah berikut sebelum menentukan parameter dengan nilai HTTP atau HTTPS, seperti XksProxyUriEndpoint parameter.

aws configure set cli_follow_urlparam false

Jika tidak, AWS CLI versi 1.0 menggantikan nilai parameter dengan konten yang ditemukan di alamat URI tersebut.

aws kms create-custom-key-store \ --custom-key-store-name ExampleVPCEndpointXKS \ --custom-key-store-type EXTERNAL_KEY_STORE \ --xks-proxy-connectivity VPC_ENDPOINT_SERVICE \ --xks-proxy-uri-endpoint "https://myproxy-private.xks.example.com" \ --xks-proxy-uri-path "/kms/xks/v1" \ --xks-proxy-vpc-endpoint-service-name "com.amazonaws.vpce.us-east-1.vpce-svc-example1" \ --xks-proxy-authentication-credential "AccessKeyId=ABCDE12345670EXAMPLE, RawSecretAccessKey=DXjSUawnel2fr6SKC7G25CNxTyWKE5PF9XX6H/u9pSo="

Output:

{ "CustomKeyStoreId": cks-3234567890abcdef0 }

Untuk informasi selengkapnya, lihat Membuat penyimpanan kunci eksternal di Panduan Pengembang Layanan Manajemen Kunci. AWS

Contoh kode berikut menunjukkan cara menggunakancreate-grant.

AWS CLI

Untuk membuat hibah

create-grantContoh berikut membuat hibah yang memungkinkan exampleUser pengguna untuk menggunakan decrypt perintah pada 1234abcd-12ab-34cd-56ef-1234567890ab contoh kunci KMS. Kepala sekolah yang pensiun adalah perannyaadminRole. Hibah menggunakan batasan pemberian EncryptionContextSubset untuk mengizinkan izin ini hanya jika konteks enkripsi dalam decrypt permintaan menyertakan pasangan kunci "Department": "IT" -nilai.

aws kms create-grant \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::123456789012:user/exampleUser \ --operations Decrypt \ --constraints EncryptionContextSubset={Department=IT} \ --retiring-principal arn:aws:iam::123456789012:role/adminRole

Output:

{ "GrantId": "1a2b3c4d2f5e69f440bae30eaec9570bb1fb7358824f9ddfa1aa5a0dab1a59b2", "GrantToken": "<grant token here>" }

Untuk melihat informasi terperinci tentang hibah, gunakan list-grants perintah.

Untuk informasi selengkapnya, lihat Hibah di AWS KMS di Panduan Pengembang Layanan Manajemen AWS Utama.

  • Untuk detail API, lihat CreateGrant di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakancreate-key.

AWS CLI

Contoh 1: Untuk membuat kunci KMS yang dikelola pelanggan di AWS KMS

create-keyContoh berikut membuat kunci KMS enkripsi simetris.

Untuk membuat kunci KMS dasar, kunci enkripsi simetris, Anda tidak perlu menentukan parameter apa pun. Nilai default untuk parameter tersebut membuat kunci enkripsi simetris.

Karena perintah ini tidak menentukan kebijakan kunci, kunci KMS mendapatkan kebijakan kunci default untuk kunci KMS yang dibuat secara terprogram. Untuk melihat kebijakan kunci, gunakan get-key-policy perintah. Untuk mengubah kebijakan kunci, gunakan put-key-policy perintah.

aws kms create-key

Per create-key intah mengembalikan metadata kunci, termasuk ID kunci dan ARN dari kunci KMS baru. Anda dapat menggunakan nilai-nilai ini untuk mengidentifikasi kunci KMS dalam operasi AWS KMS lainnya. Output tidak termasuk tag. Untuk melihat tag untuk kunci KMS, gunakan. list-resource-tags command

Output:

{ "KeyMetadata": { "AWSAccountId": "111122223333", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": "2017-07-05T14:04:55-07:00", "CurrentKeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "Description": "", "Enabled": true, "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": false, "Origin": "AWS_KMS" "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }

Catatan: create-key Perintah tidak memungkinkan Anda menentukan alias, Untuk membuat alias untuk kunci KMS baru, gunakan create-alias perintah.

Untuk informasi selengkapnya, lihat Membuat kunci di Panduan Pengembang Layanan Manajemen Kunci. AWS

Contoh 2: Untuk membuat kunci RSA KMS asimetris untuk enkripsi dan dekripsi

create-keyContoh berikut membuat kunci KMS yang berisi pasangan kunci RSA asimetris untuk enkripsi dan dekripsi. Spesifikasi kunci dan penggunaan kunci tidak dapat diubah setelah kunci dibuat. :

aws kms create-key \ --key-spec RSA_4096 \ --key-usage ENCRYPT_DECRYPT

Output:

{ "KeyMetadata": { "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": "2021-04-05T14:04:55-07:00", "CustomerMasterKeySpec": "RSA_4096", "Description": "", "Enabled": true, "EncryptionAlgorithms": [ "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256" ], "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "RSA_4096", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": false, "Origin": "AWS_KMS" } }

Untuk informasi selengkapnya, lihat K unci asimetris di AWS KMS di Panduan Pengembang Layanan Manajemen K AWS unci.

Contoh 3: Untuk membuat kunci KMS kurva elips asimetris untuk penandatanganan dan verifikasi

Untuk membuat kunci KMS asimetris yang berisi pasangan kunci kurva elips asimetris (ECC) untuk penandatanganan dan verifikasi. --key-usageParameter diperlukan meskipun SIGN_VERIFY merupakan satu-satunya nilai yang valid untuk kunci ECC KMS. Spesifikasi kunci dan penggunaan kunci tidak dapat diubah setelah kunci dibuat. :

aws kms create-key \ --key-spec ECC_NIST_P521 \ --key-usage SIGN_VERIFY

Output:

{ "KeyMetadata": { "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": "2019-12-02T07:48:55-07:00", "CustomerMasterKeySpec": "ECC_NIST_P521", "Description": "", "Enabled": true, "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "ECC_NIST_P521", "KeyState": "Enabled", "KeyUsage": "SIGN_VERIFY", "MultiRegion": false, "Origin": "AWS_KMS", "SigningAlgorithms": [ "ECDSA_SHA_512" ] } }

Untuk informasi selengkapnya, lihat K unci asimetris di AWS KMS di Panduan Pengembang Layanan Manajemen K AWS unci.

Contoh 4: Untuk membuat kunci ML-DSA KMS asimetris untuk penandatanganan dan verifikasi

Contoh ini membuat kunci algoritma tanda tangan digital (ML-DSA) module-kisi untuk penandatanganan dan verifikasi. Parameter penggunaan kunci diperlukan meskipun SIGN_VERIFY merupakan satu-satunya nilai yang valid untuk ML-DSA kunci.

aws kms create-key \ --key-spec ML_DSA_65 \ --key-usage SIGN_VERIFY

Output:

{ "KeyMetadata": { "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": "2019-12-02T07:48:55-07:00", "Description": "", "Enabled": true, "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "ML_DSA_65", "KeyState": "Enabled", "KeyUsage": "SIGN_VERIFY", "MultiRegion": false, "Origin": "AWS_KMS", "SigningAlgorithms": [ "ML_DSA_SHAKE_256" ] } }

Untuk informasi selengkapnya, lihat K unci asimetris di AWS KMS di Panduan Pengembang Layanan Manajemen K AWS unci.

Contoh 5: Untuk membuat kunci HMAC KMS

create-keyContoh berikut membuat kunci KMS HMAC 384-bit. GENERATE_VERIFY_MACNilai untuk --key-usage parameter diperlukan meskipun itu adalah satu-satunya nilai yang valid untuk kunci HMAC KMS.

aws kms create-key \ --key-spec HMAC_384 \ --key-usage GENERATE_VERIFY_MAC

Output:

{ "KeyMetadata": { "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": "2022-04-05T14:04:55-07:00", "CustomerMasterKeySpec": "HMAC_384", "Description": "", "Enabled": true, "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "HMAC_384", "KeyState": "Enabled", "KeyUsage": "GENERATE_VERIFY_MAC", "MacAlgorithms": [ "HMAC_SHA_384" ], "MultiRegion": false, "Origin": "AWS_KMS" } }

Untuk informasi selengkapnya, lihat kunci HMAC di AWS KMS di Panduan Pengembang Layanan Manajemen K AWS unci.

Contoh 6: Untuk membuat kunci KMS utama Multi-wilayah

create-keyContoh berikut membuat kunci enkripsi simetris primer Multi-wilayah. Karena nilai default untuk semua parameter membuat kunci enkripsi simetris, hanya --multi-region parameter yang diperlukan untuk kunci KMS ini. Dalam AWS CLI, untuk menunjukkan bahwa parameter Boolean benar, cukup tentukan nama parameter.

aws kms create-key \ --multi-region

Output:

{ "KeyMetadata": { "Arn": "arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef12345678990ab", "AWSAccountId": "111122223333", "CreationDate": "2021-09-02T016:15:21-09:00", "CurrentKeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "Description": "", "Enabled": true, "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "KeyId": "mrk-1234abcd12ab34cd56ef12345678990ab", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": true, "MultiRegionConfiguration": { "MultiRegionKeyType": "PRIMARY", "PrimaryKey": { "Arn": "arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef12345678990ab", "Region": "us-west-2" }, "ReplicaKeys": [] }, "Origin": "AWS_KMS" } }

Untuk informasi selengkapnya, lihat K unci asimetris di AWS KMS di Panduan Pengembang Layanan Manajemen K AWS unci.

Contoh 7: Untuk membuat kunci KMS untuk bahan kunci yang diimpor

create-keyContoh berikut membuat kunci KMS tanpa bahan kunci. Ketika operasi selesai, Anda dapat mengimpor materi kunci Anda sendiri ke kunci KMS. Untuk membuat kunci KMS ini, atur --origin parameter keEXTERNAL.

aws kms create-key \ --origin EXTERNAL

Output:

{ "KeyMetadata": { "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": "2019-12-02T07:48:55-07:00", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "Description": "", "Enabled": false, "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "PendingImport", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": false, "Origin": "EXTERNAL" } }

Untuk informasi selengkapnya, lihat Mengimpor materi kunci di kunci AWS KMS di Panduan Pengembang Layanan Manajemen Kunci. AWS

Contoh 6: Untuk membuat kunci KMS di penyimpanan kunci AWS CloudHSM

create-keyContoh berikut membuat kunci KMS di penyimpanan kunci AWS CloudHSM yang ditentukan. Operasi membuat kunci KMS dan metadatanya di AWS KMS dan membuat materi kunci di cluster AWS CloudHSM yang terkait dengan penyimpanan kunci khusus. Parameter --custom-key-store-id dan --origin diperlukan.

aws kms create-key \ --origin AWS_CLOUDHSM \ --custom-key-store-id cks-1234567890abcdef0

Output:

{ "KeyMetadata": { "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CloudHsmClusterId": "cluster-1a23b4cdefg", "CreationDate": "2019-12-02T07:48:55-07:00", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "CustomKeyStoreId": "cks-1234567890abcdef0", "Description": "", "Enabled": true, "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": false, "Origin": "AWS_CLOUDHSM" } }

Untuk informasi selengkapnya, lihat AWS penyimpanan kunci CloudHSM di Panduan Pengembang Layanan Manajemen K AWS unci.

Contoh 8: Untuk membuat kunci KMS di penyimpanan kunci eksternal

create-keyContoh berikut membuat kunci KMS di penyimpanan kunci eksternal yang ditentukan. --xks-key-idParam --custom-key-store-id eter--origin,, dan diperlukan dalam perintah ini.

--xks-key-idParameter menentukan ID kunci enkripsi simetris yang ada di pengelola kunci eksternal Anda. Kunci ini berfungsi sebagai bahan kunci eksternal untuk kunci KMS.Nilai --origin parameter harusEXTERNAL_KEY_STORE. custom-key-store-id Parameter harus mengidentifikasi penyimpanan kunci eksternal yang terhubung ke proxy penyimpanan kunci eksternalnya.

aws kms create-key \ --origin EXTERNAL_KEY_STORE \ --custom-key-store-id cks-9876543210fedcba9 \ --xks-key-id bb8562717f809024

Output:

{ "KeyMetadata": { "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": "2022-12-02T07:48:55-07:00", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "CustomKeyStoreId": "cks-9876543210fedcba9", "Description": "", "Enabled": true, "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": false, "Origin": "EXTERNAL_KEY_STORE", "XksKeyConfiguration": { "Id": "bb8562717f809024" } } }

Untuk informasi selengkapnya, lihat Penyimpanan kunci eksternal di AWS Panduan Pengembang Layanan Manajemen Kunci.

  • Untuk detail API, lihat CreateKey di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakandecrypt.

AWS CLI

Contoh 1: Untuk mendekripsi pesan terenkripsi dengan kunci KMS simetris (Linux dan macOS)

Contoh decrypt perintah berikut menunjukkan cara yang disarankan untuk mendekripsi data dengan AWS CLI. Versi ini menunjukkan cara mendekripsi data di bawah kunci KMS simetris.

Berikan ciphertext dalam file.Dalam nilai --ciphertext-blob parameter, gunakan fileb:// awalan, yang memberitahu CLI untuk membaca data dari file biner. Jika file tidak ada di direktori saat ini, ketik path lengkap ke file. Untuk informasi selengkapnya tentang membaca nilai parameter AWS CLI dari file, lihat Memuat parameter AWS CLI dari file < https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-file.html > di Panduan Pengguna Antarmuka Baris Per AWS intah dan Praktik Terbaik untuk Parameter File Lokal< https://aws.amazon.com/blogs/developer/best-practices-for-local-file-parameters/ > di Blog Alat Baris Perintah .Tentukan kunci KMS untuk mendekripsi ciphertext.Param --key-id eter tidak diperlukan saat mendekripsi dengan kunci KMS simetris. AWS AWS KMS bisa mendapatkan ID kunci dari kunci KMS yang digunakan untuk mengenkripsi data dari metadata dalam ciphertext. Tetapi selalu merupakan praktik terbaik untuk menentukan kunci KMS yang Anda gunakan. Praktik ini memastikan bahwa Anda menggunakan kunci KMS yang Anda inginkan, dan mencegah Anda mendekripsi ciphertext secara tidak sengaja menggunakan kunci KMS yang tidak Anda percayai.Minta keluaran plaintext sebagai nilai teks. --query Parameter memberitahu CLI untuk hanya mendapatkan nilai bidang dari output. Plaintext --outputParameter mengembalikan output sebagai teks. Base64-decode plaintext dan simpan dalam file. Contoh berikut menyalurkan (|) nilai Plaintext parameter ke utilitas Base64, yang menerjemahkannya. Kemudian, itu mengalihkan (>) output yang didekodekan ke file. ExamplePlaintext

Sebelum menjalankan perintah ini, ganti ID kunci contoh dengan ID kunci yang valid dari AWS akun Anda.

aws kms decrypt \ --ciphertext-blob fileb://ExampleEncryptedFile \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --output text \ --query Plaintext | base64 \ --decode > ExamplePlaintextFile

Perintah ini tidak menghasilkan output. Output dari decrypt perintah didekodekan base64 dan disimpan dalam file.

Untuk informasi selengkapnya, lihat Mendekripsi di AWS Referensi API Layanan Manajemen Kunci.

Contoh 2: Untuk mendekripsi pesan terenkripsi dengan kunci KMS simetris (prompt perintah Windows)

Contoh berikut adalah sama dengan yang sebelumnya kecuali bahwa ia menggunakan certutil utilitas untuk Base64-decode data plaintext. Prosedur ini membutuhkan dua perintah, seperti yang ditunjukkan pada contoh berikut.

Sebelum menjalankan perintah ini, ganti ID kunci contoh dengan ID kunci yang valid dari AWS akun Anda.

aws kms decrypt ^ --ciphertext-blob fileb://ExampleEncryptedFile ^ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab ^ --output text ^ --query Plaintext > ExamplePlaintextFile.base64

Jalankan perintah certutil.

certutil -decode ExamplePlaintextFile.base64 ExamplePlaintextFile

Output:

Input Length = 18 Output Length = 12 CertUtil: -decode command completed successfully.

Untuk informasi selengkapnya, lihat Mendekripsi di AWS Referensi API Layanan Manajemen Kunci.

Contoh 3: Untuk mendekripsi pesan terenkripsi dengan kunci KMS asimetris (Linux dan macOS)

Contoh decrypt perintah berikut menunjukkan cara mendekripsi data yang dienkripsi di bawah kunci KMS asimetris RSA.

Saat menggunakan kunci KMS asimetris, encryption-algorithm parameter, yang menentukan algoritma yang digunakan untuk mengenkripsi plaintext, diperlukan.

Sebelum menjalankan perintah ini, ganti ID kunci contoh dengan ID kunci yang valid dari AWS akun Anda.

aws kms decrypt \ --ciphertext-blob fileb://ExampleEncryptedFile \ --key-id 0987dcba-09fe-87dc-65ba-ab0987654321 \ --encryption-algorithm RSAES_OAEP_SHA_256 \ --output text \ --query Plaintext | base64 \ --decode > ExamplePlaintextFile

Perintah ini tidak menghasilkan output. Output dari decrypt perintah didekodekan base64 dan disimpan dalam file.

Untuk informasi selengkapnya, lihat K unci asimetris di AWS KMS di Panduan Pengembang Layanan Manajemen K AWS unci.

  • Untuk detail API, lihat Men dekripsi di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakandelete-alias.

AWS CLI

Untuk menghapus alias AWS KMS

delete-aliasContoh berikut menghapus aliasalias/example-alias. Nama alias harus dimulai dengan alias/.

aws kms delete-alias \ --alias-name alias/example-alias

Perintah ini tidak menghasilkan output. Untuk menemukan alias, gunakan list-aliases perintah.

Untuk informasi selengkapnya, lihat Menghapus alias di Panduan Pengembang Layanan Manajemen Kunci. AWS

  • Untuk detail API, lihat DeleteAlias di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakandelete-custom-key-store.

AWS CLI

Untuk menghapus penyimpanan kunci khusus

delete-custom-key-storeContoh berikut menghapus penyimpanan kunci khusus yang ditentukan.

Menghapus penyimpanan kunci AWS CloudHSM tidak berpengaruh pada cluster CloudHSM terkait. Menghapus penyimpanan kunci eksternal tidak berpengaruh pada proxy penyimpanan kunci eksternal terkait, pengelola kunci eksternal, atau kunci eksternal.

CATATAN: Sebelum Anda dapat menghapus penyimpanan kunci khusus, Anda harus menjadwalkan penghapusan semua kunci KMS di penyimpanan kunci khusus dan kemudian menunggu kunci KMS tersebut dihapus. Kemudian, Anda harus memutuskan penyimpanan kunci khusus. Untuk bantuan menemukan kunci KMS di penyimpanan kunci kustom Anda, lihat Mengh apus penyimpanan kunci (API) AWS CloudHSM di Panduan Pengembang Layanan Manajemen K AWS unci.

delete-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0

Perintah ini tidak memberikan output apa pun. Untuk memverifikasi bahwa penyimpanan kunci khusus dihapus, gunakan describe-custom-key-stores perintah.

Untuk informasi tentang menghapus penyimpanan kunci AWS CloudHSM, lihat Menghapus penyimpanan kunci AWS CloudHSM di Panduan Pengembang Layanan Manajemen K AWS unci.

Untuk informasi tentang menghapus penyimpanan kunci eksternal, lihat Menghapus penyimpanan kunci eksternal di Panduan Pengembang Layanan Manajemen Kunci. AWS

Contoh kode berikut menunjukkan cara menggunakandelete-imported-key-material.

AWS CLI

Untuk menghapus materi kunci yang diimpor dari kunci KMS

delete-imported-key-materialContoh berikut menghapus materi kunci yang telah diimpor ke kunci KMS.

aws kms delete-imported-key-material \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6" }

Untuk informasi selengkapnya, lihat Menghapus materi kunci yang diimpor di AWS Panduan Pengembang Layanan Manajemen Kunci.

Contoh kode berikut menunjukkan cara menggunakanderive-shared-secret.

AWS CLI

Untuk mendapatkan rahasia bersama

derive-shared-secretContoh berikut memperoleh rahasia bersama menggunakan algoritma perjanjian kunci.

Anda harus menggunakan pasangan kunci KMS NIST-recommended kurva elips asimetris (ECC) atau SM2 (hanya Wilayah China) dengan KeyUsage nilai untuk memanggil. KEY_AGREEMENT DeriveSharedSecret

aws kms derive-shared-secret \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-agreement-algorithm ECDH \ --public-key "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvH3Yj0wbkLEpUl95Cv1cJVjsVNSjwGq3tCLnzXfhVwVvmzGN8pYj3U8nKwgouaHbBWNJYjP5VutbbkKS4Kv4GojwZBJyHN17kmxo8yTjRmjR15SKIQ8cqRA2uaERMLnpztIXdZp232PQPbWGxDyXYJ0aJ5EFSag"

Output:

{ "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "SharedSecret": "MEYCIQCKZLWyTk5runarx6XiAkU9gv3lbwPO/pHa+DXFehzdDwIhANwpsIV2g/9SPWLLsF6p/hiSskuIXMTRwqrMdVKWTMHG", "KeyAgreementAlgorithm": "ECDH", "KeyOrigin": "AWS_KMS" }

Untuk informasi selengkapnya, lihat DeriveSharedSecret Refer AWS ensi API Layanan Manajemen Kunci.

Contoh kode berikut menunjukkan cara menggunakandescribe-custom-key-stores.

AWS CLI

Contoh 1: Untuk mendapatkan detail tentang penyimpanan kunci AWS CloudHSM

describe-custom-key-storeContoh berikut menampilkan detail tentang penyimpanan kunci AWS CloudHSM yang ditentukan. Perintah ini sama untuk semua jenis penyimpanan kunci khusus, tetapi outputnya berbeda dengan jenis penyimpanan kunci dan, untuk penyimpanan kunci eksternal, opsi konektivitasnya.

Secara default, perintah ini menampilkan informasi tentang semua penyimpanan kunci khusus di akun dan Wilayah. Untuk menampilkan informasi tentang penyimpanan kunci khusus tertentu, gunakan custom-key-store-id parameter custom-key-store-name atau.

aws kms describe-custom-key-stores \ --custom-key-store-name ExampleCloudHSMKeyStore

Output dari perintah ini mencakup detail yang berguna tentang penyimpanan kunci AWS CloudHSM termasuk status koneksi ()ConnectionState. Jika status koneksi adalahFAILED, output menyertakan ConnectionErrorCode bidang yang menjelaskan masalah.

Output:

{ "CustomKeyStores": [ { "CloudHsmClusterId": "cluster-1a23b4cdefg", "ConnectionState": "CONNECTED", "CreationDate": "2022-04-05T14:04:55-07:00", "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleExternalKeyStore", "TrustAnchorCertificate": "<certificate appears here>" } ] }

Untuk informasi selengkapnya, lihat Melihat AWS penyimpanan kunci CloudHSM di Panduan Pengembang Layanan Manajemen K AWS unci.

Contoh 2: Untuk mendapatkan detail tentang penyimpanan kunci eksternal dengan konektivitas titik akhir publik

describe-custom-key-storeContoh berikut menampilkan detail tentang penyimpanan kunci eksternal yang ditentukan. Perintah ini sama untuk semua jenis penyimpanan kunci khusus, tetapi outputnya berbeda dengan jenis penyimpanan kunci dan, untuk penyimpanan kunci eksternal, opsi konektivitasnya.

Secara default, perintah ini menampilkan informasi tentang semua penyimpanan kunci khusus di akun dan Wilayah. Untuk menampilkan informasi tentang penyimpanan kunci khusus tertentu, gunakan custom-key-store-id parameter custom-key-store-name atau.

aws kms describe-custom-key-stores \ --custom-key-store-id cks-9876543210fedcba9

Output dari perintah ini mencakup detail yang berguna tentang penyimpanan kunci eksternal termasuk status koneksi (ConnectionState). Jika status koneksi adalahFAILED, output menyertakan ConnectionErrorCode bidang yang menjelaskan masalah.

Output:

{ "CustomKeyStores": [ { "CustomKeyStoreId": "cks-9876543210fedcba9", "CustomKeyStoreName": "ExampleXKS", "ConnectionState": "CONNECTED", "CreationDate": "2022-12-02T07:48:55-07:00", "CustomKeyStoreType": "EXTERNAL_KEY_STORE", "XksProxyConfiguration": { "AccessKeyId": "ABCDE12345670EXAMPLE", "Connectivity": "PUBLIC_ENDPOINT", "UriEndpoint": "https://myproxy.xks.example.com", "UriPath": "/example-prefix/kms/xks/v1" } } ] }

Untuk informasi selengkapnya, lihat Melihat penyimpanan kunci eksternal di Panduan Pengembang Layanan Manajemen Kunci. AWS

Contoh 3: Untuk mendapatkan detail tentang penyimpanan kunci eksternal dengan konektivitas layanan titik akhir VPC

describe-custom-key-storeContoh berikut menampilkan detail tentang penyimpanan kunci eksternal yang ditentukan. Perintah ini sama untuk semua jenis penyimpanan kunci khusus, tetapi outputnya berbeda dengan jenis penyimpanan kunci dan, untuk penyimpanan kunci eksternal, opsi konektivitasnya.

Secara default, perintah ini menampilkan informasi tentang semua penyimpanan kunci khusus di akun dan Wilayah. Untuk menampilkan informasi tentang penyimpanan kunci khusus tertentu, gunakan custom-key-store-id parameter custom-key-store-name atau.

aws kms describe-custom-key-stores \ --custom-key-store-id cks-2234567890abcdef0

Output dari perintah ini mencakup detail yang berguna tentang penyimpanan kunci eksternal termasuk status koneksi (ConnectionState). Jika status koneksi adalahFAILED, output menyertakan ConnectionErrorCode bidang yang menjelaskan masalah.

Output:

{ "CustomKeyStores": [ { "CustomKeyStoreId": "cks-3234567890abcdef0", "CustomKeyStoreName": "ExampleVPCExternalKeyStore", "ConnectionState": "CONNECTED", "CreationDate": "2022-12-22T07:48:55-07:00", "CustomKeyStoreType": "EXTERNAL_KEY_STORE", "XksProxyConfiguration": { "AccessKeyId": "ABCDE12345670EXAMPLE", "Connectivity": "VPC_ENDPOINT_SERVICE", "UriEndpoint": "https://myproxy-private.xks.example.com", "UriPath": "/kms/xks/v1", "VpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-example1" } } ] }

Untuk informasi selengkapnya, lihat Melihat penyimpanan kunci eksternal di Panduan Pengembang Layanan Manajemen Kunci. AWS

Contoh kode berikut menunjukkan cara menggunakandescribe-key.

AWS CLI

Contoh 1: Untuk menemukan informasi terperinci tentang kunci KMS

describe-keyContoh berikut mendapatkan informasi terperinci tentang kunci AWS terkelola untuk Amazon S3 dalam contoh akun dan Wilayah. Anda dapat menggunakan perintah ini untuk menemukan detail tentang kunci ter AWS kelola dan kunci yang dikelola pelanggan.

Untuk menentukan kunci KMS, gunakan key-id parameter. Contoh ini menggunakan nilai nama alias, tetapi Anda dapat menggunakan ID kunci, kunci ARN, nama alias, atau alias ARN dalam perintah ini.

aws kms describe-key \ --key-id alias/aws/s3

Output:

{ "KeyMetadata": { "AWSAccountId": "846764612917", "KeyId": "b8a9477d-836c-491f-857e-07937918959b", "Arn": "arn:aws:kms:us-west-2:846764612917:key/b8a9477d-836c-491f-857e-07937918959b", "CurrentKeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", "CreationDate": 2017-06-30T21:44:32.140000+00:00, "Enabled": true, "Description": "Default KMS key that protects my S3 objects when no other key is defined", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "Origin": "AWS_KMS", "KeyManager": "AWS", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }

Untuk informasi selengkapnya, lihat Melihat AWS kunci di Panduan Pengembang Layanan Manajemen Kunci.

Contoh 2: Untuk mendapatkan detail tentang kunci KMS asimetris RSA

describe-keyContoh berikut mendapatkan informasi rinci tentang kunci KMS RSA asimetris yang digunakan untuk penandatanganan dan verifikasi.

aws kms describe-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "KeyMetadata": { "AWSAccountId": "111122223333", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": "2019-12-02T19:47:14.861000+00:00", "CustomerMasterKeySpec": "RSA_2048", "Enabled": false, "Description": "", "KeyState": "Disabled", "Origin": "AWS_KMS", "MultiRegion": false, "KeyManager": "CUSTOMER", "KeySpec": "RSA_2048", "KeyUsage": "SIGN_VERIFY", "SigningAlgorithms": [ "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512" ] } }

Contoh 3: Untuk mendapatkan detail tentang kunci replika multi-wilayah

describe-keyContoh berikut mendapatkan metadata untuk kunci replika multi-wilayah. Kunci multi-wilayah ini adalah kunci enkripsi simetris. Output describe-key perintah untuk setiap kunci Multi-wilayah mengembalikan informasi tentang kunci utama dan semua replika.

aws kms describe-key \ --key-id arn:aws:kms:ap-northeast-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab

Output:

{ "KeyMetadata": { "MultiRegion": true, "AWSAccountId": "111122223333", "Arn": "arn:aws:kms:ap-northeast-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "CreationDate": "2021-06-28T21:09:16.114000+00:00", "CurrentKeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", "Description": "", "Enabled": true, "KeyId": "mrk-1234abcd12ab34cd56ef1234567890ab", "KeyManager": "CUSTOMER", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "Origin": "AWS_KMS", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "MultiRegionConfiguration": { "MultiRegionKeyType": "PRIMARY", "PrimaryKey": { "Arn": "arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "us-west-2" }, "ReplicaKeys": [ { "Arn": "arn:aws:kms:eu-west-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "eu-west-1" }, { "Arn": "arn:aws:kms:ap-northeast-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "ap-northeast-1" }, { "Arn": "arn:aws:kms:sa-east-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "sa-east-1" } ] } } }

Contoh 4: Untuk mendapatkan detail tentang kunci HMAC KMS

describe-keyContoh berikut mendapatkan informasi rinci tentang kunci HMAC KMS.

aws kms describe-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "KeyMetadata": { "AWSAccountId": "123456789012", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Arn": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": "2022-04-03T22:23:10.194000+00:00", "Enabled": true, "Description": "Test key", "KeyUsage": "GENERATE_VERIFY_MAC", "KeyState": "Enabled", "Origin": "AWS_KMS", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "HMAC_256", "MacAlgorithms": [ "HMAC_SHA_256" ], "MultiRegion": false } }
  • Untuk detail API, lihat DescribeKey di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakandisable-key-rotation.

AWS CLI

Untuk menonaktifkan rotasi otomatis kunci KMS

disable-key-rotationContoh berikut menonaktifkan rotasi otomatis kunci KMS yang dikelola pelanggan. Untuk mengaktifkan kembali rotasi otomatis, gunakan enable-key-rotation perintah.

aws kms disable-key-rotation \ --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

Perintah ini tidak menghasilkan output. Untuk memverifikasi bahwa rotasi otomatis dinonaktifkan untuk kunci KMS, gunakan get-key-rotation-status perintah.

Untuk informasi selengkapnya, lihat Memutar AWS kunci di Panduan Pengembang Layanan Manajemen Kunci.

Contoh kode berikut menunjukkan cara menggunakandisable-key.

AWS CLI

Untuk menonaktifkan sementara kunci KMS

Per disable-key intah berikut menonaktifkan kunci KMS yang dikelola pelanggan. Untuk mengaktifkan kembali kunci KMS, gunakan perintah. enable-key

aws kms disable-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Mengaktifkan dan Menonaktifkan K AWS unci di Panduan Pengembang Layanan Manajemen Kunci.

  • Untuk detail API, lihat DisableKey di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakandisconnect-custom-key-store.

AWS CLI

Untuk memutuskan sambungan penyimpanan kunci khusus

disconnect-custom-key-storeContoh berikut memutuskan penyimpanan kunci khusus dari cluster AWS CloudHSM-nya. Anda dapat memutuskan penyimpanan kunci untuk memecahkan masalah, memperbarui pengaturannya, atau mencegah kunci KMS di keystore digunakan dalam operasi kriptografi.

Perintah ini sama untuk semua penyimpanan kunci khusus, termasuk penyimpanan kunci AWS CloudHSM dan penyimpanan kunci eksternal.

Sebelum menjalankan perintah ini, ganti contoh ID penyimpanan kunci kustom dengan yang valid.

$ aws kms disconnect-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0

Perintah ini tidak menghasilkan keluaran. verifikasi bahwa perintah itu efektif, gunakan describe-custom-key-stores perintah.

Untuk informasi selengkapnya tentang memutuskan sambungan penyimpanan kunci AWS CloudHSM, lihat Mengh ubungkan dan memutuskan penyimpanan kunci AWS CloudHSM di Panduan Pengembang Layanan Manajemen Kunci. AWS

Untuk informasi selengkapnya tentang memutuskan sambungan penyimpanan kunci eksternal, lihat Menghubungkan dan memutuskan penyimpanan kunci eksternal di Panduan Pengembang Layanan Manajemen K AWS unci.

Contoh kode berikut menunjukkan cara menggunakanenable-key-rotation.

AWS CLI

Untuk mengaktifkan rotasi otomatis kunci KMS

enable-key-rotationContoh berikut memungkinkan rotasi otomatis kunci KMS yang dikelola pelanggan dengan periode rotasi 180 hari. Kunci KMS akan dirotasi satu tahun (perkiraan 365 hari) sejak tanggal perintah ini selesai dan setiap tahun setelahnya.

--key-idParameter mengidentifikasi kunci KMS. Contoh ini menggunakan nilai ARN kunci, tetapi Anda dapat menggunakan ID kunci atau ARN dari kunci KMS. --rotation-period-in-days Parameter menentukan jumlah hari antara setiap tanggal rotasi. Tentukan nilai antara 90 dan 2560 hari. Jika tidak ada nilai yang ditentukan, nilai defaultnya adalah 365 hari.

aws kms enable-key-rotation \ --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab \ --rotation-period-in-days 180

Perintah ini tidak menghasilkan output. Untuk memverifikasi bahwa kunci KMS diaktifkan, gunakan get-key-rotation-status perintah.

Untuk informasi selengkapnya, lihat Memutar AWS kunci di Panduan Pengembang Layanan Manajemen Kunci.

Contoh kode berikut menunjukkan cara menggunakanenable-key.

AWS CLI

Untuk mengaktifkan kunci KMS

enable-keyContoh berikut mengaktifkan kunci yang dikelola pelanggan. Anda dapat menggunakan perintah seperti ini untuk mengaktifkan kunci KMS yang Anda nonaktifkan sementara dengan menggunakan disable-key perintah. Anda juga dapat menggunakannya untuk mengaktifkan kunci KMS yang dinonaktifkan karena dijadwalkan untuk dihapus dan penghapusan dibatalkan.

Untuk menentukan kunci KMS, gunakan key-id parameter. Contoh ini menggunakan nilai ID kunci, tetapi Anda dapat menggunakan ID kunci atau nilai ARN kunci dalam perintah ini.

Sebelum menjalankan perintah ini, ganti ID kunci contoh dengan yang valid.

aws kms enable-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Perintah ini tidak menghasilkan output. Untuk memverifikasi bahwa kunci KMS diaktifkan, gunakan describe-key perintah. Lihat nilai Enabled bidang KeyState dan dalam describe-key output.

Untuk informasi selengkapnya, lihat Mengaktifkan dan Menonaktifkan K AWS unci di Panduan Pengembang Layanan Manajemen Kunci.

  • Untuk detail API, lihat EnableKey di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanencrypt.

AWS CLI

Contoh 1: Untuk mengenkripsi konten file di Linux atau macOS

Per encrypt intah berikut menunjukkan cara yang disarankan untuk mengenkripsi data dengan AWS CLI.

aws kms encrypt \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --plaintext fileb://ExamplePlaintextFile \ --output text \ --query CiphertextBlob | base64 \ --decode > ExampleEncryptedFile

Perintah melakukan beberapa hal:

Menggunakan --plaintext parameter untuk menunjukkan data yang akan dienkripsi. Nilai parameter ini harus base64-encoded.Nilai plaintext parameter harus dikodekan base64, atau Anda harus menggunakan fileb:// awalan, yang memberitahu AWS CLI untuk membaca data biner dari file.Jika file tidak ada di direktori saat ini, ketik path lengkap ke file. Misalnya: fileb:///var/tmp/ExamplePlaintextFile atau fileb://C:\Temp\ExamplePlaintextFile. Untuk informasi selengkapnya tentang membaca nilai parameter AWS CLI dari file, lihat Memu at Parameter dari File di Panduan Pengguna Antarmuka Baris Per AWS intah dan Praktik Terbaik untuk Parameter File Lokal pada Alat Blog.Uses Baris Per AWS intah --output dan --query parameter untuk mengontrol output perintah.Parameter ini mengekstrak data terenkripsi, yang disebut ciphertext, dari output perintah.Untuk informasi selengkapnya tentang mengendalikan keluaran, lihat Mengontrol Output Perintah dalam Panduan AWS Pengguna Antarmuka Baris Perintah. Menggunakan base64 utilitas untuk memecahkan kode output yang diekstraksi menjadi data biner.Teks ciphertext yang dikembalikan oleh perintah yang berhasil adalah teks yang dikodekan base64. encrypt Anda harus memecahkan kode teks ini sebelum Anda dapat menggunakan AWS CLI untuk mendekripsinya. Menyimpan ciphertext biner ke file.Bagian terakhir dari perintah (> ExampleEncryptedFile) menyimpan ciphertext biner ke file untuk membuat dekripsi lebih mudah. Untuk contoh perintah yang menggunakan AWS CLI untuk mendekripsi data, lihat contoh dekripsi.

Contoh 2: Menggunakan AWS CLI untuk mengenkripsi data pada Windows

Contoh ini sama dengan yang sebelumnya, kecuali bahwa ia menggunakan certutil alat sebagai gantinyabase64. Prosedur ini membutuhkan dua perintah, seperti yang ditunjukkan pada contoh berikut.

aws kms encrypt \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --plaintext fileb://ExamplePlaintextFile \ --output text \ --query CiphertextBlob > C:\Temp\ExampleEncryptedFile.base64 certutil -decode C:\Temp\ExampleEncryptedFile.base64 C:\Temp\ExampleEncryptedFile

Contoh 3: Mengenkripsi dengan kunci KMS asimetris

Per encrypt intah berikut menunjukkan cara mengenkripsi plaintext dengan kunci KMS asimetris. parameter --encryption-algorithm diperlukan. Seperti pada semua perintah encrypt CLI, plaintext parameter harus dikodekan base64, atau Anda harus menggunakan fileb:// awalan, yang memberitahu AWS CLI untuk membaca data biner dari file.

aws kms encrypt \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --encryption-algorithm RSAES_OAEP_SHA_256 \ --plaintext fileb://ExamplePlaintextFile \ --output text \ --query CiphertextBlob | base64 \ --decode > ExampleEncryptedFile

Perintah ini tidak menghasilkan output.

  • Untuk detail API, lihat Enkripsi di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakangenerate-data-key-pair-without-plaintext.

AWS CLI

Untuk menghasilkan pasangan kunci data asimetris ECC NIST P384

generate-data-key-pair-without-plaintextContoh berikut meminta pasangan kunci ECC NIST P384 untuk digunakan di luar. AWS

Perintah mengembalikan kunci publik plaintext dan salinan kunci pribadi yang dienkripsi di bawah kunci KMS yang ditentukan. Itu tidak mengembalikan kunci pribadi plaintext. Anda dapat dengan aman menyimpan kunci pribadi terenkripsi dengan data terenkripsi, dan memang AWS gil KMS untuk mendekripsi kunci pribadi ketika Anda perlu menggunakannya.

Untuk meminta pasangan kunci data asimetris ECC NIST P384, gunakan key-pair-spec parameter dengan nilai. ECC_NIST_P384

Kunci KMS yang Anda tentukan harus berupa kunci KMS enkripsi simetris, yaitu kunci KMS dengan nilai. KeySpec SYMMETRIC_DEFAULT

CATATAN: Nilai dalam output contoh ini dipotong untuk ditampilkan.

aws kms generate-data-key-pair-without-plaintext \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-pair-spec ECC_NIST_P384

Output:

{ "PrivateKeyCiphertextBlob": "AQIDAHi6LtupRpdKl2aJTzkK6FbhOtQkMlQJJH3PdtHvS/y+hAFFxmiD134doUDzMGmfCEtcAAAHaTCCB2UGCSqGSIb3DQEHBqCCB1...", "PublicKey": "MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA3A3eGMyPrvSn7+LdlJE1oUoQV5HpEuHAVbdOyND+NmYDH/mL1OSIEuLrcdZ5hrMH4pk83r40l...", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", "KeyPairSpec": "ECC_NIST_P384" }

PublicKeyDan PrivateKeyCiphertextBlob dikembalikan dalam format base64 yang dikodekan.

Untuk informasi selengkapnya, lihat Pasangan kunci data di AWS Panduan Pengembang Layanan Manajemen Kunci.

Contoh kode berikut menunjukkan cara menggunakangenerate-data-key-pair.

AWS CLI

Untuk menghasilkan pasangan kunci data asimetris RSA 2048-bit

generate-data-key-pairContoh berikut meminta pasangan kunci data asimetris RSA 2048-bit untuk digunakan di luar. AWS Perintah mengembalikan kunci publik plaintext dan kunci pribadi plaintext untuk penggunaan dan penghapusan segera, dan salinan kunci pribadi yang dienkripsi di bawah kunci KMS yang ditentukan. Anda dapat menyimpan kunci pribadi terenkripsi dengan aman dengan data terenkripsi.

Untuk meminta pasangan kunci data asimetris RSA 2048-bit, gunakan key-pair-spec parameter dengan nilai. RSA_2048

Kunci KMS yang Anda tentukan harus berupa kunci KMS enkripsi simetris, yaitu kunci KMS dengan nilai. KeySpec SYMMETRIC_DEFAULT

CATATAN: Nilai dalam output contoh ini dipotong untuk ditampilkan.

aws kms generate-data-key-pair \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-pair-spec RSA_2048

Output:

{ "PrivateKeyCiphertextBlob": "AQIDAHi6LtupRpdKl2aJTzkK6FbhOtQkMlQJJH3PdtHvS/y+hAFFxmiD134doUDzMGmfCEtcAAAHaTCCB2UGCSqGSIb3DQEHBqCCB1...", "PrivateKeyPlaintext": "MIIG/QIBADANBgkqhkiG9w0BAQEFAASCBucwggbjAgEAAoIBgQDcDd4YzI+u9Kfv4t2UkTWhShBXkekS4cBVt07I0P42ZgMf+YvU5IgS4ut...", "PublicKey": "MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA3A3eGMyPrvSn7+LdlJE1oUoQV5HpEuHAVbdOyND+NmYDH/mL1OSIEuLrcdZ5hrMH4pk83r40l...", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6" "KeyPairSpec": "RSA_2048" }

PublicKey,PrivateKeyPlaintext, dan dikembalikan dalam PrivateKeyCiphertextBlob format yang dikodekan base64.

Untuk informasi selengkapnya, lihat Pasangan kunci data di AWS Panduan Pengembang Layanan Manajemen Kunci.

Contoh kode berikut menunjukkan cara menggunakangenerate-data-key-without-plaintext.

AWS CLI

Untuk menghasilkan kunci data simetris 256-bit tanpa kunci plaintext

generate-data-key-without-plaintextContoh berikut meminta salinan terenkripsi dari kunci data simetris 256-bit untuk digunakan di luar. AWS Anda dapat memang AWS gil KMS untuk mendekripsi kunci data ketika Anda siap menggunakannya.

Untuk meminta kunci data 256-bit, gunakan key-spec parameter dengan nilai. AES_256 Untuk meminta kunci data 128-bit, gunakan key-spec parameter dengan nilai. AES_128 Untuk semua panjang kunci data lainnya, gunakan number-of-bytes parameter.

Kunci KMS yang Anda tentukan harus berupa kunci KMS enkripsi simetris, yaitu kunci KMS dengan nilai spesifikasi kunci SYMMETRIC_DEFAULT.

aws kms generate-data-key-without-plaintext \ --key-id "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" \ --key-spec AES_256

Output:

{ "CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogL", "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6" }

CiphertextBlob(Kunci data terenkripsi) dikembalikan dalam format yang dikodekan base64.

Untuk informasi selengkapnya, lihat Kunci data di AWS Panduan Pengembang Layanan Manajemen Kunci.

Contoh kode berikut menunjukkan cara menggunakangenerate-data-key.

AWS CLI

Contoh 1: Untuk menghasilkan kunci data simetris 256-bit

generate-data-keyContoh berikut meminta kunci data simetris 256-bit untuk digunakan di luar. AWS Perintah mengembalikan kunci data plaintext untuk penggunaan dan penghapusan segera, dan salinan kunci data yang dienkripsi di bawah kunci KMS yang ditentukan. Anda dapat menyimpan kunci data terenkripsi dengan aman dengan data terenkripsi.

Untuk meminta kunci data 256-bit, gunakan key-spec parameter dengan nilai. AES_256 Untuk meminta kunci data 128-bit, gunakan key-spec parameter dengan nilai. AES_128 Untuk semua panjang kunci data lainnya, gunakan number-of-bytes parameter.

Kunci KMS yang Anda tentukan harus berupa kunci KMS enkripsi simetris, yaitu kunci KMS dengan nilai spesifikasi kunci SYMMETRIC_DEFAULT.

aws kms generate-data-key \ --key-id alias/ExampleAlias \ --key-spec AES_256

Output:

{ "Plaintext": "VdzKNHGzUAzJeRBVY+uUmofUGGiDzyB3+i9fVkh3piw=", "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6", "CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogLqPWZconQhwHAIBEIA7d9AC7GeJJM34njQvg4Wf1d5sw0NIo1MrBqZa+YdhV8MrkBQPeac0ReRVNDt9qleAt+SHgIRF8P0H+7U=" }

Plaintext(kunci data plaintext) dan CiphertextBlob (kunci data terenkripsi) dikembalikan dalam format yang dikodekan base64.

Untuk informasi selengkapnya, lihat Kunci data di AWS Panduan Pengembang Layanan Manajemen Kunci. Contoh 2: Untuk menghasilkan kunci data simetris 512-bit

generate-data-keyContoh berikut meminta kunci data simetris 512-bit untuk enkripsi dan dekripsi. Perintah mengembalikan kunci data plaintext untuk penggunaan dan penghapusan segera, dan salinan kunci data yang dienkripsi di bawah kunci KMS yang ditentukan. Anda dapat menyimpan kunci data terenkripsi dengan aman dengan data terenkripsi.

Untuk meminta panjang kunci selain 128 atau 256 bit, gunakan number-of-bytes parameter. Untuk meminta kunci data 512-bit, contoh berikut menggunakan number-of-bytes parameter dengan nilai 64 (byte).

Kunci KMS yang Anda tentukan harus berupa kunci KMS enkripsi simetris, yaitu kunci KMS dengan nilai spesifikasi kunci SYMMETRIC_DEFAULT.

CATATAN: Nilai dalam output contoh ini dipotong untuk ditampilkan.

aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --number-of-bytes 64

Output:

{ "CiphertextBlob": "AQIBAHi6LtupRpdKl2aJTzkK6FbhOtQkMlQJJH3PdtHvS/y+hAEnX/QQNmMwDfg2korNMEc8AAACaDCCAmQGCSqGSIb3DQEHBqCCAlUwggJRAgEAMIICSgYJKoZ...", "Plaintext": "ty8Lr0Bk6OF07M2BWt6qbFdNB+G00ZLtf5MSEb4al3R2UKWGOp06njAwy2n72VRm2m7z/Pm9Wpbvttz6a4lSo9hgPvKhZ5y6RTm4OovEXiVfBveyX3DQxDzRSwbKDPk/...", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6" }

Plaintext(kunci data plaintext) dan CiphertextBlob (kunci data terenkripsi) dikembalikan dalam format yang dikodekan base64.

Untuk informasi selengkapnya, lihat Kunci data di AWS Panduan Pengembang Layanan Manajemen Kunci.

Contoh kode berikut menunjukkan cara menggunakangenerate-mac.

AWS CLI

Contoh 1: Untuk menghasilkan HMAC untuk pesan

Per generate-mac intah berikut menghasilkan HMAC untuk pesan, kunci HMAC KMS, dan algoritma MAC. Algoritma harus didukung oleh kunci HMAC KMS yang ditentukan.

Dalam AWS CLI v2, nilai message parameter harus Base64-encoded. Atau, Anda dapat menyimpan pesan dalam file dan menggunakan fileb:// awalan, yang memberitahu AWS CLI untuk membaca data biner dari file.

Sebelum menjalankan perintah ini, ganti contoh ID kunci dengan ID kunci yang valid dari AWS akun Anda. ID kunci harus mewakili kunci HMAC KMS dengan penggunaan kunci. GENERATE_VERIFY_MAC

msg=(echo 'Hello World' | base64) aws kms generate-mac \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --message fileb://Message \ --mac-algorithm HMAC_SHA_384

Output:

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Mac": "<HMAC_TAG>", "MacAlgorithm": "HMAC_SHA_384" }

Untuk informasi selengkapnya tentang menggunakan kunci HMAC KMS di AWS KMS, lihat kunci HMAC di AWS KMS di Panduan Pengembang Layanan Manajemen K AWS unci.

Contoh 2: Untuk menyimpan HMAC dalam file (Linux dan macOS)

generate-macContoh berikut menghasilkan HMAC untuk pesan singkat yang disimpan dalam file lokal. Perintah juga mendapatkan Mac properti dari respons, Base64-decodes itu dan menyimpannya dalam ExampleMac file. Anda dapat menggunakan file MAC dalam verify-mac perintah yang memverifikasi MAC.

Per generate-mac intah ini memerlukan Base64-encoded pesan dan algoritma MAC yang didukung kunci HMAC KMS Anda. Untuk mendapatkan algoritma MAC yang didukung kunci KMS Anda, gunakan describe-key perintah.

Sebelum menjalankan perintah ini, ganti contoh ID kunci dengan ID kunci yang valid dari AWS akun Anda. ID kunci harus mewakili kunci KMS asimetris dengan penggunaan kunci GENERATE_VERIFY_MAC.

echo 'hello world' | base64 > EncodedMessage aws kms generate-mac \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --message fileb://EncodedMessage \ --mac-algorithm HMAC_SHA_384 \ --output text \ --query Mac | base64 --decode > ExampleMac

Perintah ini tidak menghasilkan output. Contoh ini mengekstrak Mac properti output dan menyimpannya dalam file.

Untuk informasi selengkapnya tentang menggunakan kunci HMAC KMS di AWS KMS, lihat kunci HMAC di AWS KMS di Panduan Pengembang Layanan Manajemen K AWS unci.

  • Untuk detail API, lihat GenerateMac di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakangenerate-random.

AWS CLI

Contoh 1: Untuk menghasilkan string byte acak 256-bit (Linux atau macOS)

generate-randomContoh berikut menghasilkan string byte acak 256-bit (32-byte) yang dikodekan base64. Contoh menerjemahkan string byte dan menyimpannya dalam file acak.

Ketika Anda menjalankan perintah ini, Anda harus menggunakan number-of-bytes parameter untuk menentukan panjang nilai acak dalam byte.

Anda tidak menentukan kunci KMS saat menjalankan perintah ini. String byte acak tidak terkait dengan kunci KMS apa pun.

Secara default, AWS KMS menghasilkan angka acak. Namun, jika Anda menentukan penyimpanan kunci khusus, string byte acak dihasilkan di cluster AWS CloudHSM yang terkait dengan penyimpanan kunci khusus.

Contoh ini menggunakan parameter dan nilai berikut:

Ini menggunakan --number-of-bytes parameter yang diperlukan dengan nilai 32 untuk meminta string 32-byte (256-bit). Ini menggunakan --output parameter dengan nilai untuk mengarahkan AWS CLI text untuk mengembalikan output sebagai teks, alih-alih JSON.It menggunakan untuk mengekstrak nilai Plaintext properti dari response.IT pipe (|) output dari perintah --query parameter ke base64 utilitas, yang memecahkan kode output yang diekstraksi.Ini menggunakan operator pengalihan (>) untuk menyimpan string byte yang didekode ke file e.it menggunakan operator pengalihan (> ExampleRandom ) untuk menyimpan ciphertext biner ke file.

aws kms generate-random \ --number-of-bytes 32 \ --output text \ --query Plaintext | base64 --decode > ExampleRandom

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat GenerateRandom Refer AWS ensi API Layanan Manajemen Kunci.

Contoh 2: Untuk menghasilkan angka acak 256-bit (Windows Command Prompt)

Contoh berikut menggunakan generate-random perintah untuk menghasilkan string byte acak 256-bit (32-byte), base64 yang dikodekan. Contoh menerjemahkan string byte dan menyimpannya dalam file acak. Contoh ini sama dengan contoh sebelumnya, kecuali bahwa ia menggunakan certutil utilitas di Windows untuk base64-decode string byte acak sebelum menyimpannya dalam file.

Pertama, buat string byte acak yang dikodekan base64 dan menyimpannya dalam file sementara,. ExampleRandom.base64

aws kms generate-random \ --number-of-bytes 32 \ --output text \ --query Plaintext > ExampleRandom.base64

Karena output generate-random perintah disimpan dalam file, contoh ini tidak menghasilkan output.

Sekarang gunakan certutil -decode perintah untuk memecahkan kode string byte yang dikodekan base64 dalam file. ExampleRandom.base64 Kemudian, ia menyimpan string byte yang didekodekan dalam ExampleRandom file.

certutil -decode ExampleRandom.base64 ExampleRandom

Output:

Input Length = 18 Output Length = 12 CertUtil: -decode command completed successfully.

Untuk informasi selengkapnya, lihat GenerateRandom Refer AWS ensi API Layanan Manajemen Kunci.

Contoh kode berikut menunjukkan cara menggunakanget-key-policy.

AWS CLI

Untuk menyalin kebijakan kunci dari satu kunci KMS ke kunci KMS lainnya

get-key-policyContoh berikut mendapatkan kebijakan kunci dari satu kunci KMS dan menyimpannya dalam file teks. Kemudian, ia menggantikan kebijakan kunci KMS yang berbeda menggunakan file teks sebagai input kebijakan.

Karena --policy parameter put-key-policy membutuhkan string, Anda harus menggunakan --output text opsi untuk mengembalikan output sebagai string teks alih-alih JSON.

aws kms get-key-policy \ --policy-name default \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --query Policy \ --output text > policy.txt aws kms put-key-policy \ --policy-name default \ --key-id 0987dcba-09fe-87dc-65ba-ab0987654321 \ --policy file://policy.txt

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat PutKeyPolicy di Refer ensi API AWS KMS.

  • Untuk detail API, lihat GetKeyPolicy di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanget-key-rotation-status.

AWS CLI

Untuk mengambil status rotasi untuk kunci KMS.

get-key-rotation-statusContoh berikut mengembalikan informasi tentang status rotasi kunci KMS yang ditentukan, termasuk apakah rotasi otomatis diaktifkan, periode rotasi, dan tanggal rotasi terjadwal berikutnya. Anda dapat menggunakan perintah ini pada kunci KMS yang dikelola pelanggan dan kunci KMS AWS terkelola. Namun, semua kunci KMS yang AWS dikelola secara otomatis diputar setiap tahun.

aws kms get-key-rotation-status \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyRotationEnabled": true, "NextRotationDate": "2024-02-14T18:14:33.587000+00:00", "RotationPeriodInDays": 365 }

Untuk informasi selengkapnya, lihat Memutar AWS kunci di Panduan Pengembang Layanan Manajemen Kunci.

Contoh kode berikut menunjukkan cara menggunakanget-parameters-for-import.

AWS CLI

Untuk mendapatkan item yang diperlukan untuk mengimpor materi kunci ke kunci KMS

get-parameters-for-importContoh berikut mendapatkan kunci publik dan token impor yang Anda butuhkan untuk mengimpor materi kunci ke kunci KMS. Saat Anda menggunakan import-key-material perintah, pastikan untuk menggunakan token impor dan materi kunci yang dienkripsi oleh kunci publik yang dikembalikan dalam get-parameters-for-import perintah yang sama. Juga, algoritma pembungkus yang Anda tentukan dalam perintah ini harus salah satu yang Anda gunakan untuk mengenkripsi materi kunci dengan kunci publik.

Untuk menentukan kunci KMS, gunakan key-id parameter. Contoh ini menggunakan ID kunci, tetapi Anda dapat menggunakan ID kunci atau kunci ARN dalam perintah ini.

aws kms get-parameters-for-import \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --wrapping-algorithm RSAES_OAEP_SHA_256 \ --wrapping-key-spec RSA_2048

Output:

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "PublicKey": "<public key base64 encoded data>", "ImportToken": "<import token base64 encoded data>", "ParametersValidTo": 1593893322.32 }

Untuk informasi selengkapnya, lihat Meng unduh kunci publik dan token impor di Panduan Pengembang Layanan Manajemen Kunci. AWS

Contoh kode berikut menunjukkan cara menggunakanget-public-key.

AWS CLI

Contoh 1: Untuk mengunduh kunci publik dari kunci KMS asimetris

get-public-keyContoh berikut mengunduh kunci publik dari kunci KMS asimetris.

Selain mengembalikan kunci publik, output mencakup informasi yang Anda perlukan untuk menggunakan kunci publik dengan aman di luar AWS KMS, termasuk penggunaan kunci dan algoritma enkripsi yang didukung.

aws kms get-public-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "PublicKey": "jANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAl5epvg1/QtJhxSi2g9SDEVg8QV/...", "CustomerMasterKeySpec": "RSA_4096", "KeyUsage": "ENCRYPT_DECRYPT", "EncryptionAlgorithms": [ "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256" ] }

Untuk informasi selengkapnya tentang menggunakan kunci KMS asimetris di AWS KMS, lihat Kunci asimetris di AWS KMS di Panduan Pengembang Layanan Manajemen K AWS unci. Contoh 2: Untuk mengonversi kunci publik ke format DER (Linux dan macOS)

get-public-keyContoh berikut mengunduh kunci publik dari kunci KMS asimetris dan menyimpannya dalam file DER.

Ketika Anda menggunakan get-public-key perintah di AWS CLI, ia mengembalikan kunci DER-encoded X.509 publik yaitu Base64-encoded. Contoh ini mendapatkan nilai PublicKey properti sebagai teks. Itu Base64-decodes PublicKey dan menyimpannya dalam public_key.der file. outputParameter mengembalikan output sebagai teks, bukan JSON. --queryParameter hanya mendapatkan PublicKey properti, bukan properti yang Anda butuhkan untuk menggunakan kunci publik dengan aman di luar AWS KMS.

Sebelum menjalankan perintah ini, ganti contoh ID kunci dengan ID kunci yang valid dari AWS akun Anda.

aws kms get-public-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --output text \ --query PublicKey | base64 --decode > public_key.der

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya tentang menggunakan kunci KMS asimetris di AWS KMS, lihat Kunci asimetris di AWS KMS di Panduan Pengembang Layanan Manajemen K AWS unci.

  • Untuk detail API, lihat GetPublicKey di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanimport-key-material.

AWS CLI

Untuk mengimpor materi kunci ke kunci KMS

import-key-materialContoh berikut mengunggah materi kunci ke kunci KMS yang dibuat tanpa materi kunci. Status kunci dari kunci KMS harusPendingImport.

Perintah ini menggunakan materi kunci yang Anda enkripsi dengan kunci publik yang dikembalikan get-parameters-for-import perintah. Ini juga menggunakan token impor dari get-parameters-for-import perintah yang sama.

expiration-modelParameter menunjukkan bahwa materi kunci secara otomatis kedaluwarsa pada tanggal dan waktu yang ditentukan oleh valid-to parameter. Ketika materi kunci kedaluwar AWS sa, KMS menghapus materi kunci, status kunci kunci KMS berubah menjadi Pending import dan kunci KMS menjadi tidak dapat digunakan. Untuk mengembalikan kunci KMS, Anda harus mengimpor kembali materi kunci yang sama. Untuk menggunakan bahan kunci yang berbeda, Anda harus membuat kunci KMS baru.

Sebelum menjalankan perintah ini, ganti contoh ID kunci dengan ID kunci yang valid atau kunci ARN dari AWS akun Anda.

aws kms import-key-material \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --encrypted-key-material fileb://EncryptedKeyMaterial.bin \ --import-token fileb://ImportToken.bin \ --expiration-model KEY_MATERIAL_EXPIRES \ --valid-to 2021-09-21T19:00:00Z

Output:

{ "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyMaterialId": "0b7fd7ddbac6eef27907413567cad8c810e2883dc8a7534067a82ee1142fc1e6" }

Untuk informasi selengkapnya tentang mengimpor materi kunci, lihat Mengimpor Materi K AWS unci di Panduan Pengembang Layanan Manajemen Kunci.

Contoh kode berikut menunjukkan cara menggunakanlist-aliases.

AWS CLI

Contoh 1: Untuk membuat daftar semua alias di AWS akun dan Wilayah

Contoh berikut menggunakan list-aliases perintah untuk mencantumkan semua alias di Wilayah default AWS akun. Outputnya mencakup alias yang terkait dengan kunci KMS AWS terkelola dan kunci KMS yang dikelola pelanggan.

aws kms list-aliases

Output:

{ "Aliases": [ { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/testKey", "AliasName": "alias/testKey", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" }, { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/FinanceDept", "AliasName": "alias/FinanceDept", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321" }, { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/dynamodb", "AliasName": "alias/aws/dynamodb", "TargetKeyId": "1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d" }, { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/ebs", "AliasName": "alias/aws/ebs", "TargetKeyId": "0987ab65-43cd-21ef-09ab-87654321cdef" }, ... ] }

Contoh 2: Untuk membuat daftar semua alias untuk kunci KMS tertentu

Contoh berikut menggunakan list-aliases perintah dan key-id parameternya untuk mencantumkan semua alias yang terkait dengan kunci KMS tertentu.

Setiap alias hanya dikaitkan dengan satu kunci KMS, tetapi kunci KMS dapat memiliki beberapa alias. Perintah ini sangat berguna karena konsol AWS KMS hanya mencantumkan satu alias untuk setiap kunci KMS. Untuk menemukan semua alias untuk kunci KMS, Anda harus menggunakan perintahlist-aliases.

Contoh ini menggunakan ID kunci dari kunci KMS untuk --key-id parameter, tetapi Anda dapat menggunakan ID kunci, kunci ARN, nama alias, atau alias ARN dalam perintah ini.

aws kms list-aliases --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "Aliases": [ { "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/oregon-test-key", "AliasName": "alias/oregon-test-key" }, { "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/project121-test", "AliasName": "alias/project121-test" } ] }

Untuk informasi selengkapnya, lihat Bekerja dengan Alias di Panduan Pengembang Layanan Manajemen Kunci. AWS

  • Untuk detail API, lihat ListAliases di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanlist-grants.

AWS CLI

Untuk melihat hibah pada kunci AWS KMS

list-grantsContoh berikut menampilkan semua hibah pada kunci KMS terkel AWS ola yang ditentukan untuk Amazon DynamoDB di akun Anda. Hibah ini memungkinkan DynamoDB menggunakan kunci KMS atas nama Anda untuk mengenkripsi tabel DynamoDB sebelum menuliskannya ke disk. Anda dapat menggunakan perintah seperti ini untuk melihat hibah pada kunci KMS terkel AWS ola dan kunci KMS yang dikelola pelanggan di AWS akun dan Wilayah.

Perintah ini menggunakan key-id parameter dengan ID kunci untuk mengidentifikasi kunci KMS. Anda dapat menggunakan ID kunci atau kunci ARN untuk mengidentifikasi kunci KMS. Untuk mendapatkan ID kunci atau kunci ARN dari kunci K AWS MS terkelola, gunakan list-aliases perintah list-keys or.

aws kms list-grants \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output menunjukkan bahwa hibah memberikan izin Amazon DynamoDB untuk menggunakan kunci KMS untuk operasi kriptografi, dan memberinya izin untuk melihat detail tentang kunci KMS (DescribeKey) dan untuk menghentikan hibah (). RetireGrant Ken EncryptionContextSubset dala membatasi izin ini untuk permintaan yang menyertakan pasangan konteks enkripsi yang ditentukan. Akibatnya, izin dalam hibah hanya efektif pada akun tertentu dan tabel DynamoDB.

{ "Grants": [ { "Constraints": { "EncryptionContextSubset": { "aws:dynamodb:subscriberId": "123456789012", "aws:dynamodb:tableName": "Services" } }, "IssuingAccount": "arn:aws:iam::123456789012:root", "Name": "8276b9a6-6cf0-46f1-b2f0-7993a7f8c89a", "Operations": [ "Decrypt", "Encrypt", "GenerateDataKey", "ReEncryptFrom", "ReEncryptTo", "RetireGrant", "DescribeKey" ], "GrantId": "1667b97d27cf748cf05b487217dd4179526c949d14fb3903858e25193253fe59", "KeyId": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "RetiringPrincipal": "dynamodb.us-west-2.amazonaws.com", "GranteePrincipal": "dynamodb.us-west-2.amazonaws.com", "CreationDate": "2021-05-13T18:32:45.144000+00:00" } ] }

Untuk informasi selengkapnya, lihat Hibah di AWS KMS di Panduan Pengembang Layanan Manajemen AWS Utama.

  • Untuk detail API, lihat ListGrants di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanlist-key-policies.

AWS CLI

Untuk mendapatkan nama kebijakan utama untuk kunci KMS

list-key-policiesContoh berikut mendapatkan nama kebijakan utama untuk kunci yang dikelola pelanggan dalam contoh akun dan Wilayah. Anda dapat menggunakan perintah ini untuk menemukan nama kebijakan kunci untuk kunci terkel AWS ola dan kunci yang dikelola pelanggan.

Karena satu-satunya nama kebijakan kunci yang valid adalahdefault, perintah ini tidak berguna.

Untuk menentukan kunci KMS, gunakan key-id parameter. Contoh ini menggunakan nilai ID kunci, tetapi Anda dapat menggunakan ID kunci atau kunci ARN dalam perintah ini.

aws kms list-key-policies \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "PolicyNames": [ "default" ] }

Untuk informasi selengkapnya tentang kebijakan kunci AWS KMS, lihat Menggunakan Kebijakan Utama di AWS KMS di Panduan Pengembang Layanan Manajemen K AWS unci.

Contoh kode berikut menunjukkan cara menggunakanlist-key-rotations.

AWS CLI

Untuk mengambil informasi tentang semua rotasi material kunci yang telah selesai

list-key-rotationsContoh berikut mencantumkan informasi tentang semua rotasi material kunci yang diselesaikan untuk kunci KMS yang ditentukan.

aws kms list-key-rotations \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "Rotations": [ { "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "RotationDate": "2024-03-02T10:11:36.564000+00:00", "RotationType": "AUTOMATIC" }, { "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "RotationDate": "2024-04-05T15:14:47.757000+00:00", "RotationType": "ON_DEMAND" } ], "Truncated": false }

Untuk informasi selengkapnya, lihat Memutar AWS kunci di Panduan Pengembang Layanan Manajemen Kunci.

Contoh kode berikut menunjukkan cara menggunakanlist-keys.

AWS CLI

Untuk mendapatkan kunci KMS di akun dan Wilayah

list-keysContoh berikut mendapatkan kunci KMS di akun dan Wilayah. Perintah ini mengembalikan kunci ter AWS kelola dan kunci yang dikelola pelanggan.

aws kms list-keys

Output:

{ "Keys": [ { "KeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" }, { "KeyArn": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", "KeyId": "0987dcba-09fe-87dc-65ba-ab0987654321" }, { "KeyArn": "arn:aws:kms:us-east-2:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d", "KeyId": "1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d" } ] }

Untuk informasi selengkapnya, lihat Melihat AWS Kunci di Panduan Pengembang Layanan Manajemen Kunci.

  • Untuk detail API, lihat ListKeys di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanlist-resource-tags.

AWS CLI

Untuk mendapatkan tag pada kunci KMS

list-resource-tagsContoh berikut mendapatkan tag untuk kunci KMS. Untuk menambah atau mengganti tag sumber daya pada kunci KMS, gunakan tag-resource perintah. Output menunjukkan bahwa kunci KMS ini memiliki dua tag sumber daya, yang masing-masing memiliki kunci dan nilai.

Untuk menentukan kunci KMS, gunakan key-id parameter. Contoh ini menggunakan nilai ID kunci, tetapi Anda dapat menggunakan ID kunci atau kunci ARN dalam perintah ini.

aws kms list-resource-tags \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "Tags": [ { "TagKey": "Dept", "TagValue": "IT" }, { "TagKey": "Purpose", "TagValue": "Test" } ], "Truncated": false }

Untuk informasi selengkapnya tentang menggunakan tag di AWS KMS, lihat Men andai kunci di Panduan Pengembang Layanan Manajemen K AWS unci.

Contoh kode berikut menunjukkan cara menggunakanlist-retirable-grants.

AWS CLI

Untuk melihat hibah yang dapat dipensiunkan oleh kepala sekolah

list-retirable-grantsContoh berikut menampilkan semua hibah yang dapat dipensi ExampleAdmin unkan pengguna pada kunci KMS di AWS akun dan Wilayah. Anda dapat menggunakan perintah seperti ini untuk melihat hibah yang dapat dipensiunkan oleh kepala sekolah akun mana pun pada kunci KMS di AWS akun dan Wilayah.

Nilai retiring-principal parameter yang diperlukan harus berupa Nama Sumber Daya Amazon (ARN) dari akun, pengguna, atau peran.

Anda tidak dapat menentukan layanan untuk nilai retiring-principal dalam perintah ini, meskipun layanan dapat menjadi prinsipal yang pensiun. Untuk menemukan hibah di mana layanan tertentu adalah kepala sekolah yang pensiun, gunakan list-grants perintah.

Output menunjukkan bahwa ExampleAdmin pengguna memiliki izin untuk menghentikan hibah pada dua kunci KMS yang berbeda di akun dan wilayah. Selain pokok pensiun, akun memiliki izin untuk menghentikan hibah apa pun di akun.

aws kms list-retirable-grants \ --retiring-principal arn:aws:iam::111122223333:user/ExampleAdmin

Output:

{ "Grants": [ { "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "GrantId": "156b69c63cb154aa21f59929ff19760717be8d9d82b99df53e18b94a15a5e88e", "Name": "", "CreationDate": 2021-01-14T20:17:36.419000+00:00, "GranteePrincipal": "arn:aws:iam::111122223333:user/ExampleUser", "RetiringPrincipal": "arn:aws:iam::111122223333:user/ExampleAdmin", "IssuingAccount": "arn:aws:iam::111122223333:root", "Operations": [ "Encrypt" ], "Constraints": { "EncryptionContextSubset": { "Department": "IT" } } }, { "KeyId": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", "GrantId": "8c94d1f12f5e69f440bae30eaec9570bb1fb7358824f9ddfa1aa5a0dab1a59b2", "Name": "", "CreationDate": "2021-02-02T19:49:49.638000+00:00", "GranteePrincipal": "arn:aws:iam::111122223333:role/ExampleRole", "RetiringPrincipal": "arn:aws:iam::111122223333:user/ExampleAdmin", "IssuingAccount": "arn:aws:iam::111122223333:root", "Operations": [ "Decrypt" ], "Constraints": { "EncryptionContextSubset": { "Department": "IT" } } } ], "Truncated": false }

Untuk informasi selengkapnya, lihat Hibah di AWS KMS di Panduan Pengembang Layanan Manajemen AWS Utama.

Contoh kode berikut menunjukkan cara menggunakanput-key-policy.

AWS CLI

Untuk mengubah kebijakan kunci untuk kunci KMS

put-key-policyContoh berikut mengubah kebijakan kunci untuk kunci yang dikelola pelanggan.

Untuk memulai, buat kebijakan kunci dan simpan dalam file JSON lokal. Dalam contoh ini, file adalahkey_policy.json. Anda juga dapat menentukan kebijakan kunci sebagai nilai string policy parameter.

Pernyataan pertama dalam kebijakan kunci ini memberikan izin AWS akun untuk menggunakan kebijakan IAM untuk mengontrol akses ke kunci KMS. Pernyataan kedua memberikan izin test-user pengguna untuk menjalankan list-keys perintah describe-key dan pada kunci KMS.

Isi dari key_policy.json:

{ "Version":"2012-10-17", "Id" : "key-default-1", "Statement" : [ { "Sid" : "Enable IAM User Permissions", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:root" }, "Action" : "kms:*", "Resource" : "*" }, { "Sid" : "Allow Use of Key", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:user/test-user" }, "Action" : [ "kms:DescribeKey", "kms:ListKeys" ], "Resource" : "*" } ] }

Untuk mengidentifikasi kunci KMS, contoh ini menggunakan ID kunci, tetapi Anda juga dapat menggunakan kunci ARN. Untuk menentukan kebijakan kunci, perintah menggunakan policy parameter. Untuk menunjukkan bahwa kebijakan ada dalam file, ia menggunakan awalan yang file:// diperlukan. Awalan ini diperlukan untuk mengidentifikasi file pada semua sistem operasi yang didukung. Akhirnya, perintah menggunakan policy-name parameter dengan nilaidefault. Jika tidak ada nama kebijakan yang ditentukan, nilai defaultnya adalahdefault. Satu-satunya nilai yang valid adalah default.

aws kms put-key-policy \ --policy-name default \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --policy file://key_policy.json

Perintah ini tidak menghasilkan output apa pun. Untuk memverifikasi bahwa perintah itu efektif, gunakan get-key-policy perintah. Perintah contoh berikut mendapatkan kebijakan kunci untuk kunci KMS yang sama. outputParameter dengan nilai text mengembalikan format teks yang mudah dibaca.

aws kms get-key-policy \ --policy-name default \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --output text

Output:

{ "Version":"2012-10-17", "Id" : "key-default-1", "Statement" : [ { "Sid" : "Enable IAM User Permissions", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:root" }, "Action" : "kms:*", "Resource" : "*" }, { "Sid" : "Allow Use of Key", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:user/test-user" }, "Action" : [ "kms:Describe", "kms:List" ], "Resource" : "*" } ] }

Untuk informasi selengkapnya, lihat Meng ubah Kebijakan Utama di Panduan Pengembang Layanan Manajemen Kunci. AWS

  • Untuk detail API, lihat PutKeyPolicy di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanre-encrypt.

AWS CLI

Contoh 1: Untuk mengenkripsi ulang pesan terenkripsi di bawah kunci KMS simetris yang berbeda (Linux dan macOS).

Contoh re-encrypt perintah berikut menunjukkan cara yang disarankan untuk mengenkripsi ulang data dengan AWS CLI.

Berikan ciphertext dalam file.Dalam nilai --ciphertext-blob parameter, gunakan fileb:// awalan, yang memberitahu CLI untuk membaca data dari file biner. Jika file tidak ada di direktori saat ini, ketik path lengkap ke file. Untuk informasi selengkapnya tentang membaca nilai parameter AWS CLI dari file, lihat Memu at parameter AWS CLI dari file di Panduan Pengguna Antarmuka Baris Per AWS intah dan Praktik Terbaik untuk Parameter File Lokal di Blog Alat Baris Perintah .Tentukan kunci KMS sumber, yang mendekripsi ciphertext. --source-key-id Parameter tidak diperlukan saat mendekripsi dengan kunci KMS enkripsi simetris. AWS AWS KMS bisa mendapatkan kunci KMS yang digunakan untuk mengenkripsi data dari metadata di blob ciphertext. Tetapi selalu merupakan praktik terbaik untuk menentukan kunci KMS yang Anda gunakan. Praktik ini memastikan bahwa Anda menggunakan kunci KMS yang Anda inginkan, dan mencegah Anda mendekripsi ciphertext secara tidak sengaja menggunakan kunci KMS yang tidak Anda percayai.Tentukan kunci KMS tujuan, yang mengenkripsi ulang data.Parameter selalu diperlukan. --destination-key-id Contoh ini menggunakan kunci ARN, tetapi Anda dapat menggunakan pengenal kunci yang valid.Minta keluaran plaintext sebagai nilai teks. --query Parameter memberitahu CLI untuk mendapatkan hanya nilai bidang dari output. Plaintext --outputParameter mengembalikan output sebagai teks. Base64-decode plaintext dan simpan dalam file. Contoh berikut menyalurkan (|) nilai Plaintext parameter ke utilitas Base64, yang menerjemahkannya. Kemudian, itu mengalihkan (>) output yang didekodekan ke file. ExamplePlaintext

Sebelum menjalankan perintah ini, ganti contoh ID kunci dengan pengidentifikasi kunci yang valid dari AWS akun Anda.

aws kms re-encrypt \ --ciphertext-blob fileb://ExampleEncryptedFile \ --source-key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --destination-key-id 0987dcba-09fe-87dc-65ba-ab0987654321 \ --query CiphertextBlob \ --output text | base64 --decode > ExampleReEncryptedFile

Perintah ini tidak menghasilkan output. Output dari re-encrypt perintah didekodekan base64 dan disimpan dalam file.

Untuk informasi selengkapnya, lihat ReEncrypt Refer AWS ensi API Layanan Manajemen Kunci.

Contoh 2: Untuk mengenkripsi ulang pesan terenkripsi di bawah kunci KMS simetris yang berbeda (prompt perintah Windows).

Contoh re-encrypt perintah berikut adalah sama dengan yang sebelumnya kecuali bahwa ia menggunakan certutil utilitas untuk Base64-decode data plaintext. Prosedur ini membutuhkan dua perintah, seperti yang ditunjukkan pada contoh berikut.

Sebelum menjalankan perintah ini, ganti ID kunci contoh dengan ID kunci yang valid dari AWS akun Anda.

aws kms re-encrypt ^ --ciphertext-blob fileb://ExampleEncryptedFile ^ --source-key-id 1234abcd-12ab-34cd-56ef-1234567890ab ^ --destination-key-id 0987dcba-09fe-87dc-65ba-ab0987654321 ^ --query CiphertextBlob ^ --output text > ExampleReEncryptedFile.base64

Kemudian gunakan certutil utilitas

certutil -decode ExamplePlaintextFile.base64 ExamplePlaintextFile

Output:

Input Length = 18 Output Length = 12 CertUtil: -decode command completed successfully.

Untuk informasi selengkapnya, lihat ReEncrypt Refer AWS ensi API Layanan Manajemen Kunci.

  • Untuk detail API, lihat ReEncrypt di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanretire-grant.

AWS CLI

Untuk menghentikan hibah pada kunci induk pelanggan

retire-grantContoh berikut menghapus hibah dari kunci KMS.

Perintah contoh berikut menentukan grant-id dan key-id parameter. Nilai key-id parameter harus menjadi kunci ARN dari kunci KMS.

aws kms retire-grant \ --grant-id 1234a2345b8a4e350500d432bccf8ecd6506710e1391880c4f7f7140160c9af3 \ --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

Perintah ini tidak menghasilkan output. Untuk mengonfirmasi bahwa hibah telah pensiun, gunakan list-grants perintah.

Untuk informasi selengkapnya, lihat Pensiun dan pencabutan hibah di Panduan Pengembang Layanan Manajemen AWS Utama.

  • Untuk detail API, lihat RetireGrant di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanrevoke-grant.

AWS CLI

Untuk mencabut hibah pada kunci master pelanggan

revoke-grantContoh berikut menghapus hibah dari kunci KMS. Perintah contoh berikut menentukan grant-id dan key-id parameter. Nilai key-id parameter dapat berupa ID kunci atau kunci ARN dari kunci KMS.

aws kms revoke-grant \ --grant-id 1234a2345b8a4e350500d432bccf8ecd6506710e1391880c4f7f7140160c9af3 \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Perintah ini tidak menghasilkan output. Untuk mengonfirmasi bahwa hibah dicabut, gunakan perintahlist-grants.

Untuk informasi selengkapnya, lihat Pensiun dan pencabutan hibah di Panduan Pengembang Layanan Manajemen AWS Utama.

  • Untuk detail API, lihat RevokeGrant di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanrotate-key-on-demand.

AWS CLI

Untuk melakukan rotasi kunci KMS sesuai permintaan

rotate-key-on-demandContoh berikut segera memulai rotasi bahan kunci untuk kunci KMS yang ditentukan.

aws kms rotate-key-on-demand \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Output:

{ "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" }

Untuk informasi selengkapnya, lihat Cara melakukan rotasi kunci sesuai permintaan di Panduan Pengembang Layanan Manajemen Kunci. AWS

Contoh kode berikut menunjukkan cara menggunakanschedule-key-deletion.

AWS CLI

Untuk menjadwalkan penghapusan kunci KMS yang dikelola pelanggan.

schedule-key-deletionContoh berikut menjadwalkan kunci KMS yang dikelola pelanggan yang ditentukan untuk dihapus dalam 15 hari.

--key-idParameter mengidentifikasi kunci KMS. Contoh ini menggunakan nilai ARN kunci, tetapi Anda dapat menggunakan ID kunci atau ARN dari kunci KMS. --pending-window-in-days Parameter menentukan panjang periode tunggu 7-30 hari. Secara default, masa tunggu adalah 30 hari. Contoh ini menentukan nilai 15, yang memberitahu AWS untuk menghapus kunci KMS secara permanen 15 hari setelah perintah selesai.

aws kms schedule-key-deletion \ --key-id arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab \ --pending-window-in-days 15

Tanggapan termasuk kunci ARN, status kunci, periode tunggu (PendingWindowInDays), dan tanggal penghapusan dalam waktu Unix. Untuk melihat tanggal penghapusan dalam waktu setempat, gunakan konsol AWS KMS. Kunci KMS dalam status PendingDeletion kunci tidak dapat digunakan dalam operasi kriptografi.

{ "KeyId": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "DeletionDate": "2022-06-18T23:43:51.272000+00:00", "KeyState": "PendingDeletion", "PendingWindowInDays": 15 }

Untuk informasi selengkapnya, lihat Menghapus AWS kunci di Panduan Pengembang Layanan Manajemen Kunci.

Contoh kode berikut menunjukkan cara menggunakansign.

AWS CLI

Contoh 1: Untuk menghasilkan tanda tangan digital untuk pesan

signContoh berikut menghasilkan tanda tangan kriptografi untuk pesan singkat. Output dari perintah mencakup Signature bidang yang dikodekan base-64 yang dapat Anda verifikasi dengan menggunakan verify perintah.

Anda harus menentukan pesan untuk ditandatangani dan algoritma penandatanganan yang didukung kunci KMS asimetris Anda. Untuk mendapatkan algoritma penandatanganan untuk kunci KMS Anda, gunakan describe-key perintah.

Dalam AWS CLI v2, nilai message parameter harus Base64-encoded. Atau, Anda dapat menyimpan pesan dalam file dan menggunakan fileb:// awalan, yang memberitahu AWS CLI untuk membaca data biner dari file.

Sebelum menjalankan perintah ini, ganti contoh ID kunci dengan ID kunci yang valid dari AWS akun Anda. ID kunci harus mewakili kunci KMS asimetris dengan penggunaan kunci SIGN_VERIFY.

msg=(echo 'Hello World' | base64) aws kms sign \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --message fileb://UnsignedMessage \ --message-type RAW \ --signing-algorithm RSASSA_PKCS1_V1_5_SHA_256

Output:

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Signature": "ABCDEFhpyVYyTxbafE74ccSvEJLJr3zuoV1Hfymz4qv+/fxmxNLA7SE1SiF8lHw80fKZZ3bJ...", "SigningAlgorithm": "RSASSA_PKCS1_V1_5_SHA_256" }

Untuk informasi selengkapnya tentang menggunakan kunci KMS asimetris di AWS KMS, lihat Kunci asimetris di AWS KMS di Panduan Pengembang Layanan Manajemen K AWS unci.

Contoh 2: Untuk menyimpan tanda tangan digital dalam file (Linux dan macOS)

signContoh berikut menghasilkan tanda tangan kriptografi untuk pesan singkat yang disimpan dalam file lokal. Perintah juga mendapatkan Signature properti dari respons, Base64-decodes itu dan menyimpannya dalam ExampleSignature file. Anda dapat menggunakan file tanda tangan dalam verify perintah yang memverifikasi tanda tangan.

Per sign intah ini memerlukan Base64-encoded pesan dan algoritma penandatanganan yang didukung kunci KMS asimetris Anda. Untuk mendapatkan algoritma penandatanganan yang didukung kunci KMS Anda, gunakan describe-key perintah.

Sebelum menjalankan perintah ini, ganti ID kunci contoh dengan ID kunci yang valid dari AWS akun Anda. ID kunci harus mewakili kunci KMS asimetris dengan penggunaan kunci SIGN_VERIFY.

echo 'hello world' | base64 > EncodedMessage aws kms sign \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --message fileb://EncodedMessage \ --message-type RAW \ --signing-algorithm RSASSA_PKCS1_V1_5_SHA_256 \ --output text \ --query Signature | base64 --decode > ExampleSignature

Perintah ini tidak menghasilkan output. Contoh ini mengekstrak Signature properti output dan menyimpannya dalam file.

Untuk informasi selengkapnya tentang menggunakan kunci KMS asimetris di AWS KMS, lihat Kunci asimetris di AWS KMS di Panduan Pengembang Layanan Manajemen K AWS unci.

  • Untuk detail API, lihat Refer ensi Per AWS CLI intah Masuk.

Contoh kode berikut menunjukkan cara menggunakantag-resource.

AWS CLI

Untuk menambahkan tag ke kunci KMS

tag-resourceContoh berikut menambahkan "Purpose":"Test" dan memberi "Dept":"IT" tag ke kunci KMS yang dikelola pelanggan. Anda dapat menggunakan tag seperti ini untuk memberi label kunci KMS dan membuat kategori kunci KMS untuk izin dan audit.

Untuk menentukan kunci KMS, gunakan key-id parameter. Contoh ini menggunakan nilai ID kunci, tetapi Anda dapat menggunakan ID kunci atau kunci ARN dalam perintah ini.

aws kms tag-resource \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --tags TagKey='Purpose',TagValue='Test' TagKey='Dept',TagValue='IT'

Perintah ini tidak menghasilkan output. Untuk melihat tag pada kunci AWS KMS KMS, gunakan perintahlist-resource-tags.

Untuk informasi selengkapnya tentang menggunakan tag di AWS KMS, lihat Men andai kunci di Panduan Pengembang Layanan Manajemen K AWS unci.

  • Untuk detail API, lihat TagResource di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanuntag-resource.

AWS CLI

Untuk menghapus tag dari kunci KMS

untag-resourceContoh berikut menghapus tag dengan "Purpose" kunci dari kunci KMS yang dikelola pelanggan.

Untuk menentukan kunci KMS, gunakan key-id parameter. Contoh ini menggunakan nilai ID kunci, tetapi Anda dapat menggunakan ID kunci atau kunci ARN dalam perintah ini. Sebelum menjalankan perintah ini, ganti ID kunci contoh dengan ID kunci yang valid dari AWS akun Anda.

aws kms untag-resource \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --tag-key 'Purpose'

Perintah ini tidak menghasilkan output. Untuk melihat tag pada kunci AWS KMS KMS, gunakan perintahlist-resource-tags.

Untuk informasi selengkapnya tentang menggunakan tag di AWS KMS, lihat Men andai kunci di Panduan Pengembang Layanan Manajemen K AWS unci.

Contoh kode berikut menunjukkan cara menggunakanupdate-alias.

AWS CLI

Untuk mengaitkan alias dengan kunci KMS yang berbeda

update-aliasContoh berikut mengaitkan alias alias/test-key dengan kunci KMS yang berbeda.

--alias-nameParameter menentukan alias. Nilai nama alias harus dimulai denganalias/. --target-key-id Parameter menentukan kunci KMS untuk dikaitkan dengan alias. Anda tidak perlu menentukan kunci KMS saat ini untuk alias.

aws kms update-alias \ --alias-name alias/test-key \ --target-key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Perintah ini tidak menghasilkan output. Untuk menemukan alias, gunakan list-aliases perintah.

Untuk informasi selengkapnya, lihat Memperbarui alias di Panduan Pengembang Layanan Manajemen Kunci. AWS

  • Untuk detail API, lihat UpdateAlias di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanupdate-custom-key-store.

AWS CLI

Contoh 1: Untuk mengedit nama ramah penyimpanan kunci khusus

update-custom-key-storeContoh berikut mengubah nama penyimpanan kunci khusus. Contoh ini berfungsi untuk penyimpanan kunci AWS CloudHSM atau penyimpanan kunci eksternal.

Gunakan custom-key-store-id untuk mengidentifikasi toko kunci. Gunakan new-custom-key-store-name parameter untuk menentukan nama ramah baru.

Untuk memperbarui nama ramah penyimpanan kunci AWS CloudHSM, Anda harus terlebih dahulu memutuskan penyimpanan kunci, seperti dengan menggunakan perintahdisconnect-custom-key-store. Anda dapat memperbarui nama ramah penyimpanan kunci eksternal saat terhubung atau terputus. Untuk menemukan status koneksi penyimpanan kunci kustom Anda, gunakan describe-custom-key-store perintah.

aws kms update-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0 \ --new-custom-key-store-name ExampleKeyStore

Perintah ini tidak mengembalikan data apa pun. Untuk memverifikasi bahwa perintah berfungsi, gunakan describe-custom-key-stores perintah.

Untuk informasi selengkapnya tentang memperbarui penyimpanan kunci AWS CloudHSM, lihat Meng edit setelan penyimpanan kunci AWS CloudHSM di Panduan Pengembang Layanan Manajemen K AWS unci.

Untuk informasi selengkapnya tentang memperbarui penyimpanan kunci eksternal, lihat Mengedit properti penyimpanan kunci eksternal di Panduan Pengembang Layanan Manajemen Kunci. AWS

Contoh 2: Untuk mengedit kata sandi kmsuser dari penyimpanan kunci AWS CloudHSM

update-custom-key-storeContoh berikut memperbarui nilai kmsuser kata sandi ke kata sandi saat ini untuk cluster CloudHSM yang terkait dengan penyimpanan kunci yang ditentukan. kmsuser Perintah ini tidak mengubah kmsuser kata sandi cluster. Itu hanya memberi tahu AWS KMS kata sandi saat ini. Jika KMS tidak memiliki kmsuser kata sandi saat ini, KMS tidak dapat terhubung ke penyimpanan kunci AWS CloudHSM.

CATATAN: Sebelum memperbarui penyimpanan kunci AWS CloudHSM, Anda harus memutuskan sambungannya. Gunakan perintah disconnect-custom-key-store. Setelah perintah selesai, Anda dapat menghubungkan kembali penyimpanan kunci AWS CloudHSM. Gunakan perintah connect-custom-key-store.

aws kms update-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0 \ --key-store-password ExamplePassword

Perintah ini tidak memberikan output apa pun. Untuk memverifikasi bahwa perubahan itu efektif, gunakan describe-custom-key-stores perintah.

Untuk informasi selengkapnya tentang memperbarui penyimpanan kunci AWS CloudHSM, lihat Meng edit setelan penyimpanan kunci AWS CloudHSM di Panduan Pengembang Layanan Manajemen K AWS unci.

Contoh 3: Untuk mengedit cluster AWS CloudHSM dari penyimpanan kunci AWS CloudHSM

Contoh berikut mengubah cluster AWS CloudHSM yang terkait dengan penyimpanan kunci AWS CloudHSM ke cluster terkait, seperti cadangan berbeda dari cluster yang sama.

CATATAN: Sebelum memperbarui penyimpanan kunci AWS CloudHSM, Anda harus memutuskan sambungannya. Gunakan perintah disconnect-custom-key-store. Setelah perintah selesai, Anda dapat menghubungkan kembali penyimpanan kunci AWS CloudHSM. Gunakan perintah connect-custom-key-store.

aws kms update-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0 \ --cloud-hsm-cluster-id cluster-1a23b4cdefg

Perintah ini tidak memberikan output apa pun. Untuk memverifikasi bahwa perubahan itu efektif, gunakan describe-custom-key-stores perintah.

Untuk informasi selengkapnya tentang memperbarui penyimpanan kunci AWS CloudHSM, lihat Meng edit setelan penyimpanan kunci AWS CloudHSM di Panduan Pengembang Layanan Manajemen K AWS unci.

Contoh 4: Untuk mengedit kredensi otentikasi proxy dari penyimpanan kunci eksternal

Contoh berikut memperbarui kredensi otentikasi proxy untuk penyimpanan kunci eksternal Anda. Anda harus menentukan keduanya raw-secret-access-key danaccess-key-id, bahkan jika Anda hanya mengubah salah satu nilai. Anda dapat menggunakan fitur ini untuk memperbaiki kredensia yang tidak valid atau untuk mengubah kredensia saat proxy penyimpanan kunci eksternal memutarnya.

Tetapkan kredensi otentikasi proxy untuk AWS KMS di penyimpanan kunci eksternal Anda. Kemudian gunakan perintah ini untuk memberikan kredensi ke AWS KMS. AWS KMS menggunakan kredensi ini untuk menandatangani permintaannya ke proxy penyimpanan kunci eksternal Anda.

Anda dapat memperbarui kredensi otentikasi proxy saat penyimpanan kunci eksternal terhubung atau terputus. Untuk menemukan status koneksi penyimpanan kunci kustom Anda, gunakan describe-custom-key-store perintah.

aws kms update-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0 \ --xks-proxy-authentication-credential "AccessKeyId=ABCDE12345670EXAMPLE, RawSecretAccessKey=DXjSUawnel2fr6SKC7G25CNxTyWKE5PF9XX6H/u9pSo="

Perintah ini tidak memberikan output apa pun. Untuk memverifikasi bahwa perubahan itu efektif, gunakan describe-custom-key-stores perintah.

Untuk informasi selengkapnya tentang memperbarui penyimpanan kunci eksternal, lihat Mengedit properti penyimpanan kunci eksternal di Panduan Pengembang Layanan Manajemen Kunci. AWS

Contoh 5: Untuk mengedit konektivitas proxy dari penyimpanan kunci eksternal

Contoh berikut mengubah opsi konektivitas proxy penyimpanan kunci eksternal dari konektivitas titik akhir publik ke konektivitas layanan titik akhir VPC. Selain mengubah xks-proxy-connectivity nilai, Anda harus mengubah xks-proxy-uri-endpoint nilai untuk mencerminkan nama DNS pribadi yang terkait dengan layanan titik akhir VPC. Anda juga harus menambahkan xks-proxy-vpc-endpoint-service-name nilai.

CATATAN: Sebelum memperbarui konektivitas proxy dari toko eksternal, Anda harus memutuskan sambungannya. Gunakan perintah disconnect-custom-key-store. Setelah perintah selesai, Anda dapat menghubungkan kembali penyimpanan kunci eksternal dengan menggunakan connect-custom-key-store perintah.

aws kms update-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0 \ --xks-proxy-connectivity VPC_ENDPOINT_SERVICE \ --xks-proxy-uri-endpoint "https://myproxy-private.xks.example.com" \ --xks-proxy-vpc-endpoint-service-name "com.amazonaws.vpce.us-east-1.vpce-svc-example"

Perintah ini tidak memberikan output apa pun. Untuk memverifikasi bahwa perubahan itu efektif, gunakan describe-custom-key-stores perintah.

Untuk informasi selengkapnya tentang memperbarui penyimpanan kunci eksternal, lihat Mengedit properti penyimpanan kunci eksternal di Panduan Pengembang Layanan Manajemen Kunci. AWS

Contoh kode berikut menunjukkan cara menggunakanupdate-key-description.

AWS CLI

Contoh 1: Untuk menambahkan atau mengubah deskripsi ke kunci KMS yang dikelola pelanggan

update-key-descriptionContoh berikut menambahkan deskripsi ke kunci KMS yang dikelola pelanggan. Anda dapat menggunakan perintah yang sama untuk mengubah deskripsi yang ada.

--key-idParameter mengidentifikasi kunci KMS dalam perintah. Contoh ini menggunakan nilai ARN kunci, tetapi Anda dapat menggunakan ID kunci atau kunci ARN dari kunci KMS. --description Parameter menentukan deskripsi baru. Nilai parameter ini menggantikan deskripsi kunci KMS saat ini, jika ada.

aws kms update-key-description \ --key-id arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab \ --description "IT Department test key"

Perintah ini tidak menghasilkan output. Untuk melihat deskripsi kunci KMS, gunakan describe-key perintah.

Untuk informasi selengkapnya, lihat UpdateKeyDescription Refer AWS ensi API Layanan Manajemen Kunci.

Contoh 2: Untuk menghapus deskripsi kunci KMS yang dikelola pelanggan

update-key-descriptionContoh berikut menghapus deskripsi ke kunci KMS yang dikelola pelanggan.

--key-idParameter mengidentifikasi kunci KMS dalam perintah. Contoh ini menggunakan nilai ID kunci, tetapi Anda dapat menggunakan ID kunci atau kunci ARN dari kunci KMS. --description Parameter dengan nilai string kosong (“) menghapus deskripsi yang ada.

aws kms update-key-description \ --key-id 0987dcba-09fe-87dc-65ba-ab0987654321 \ --description ''

Perintah ini tidak menghasilkan output. Untuk melihat deskripsi kunci KMS, gunakan perintah describe-key.

Untuk informasi selengkapnya, lihat UpdateKeyDescription Refer AWS ensi API Layanan Manajemen Kunci.

Contoh kode berikut menunjukkan cara menggunakanverify-mac.

AWS CLI

Contoh 1: Untuk memverifikasi HMAC

Per verify-mac intah berikut memverifikasi HMAC untuk pesan tertentu, kunci HMAC KMS, dan algoritma MAC. Nilai 'true' dalam MacValid nilai dalam respons menunjukkan bahwa HMAC valid.

Dalam AWS CLI v2, nilai message parameter harus Base64-encoded. Atau, Anda dapat menyimpan pesan dalam file dan menggunakan fileb:// awalan, yang memberitahu AWS CLI untuk membaca data biner dari file.

MAC yang Anda tentukan tidak dapat dikodekan base64. Untuk bantuan mendekode MAC yang generate-mac dikembalikan perintah, lihat contoh generate-mac perintah.

Sebelum menjalankan perintah ini, ganti contoh ID kunci dengan ID kunci yang valid dari AWS akun Anda. ID kunci harus mewakili kunci HMAC KMS dengan penggunaan kunci. GENERATE_VERIFY_MAC

msg=(echo 'Hello World' | base64) aws kms verify-mac \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --message fileb://Message \ --mac-algorithm HMAC_SHA_384 \ --mac fileb://ExampleMac

Output:

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "MacValid": true, "MacAlgorithm": "HMAC_SHA_384" }

Untuk informasi selengkapnya tentang menggunakan kunci HMAC KMS di AWS KMS, lihat kunci HMAC di AWS KMS di Panduan Pengembang Layanan Manajemen K AWS unci.

  • Untuk detail API, lihat VerifyMac di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanverify.

AWS CLI

Untuk memverifikasi tanda tangan digital

Per verify intah berikut memverifikasi tanda tangan kriptografi untuk pesan singkat. Base64-encoded ID kunci, pesan, jenis pesan, dan algoritma penandatanganan harus sama dengan yang digunakan untuk menandatangani pesan.

Dalam AWS CLI v2, nilai message parameter harus Base64-encoded. Atau, Anda dapat menyimpan pesan dalam file dan menggunakan fileb:// awalan, yang memberitahu AWS CLI untuk membaca data biner dari file.

Tanda tangan yang Anda tentukan tidak dapat dikodekan base64. Untuk bantuan mendekode tanda tangan yang sign dikembalikan perintah, lihat contoh sign perintah.

Output dari perintah mencakup SignatureValid bidang Boolean yang menunjukkan bahwa tanda tangan telah diverifikasi. Jika validasi tanda tangan gagal, verify perintah juga gagal.

Sebelum menjalankan perintah ini, ganti contoh ID kunci dengan ID kunci yang valid dari AWS akun Anda.

aws kms verify \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --message fileb://EncodedMessage \ --message-type RAW \ --signing-algorithm RSASSA_PKCS1_V1_5_SHA_256 \ --signature fileb://ExampleSignature

Output:

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "SignatureValid": true, "SigningAlgorithm": "RSASSA_PKCS1_V1_5_SHA_256" }

Untuk informasi selengkapnya tentang menggunakan kunci KMS asimetris di AWS KMS, lihat Menggunakan kunci asimetris di Panduan Pengembang Layanan Manajemen K AWS unci.

  • Untuk detail API, lihat Verifikasi di Refer AWS CLI ensi Perintah.