AWS KMS contoh menggunakan AWS CLI - AWS SDKContoh Kode

Ada lebih banyak AWS SDK contoh yang tersedia di GitHub repo SDKContoh AWS Dokumen.

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 mengimplementasikan skenario umum dengan menggunakan AWS Command Line Interface with AWS KMS.

Tindakan adalah 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 dari kunci terkelola pelanggan KMS

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

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 terjadwal dibatalkan. Namun, status kunci dari KMS kuncinya adalahDisabled, jadi Anda tidak dapat menggunakan KMS kunci dalam operasi kriptografi. Untuk mengembalikan fungsinya, gunakan enable-key perintah.

Untuk informasi selengkapnya, lihat Penjadwalan dan pembatalan penghapusan kunci di Panduan Pengembang Layanan Manajemen AWS Kunci.

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

AWS CLI

Untuk menghubungkan toko kunci kustom

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

Anda dapat menggunakan perintah ini untuk menghubungkan AWS penyimpanan HSM kunci Cloud 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 AWS penyimpanan HSM kunci Cloud, lihat Menyambungkan dan memutuskan AWS penyimpanan HSM kunci Cloud di Panduan Pengembang Layanan Manajemen AWS Kunci.

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

Contoh kode berikut menunjukkan cara menggunakancreate-alias.

AWS CLI

Untuk membuat alias untuk kunci KMS

create-aliasPerintah berikut membuat alias bernama example-alias untuk KMS kunci 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 AWS Kunci.

  • Untuk API detailnya, lihat CreateAliasdi Referensi AWS CLI Perintah.

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

AWS CLI

Contoh 1: Untuk membuat AWS penyimpanan HSM kunci Cloud

create-custom-key-storeContoh berikut membuat AWS penyimpanan HSM kunci Cloud yang didukung oleh HSM klaster AWS Cloud 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 HSM kunci AWS Cloud di Panduan Pengembang Layanan Manajemen AWS Kunci.

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 dari. example-prefix

NOTE: Jika Anda menggunakan AWS CLI versi 1.0, jalankan perintah berikut sebelum menentukan parameter dengan HTTPS nilai HTTP atau, 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 URI alamat itu.

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 AWS Kunci.

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

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

NOTE: Jika Anda menggunakan AWS CLI versi 1.0, jalankan perintah berikut sebelum menentukan parameter dengan HTTPS nilai HTTP atau, 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 URI alamat itu.

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 AWS Kunci.

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 KMS kunci 1234abcd-12ab-34cd-56ef-1234567890ab contoh. Kepala sekolah yang pensiun adalah adminRole perannya. Hibah menggunakan batasan EncryptionContextSubset hibah untuk mengizinkan izin ini hanya jika konteks enkripsi dalam decrypt permintaan menyertakan pasangan nilai "Department": "IT" kunci.

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 AWS KMS di Panduan Pengembang Layanan Manajemen AWS Utama.

  • Untuk API detailnya, lihat CreateGrantdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakancreate-key.

AWS CLI

Contoh 1: Untuk membuat KMS kunci terkelola pelanggan AWS KMS

create-keyContoh berikut membuat KMS kunci enkripsi simetris.

Untuk membuat KMS kunci 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 mendapatkan kebijakan KMS kunci default untuk kunci yang dibuat KMS secara terprogram. Untuk melihat kebijakan kunci, gunakan get-key-policy perintah. Untuk mengubah kebijakan kunci, gunakan put-key-policy perintah.

aws kms create-key

create-keyPerintah mengembalikan metadata kunci, termasuk ID kunci dan ARN kunci baruKMS. Anda dapat menggunakan nilai-nilai ini untuk mengidentifikasi KMS kunci dalam AWS KMS operasi lain. Output tidak termasuk tag. Untuk melihat tag untuk KMS kunci, gunakan tombollist-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", "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 KMS kunci baru, gunakan perintah. create-alias

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

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

create-keyContoh berikut membuat KMS kunci yang berisi asymmetric RSA key pair untuk enkripsi dan dekripsi.

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 Kunci asimetris AWS KMS di Panduan Pengembang Layanan Manajemen AWS Kunci.

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

Untuk membuat KMS kunci asimetris yang berisi asymmetric elliptic curve () key ECC pair untuk penandatanganan dan verifikasi. --key-usageParameter diperlukan meskipun SIGN_VERIFY merupakan satu-satunya nilai yang valid untuk ECC KMS kunci.

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 Kunci asimetris AWS KMS di Panduan Pengembang Layanan Manajemen AWS Kunci.

Contoh 4: Untuk membuat HMAC KMS kunci

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

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 HMAC AWS kunci AWS KMS di Panduan Pengembang Layanan Manajemen Kunci.

Contoh 4: Untuk membuat kunci utama KMS Multi-region

create-keyContoh berikut membuat kunci enkripsi simetris primer Multi-region. Karena nilai default untuk semua parameter membuat kunci enkripsi simetris, hanya --multi-region parameter yang diperlukan untuk KMS kunci 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", "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 Kunci asimetris AWS KMS di Panduan Pengembang Layanan Manajemen AWS Kunci.

Contoh 5: Untuk membuat KMS kunci untuk materi kunci yang diimpor

create-keyContoh berikut membuat membuat KMS kunci tanpa bahan kunci. Ketika operasi selesai, Anda dapat mengimpor materi kunci Anda sendiri ke dalam KMS kunci. Untuk membuat KMS kunci 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 dalam AWS KMS kunci di Panduan Pengembang Layanan Manajemen AWS Kunci.

Contoh 6: Untuk membuat KMS kunci di toko HSM kunci AWS Cloud

create-keyContoh berikut membuat membuat KMS kunci di penyimpanan HSM kunci AWS Cloud yang ditentukan. Operasi membuat KMS kunci dan metadatanya masuk AWS KMS dan membuat materi kunci di HSM klaster AWS Cloud 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 HSMPenyimpanan kunci AWS Cloud di Panduan Pengembang Layanan Manajemen AWS Kunci.

Contoh 7: Untuk membuat KMS kunci di toko kunci eksternal

create-keyContoh berikut membuat membuat KMS kunci di toko kunci eksternal yang ditentukan. --xks-key-idParameter --custom-key-store-id--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 KMS kunci.Nilai --origin parameter EXTERNAL_KEY_STORE custom-key-store-id harus.Parameter harus mengidentifikasi penyimpanan kunci eksternal yang terhubung ke proxy penyimpanan kunci eksternal.

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 Panduan Pengembang Layanan Manajemen AWS Kunci.

  • Untuk API detailnya, lihat CreateKeydi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakandecrypt.

AWS CLI

Contoh 1: Untuk mendekripsi pesan terenkripsi dengan kunci simetris KMS (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 simetrisKMS.

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 AWS CLI parameter dari file, lihat Memuat AWS CLI parameter dari file < https://docs.aws.amazon.com/cli/ latest/userguide/cli - usage-parameters-file .html> di Panduan Pengguna Antarmuka Baris AWS Perintah dan Praktik Terbaik untuk Parameter File Lokal< https://aws.amazon.com/blogs/ pengembang/ best-practices-for-local -file-parameters/> di Blog Alat Baris AWS Perintah. Tentukan kunci untuk mendekripsi cipherText.Parameter tidak diperlukan saat mendekripsi dengan KMS kunci simetris. --key-id KMS AWS KMSbisa mendapatkan ID kunci dari KMS kunci yang digunakan untuk mengenkripsi data dari metadata dalam ciphertext. Tapi itu selalu merupakan praktik terbaik untuk menentukan KMS kunci yang Anda gunakan. Praktek ini memastikan bahwa Anda menggunakan KMS kunci yang Anda inginkan, dan mencegah Anda dari secara tidak sengaja mendekripsi ciphertext menggunakan KMS kunci yang tidak Anda percayai. Minta output plaintext sebagai nilai --query teks.Parameter memberitahu untuk mendapatkan hanya nilai bidang dari output. CLI Plaintext --outputParameter mengembalikan output sebagai text.base64-decode plaintext dan menyimpannya dalam file.Contoh berikut pipa (|) nilai Plaintext parameter ke utilitas Base64, yang menerjemahkan itu. Kemudian, itu mengalihkan (>) output yang diterjemahkan 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 adalah base64-decoded dan disimpan dalam file.

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

Contoh 2: Untuk mendekripsi pesan terenkripsi dengan KMS kunci 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 Referensi Layanan API Manajemen AWS Utama.

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

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

Saat menggunakan KMS kunci 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 adalah base64-decoded dan disimpan dalam file.

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

  • Untuk API detailnya, lihat Mendekripsi di Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakandelete-alias.

AWS CLI

Untuk menghapus AWS KMS alias

delete-aliasContoh berikut menghapus alias/example-alias 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 AWS Kunci.

  • Untuk API detailnya, lihat DeleteAliasdi Referensi AWS CLI Perintah.

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

AWS CLI

Untuk menghapus toko kunci kustom

delete-custom-key-storeContoh berikut menghapus toko kunci kustom yang ditentukan.

Menghapus AWS penyimpanan HSM kunci Cloud tidak berpengaruh pada HSM klaster Cloud terkait. Menghapus penyimpanan kunci eksternal tidak berpengaruh pada proxy penyimpanan kunci eksternal terkait, pengelola kunci eksternal, atau kunci eksternal.

NOTE: Sebelum Anda dapat menghapus toko kunci khusus, Anda harus menjadwalkan penghapusan semua KMS kunci di toko kunci kustom dan kemudian menunggu KMS kunci tersebut dihapus. Kemudian, Anda harus memutuskan sambungan toko kunci khusus. Untuk bantuan menemukan KMS kunci di toko kunci kustom Anda, lihat Menghapus AWS penyimpanan HSM kunci Cloud (API) di Panduan Pengembang Layanan Manajemen AWS Kunci.

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 AWS penyimpanan HSM kunci Cloud, lihat Menghapus AWS penyimpanan HSM kunci Cloud di Panduan Pengembang Layanan Manajemen AWS Kunci.

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

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

AWS CLI

Untuk menghapus materi kunci yang diimpor dari KMS kunci

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

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

Perintah ini tidak menghasilkan output. Untuk memverifikasi bahwa materi kunci dihapus, gunakan describe-key perintah untuk mencari status kunci dari PendingImport atauPendingDeletion.

Untuk informasi selengkapnya, lihat Menghapus materi kunci yang diimpor< https://docs.aws.amazon.com/kms/ latest/developerguide/importing - keys-delete-key-material .html> di Panduan Pengembang Layanan Manajemen AWS 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 KMS key pair asymmetric NIST -recommended elliptic curve (ECC) atau SM2 (China Regions only) dengan KeyUsage nilai to call. 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 DeriveSharedSecretdi APIReferensi Layanan Manajemen AWS Utama.

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

AWS CLI

Contoh 1: Untuk mendapatkan detail tentang AWS penyimpanan HSM kunci Cloud

describe-custom-key-storeContoh berikut menampilkan detail tentang AWS penyimpanan HSM kunci Cloud yang ditentukan. Perintahnya 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 toko 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 berguna tentang AWS penyimpanan HSM kunci Cloud termasuk status koneksinya (ConnectionState). Jika status koneksiFAILED, output mencakup 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 penyimpanan HSM kunci AWS Cloud di Panduan Pengembang Layanan Manajemen AWS Kunci.

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

describe-custom-key-storeContoh berikut menampilkan rincian tentang penyimpanan kunci eksternal yang ditentukan. Perintahnya 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 toko 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 rincian berguna tentang penyimpanan kunci eksternal termasuk status koneksi (ConnectionState). Jika status koneksiFAILED, output mencakup 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 AWS Kunci.

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

describe-custom-key-storeContoh berikut menampilkan rincian tentang penyimpanan kunci eksternal yang ditentukan. Perintahnya 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 toko 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 rincian berguna tentang penyimpanan kunci eksternal termasuk status koneksi (ConnectionState). Jika status koneksiFAILED, output mencakup 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 AWS Kunci.

Contoh kode berikut menunjukkan cara menggunakandescribe-key.

AWS CLI

Contoh 1: Untuk menemukan informasi rinci tentang KMS kunci

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

Untuk menentukan KMS kunci, gunakan key-id parameter. Contoh ini menggunakan nilai nama alias, tetapi Anda dapat menggunakan ID kunci, kunci, nama aliasARN, 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", "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 RSA asimetris KMS

describe-keyContoh berikut mendapatkan informasi rinci tentang RSA KMS kunci 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-region ini adalah kunci enkripsi simetris. Output dari describe-key perintah untuk setiap kunci Multi-region mengembalikan informasi tentang kunci utama dan semua replika nya.

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", "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 HMAC KMS kunci

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

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 API detailnya, lihat DescribeKeydi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakandisable-key-rotation.

AWS CLI

Untuk menonaktifkan rotasi otomatis KMS tombol

disable-key-rotationContoh berikut menonaktifkan rotasi otomatis KMS kunci 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 KMS kunci, gunakan get-key-rotation-status perintah.

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

Contoh kode berikut menunjukkan cara menggunakandisable-key.

AWS CLI

Untuk menonaktifkan sementara KMS kunci

Contoh berikut menggunakan disable-key perintah untuk menonaktifkan KMS kunci yang dikelola pelanggan. Untuk mengaktifkan kembali KMS kunci, gunakan enable-key perintah.

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

Perintah ini tidak menghasilkan output.

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

  • Untuk API detailnya, lihat DisableKeydi Referensi AWS CLI Perintah.

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

AWS CLI

Untuk memutuskan sambungan toko kunci kustom

disconnect-custom-key-storeContoh berikut memutus penyimpanan kunci kustom dari HSM klaster AWS Cloud-nya. Anda mungkin memutuskan sambungan penyimpanan kunci untuk memecahkan masalah, memperbarui pengaturannya, atau untuk mencegah KMS kunci di keystore digunakan dalam operasi kriptografi.

Perintah ini sama untuk semua toko kunci khusus, termasuk toko HSM kunci AWS Cloud dan toko 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 perintah. describe-custom-key-stores

Untuk informasi selengkapnya tentang memutuskan sambungan penyimpanan HSM kunci AWS Cloud, lihat Menyambungkan dan memutuskan AWS penyimpanan HSM kunci Cloud di Panduan Pengembang Layanan Manajemen AWS Kunci.

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

Contoh kode berikut menunjukkan cara menggunakanenable-key-rotation.

AWS CLI

Untuk mengaktifkan rotasi KMS tombol secara otomatis

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

--key-idParameter mengidentifikasi KMS kunci. Contoh ini menggunakan ARN nilai kunci, tetapi Anda dapat menggunakan ID kunci atau KMS --rotation-period-in-days kunci.Parameter menentukan jumlah hari antara setiap tanggal rotasi. ARN 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 KMS kunci diaktifkan, gunakan get-key-rotation-status perintah.

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

Contoh kode berikut menunjukkan cara menggunakanenable-key.

AWS CLI

Untuk mengaktifkan KMS kunci

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

Untuk menentukan KMS kunci, gunakan key-id parameter. Contoh ini menggunakan nilai ID kunci, tetapi Anda dapat menggunakan ID kunci atau ARN nilai 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 KMS kunci diaktifkan, gunakan describe-key perintah. Lihat nilai KeyState dan Enabled bidang dalam describe-key output.

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

  • Untuk API detailnya, lihat EnableKeydi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanencrypt.

AWS CLI

Contoh 1: Untuk mengenkripsi isi file di Linux atau macOS

encryptPerintah berikut menunjukkan cara yang disarankan untuk mengenkripsi data dengan file. AWS CLI

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

Perintah tersebut melakukan beberapa hal:

Menggunakan --plaintext parameter untuk menunjukkan data yang akan dienkripsi. Nilai parameter ini harus Base64-encode.Nilai plaintext parameter harus base64-dikodekan, atau Anda harus menggunakan fileb:// awalan, yang memberitahu AWS CLI untuk membaca data biner dari file.Jika file tidak dalam direktori saat ini, ketik path lengkap ke file. Misalnya: fileb:///var/tmp/ExamplePlaintextFile atau fileb://C:\Temp\ExamplePlaintextFile. Untuk informasi lebih lanjut tentang membaca nilai AWS CLI parameter dari file, lihat Memuat Parameter dari File di Panduan Pengguna Antarmuka Baris AWS Perintah dan Praktik Terbaik untuk Parameter File Lokal di Blog Alat Baris AWS Perintah.Menggunakan --query parameter --output dan untuk mengontrol output perintah.Parameter ini mengekstrak data terenkripsi, yang disebut ciphertext, dari output perintah.Untuk informasi lebih lanjut tentang mengontrol output, lihat Mengontrol Output Perintah dalam Panduan Pengguna Antarmuka Baris AWS Perintah.Menggunakan base64 utilitas untuk memecahkan kode output yang diekstraksi menjadi data biner.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 mendekripsi itu.Menyimpan ciphertext biner ke file.Bagian terakhir dari perintah (> ExampleEncryptedFile) menyimpan ciphertext biner ke file untuk membuat dekripsi lebih mudah. Untuk perintah contoh 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 asimetris KMS

encryptPerintah berikut menunjukkan cara mengenkripsi plaintext dengan kunci asimetris. KMS parameter --encryption-algorithm diperlukan. Seperti pada semua encrypt CLI perintah, plaintext parameter harus dikodekan base64, atau Anda harus menggunakan fileb:// awalan, yang memberi tahu 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 API detailnya, lihat Enkripsi di Referensi AWS CLI Perintah.

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

AWS CLI

Untuk menghasilkan ECC NIST P384 asymmetric data key pair

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

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

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

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

NOTE: Nilai-nilai dalam output dari contoh ini terpotong untuk tampilan.

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", "KeyPairSpec": "ECC_NIST_P384" }

The PublicKey dan dikembalikan dalam PrivateKeyCiphertextBlob format yang dikodekan base64.

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

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

AWS CLI

Untuk menghasilkan data key pair RSA asimetris 2048-bit

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

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

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

NOTE: Nilai-nilai dalam output dari contoh ini terpotong untuk tampilan.

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", "KeyPairSpec": "RSA_2048" }

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

Untuk informasi selengkapnya, lihat Pasangan kunci data di Panduan Pengembang Layanan Manajemen AWS 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 menelepon AWS KMS untuk mendekripsi kunci data saat 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.

KMSKunci yang Anda tentukan harus berupa KMS kunci enkripsi simetris, yaitu KMS kunci 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" }

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

Untuk informasi selengkapnya, lihat Kunci data di Panduan Pengembang Layanan Manajemen AWS 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 segera digunakan dan dihapus, dan salinan kunci data yang dienkripsi di bawah kunci yang ditentukan. KMS Anda dapat dengan aman menyimpan kunci data terenkripsi 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.

KMSKunci yang Anda tentukan harus berupa KMS kunci enkripsi simetris, yaitu KMS kunci 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", "CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogLqPWZconQhwHAIBEIA7d9AC7GeJJM34njQvg4Wf1d5sw0NIo1MrBqZa+YdhV8MrkBQPeac0ReRVNDt9qleAt+SHgIRF8P0H+7U=" }

Plaintext(Kunci data teks biasa) dan CiphertextBlob (kunci data terenkripsi) dikembalikan dalam format yang disandikan base64.

Untuk informasi selengkapnya, lihat Kunci data < https://docs.aws.amazon.com/kms/ latest/developerguide/concepts .html #data -keys di Panduan Pengembang Layanan Manajemen AWS 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 segera digunakan dan dihapus, dan salinan kunci data yang dienkripsi di bawah kunci yang ditentukan. KMS Anda dapat dengan aman menyimpan kunci data terenkripsi 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).

KMSKunci yang Anda tentukan harus berupa KMS kunci enkripsi simetris, yaitu KMS kunci dengan nilai spesifikasi kunci _. SYMMETRIC DEFAULT

NOTE: Nilai-nilai dalam output dari contoh ini terpotong untuk tampilan.

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" }

Plaintext(Kunci data teks biasa) dan CiphertextBlob (kunci data terenkripsi) dikembalikan dalam format yang disandikan base64.

Untuk informasi selengkapnya, lihat Kunci data < https://docs.aws.amazon.com/kms/ latest/developerguide/concepts .html #data -keys di Panduan Pengembang Layanan Manajemen AWS Kunci.

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 256-bit (32-byte), string byte acak 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 KMS kunci ketika Anda menjalankan perintah ini. String byte acak tidak terkait dengan KMS kunci apa pun.

Secara default, AWS KMS menghasilkan nomor acak. Namun, jika Anda menentukan penyimpanan kunci kustom< https://docs.aws.amazon.com/kms/ latest/developerguide/custom - key-store-overview .html>, string byte acak dihasilkan di HSM klaster AWS Cloud 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 text untuk mengarahkan untuk mengembalikan output sebagai teks, bukan JSON .Ini menggunakan AWS CLI untuk mengekstrak nilai Plaintext properti dari response.It pipa (|) output dari perintah --query parameter ke base64 utilitas, yang menerjemahkan output yang diekstraksi.Ia menggunakan operator pengalihan (>) untuk menyimpan decoded byte string ke file.It menggunakan ExampleRandom operator redirection (>) 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 GenerateRandomdi APIReferensi Layanan Manajemen AWS Utama.

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

Contoh berikut menggunakan generate-random perintah untuk menghasilkan string byte acak 256-bit (32-byte) yang dikodekan base64. 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 simpan dalam file sementara,. ExampleRandom.base64

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

Karena output dari 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 diterjemahkan dalam file. ExampleRandom

certutil -decode ExampleRandom.base64 ExampleRandom

Output:

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

Untuk informasi selengkapnya, lihat GenerateRandomdi APIReferensi Layanan Manajemen AWS Utama.

  • Untuk API detailnya, lihat GenerateRandomdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanget-key-policy.

AWS CLI

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

get-key-policyContoh berikut mendapatkan kebijakan kunci dari satu KMS kunci dan menyimpannya dalam file teks. Kemudian, itu menggantikan kebijakan KMS kunci 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 bukanJSON.

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 lebih lanjut, lihat PutKeyPolicydi AWS KMSAPIReferensi.

  • Untuk API detailnya, lihat GetKeyPolicydi Referensi AWS CLI Perintah.

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

AWS CLI

Untuk mengambil status rotasi untuk KMS kunci.

get-key-rotation-statusContoh berikut mengembalikan informasi tentang status rotasi KMS kunci yang ditentukan, termasuk apakah rotasi otomatis diaktifkan, periode rotasi, dan tanggal rotasi terjadwal berikutnya. Anda dapat menggunakan perintah ini pada kunci yang dikelola pelanggan dan KMS kunci AWS KMS terkelola. Namun, semua KMS kunci 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 kunci di Panduan Pengembang Layanan Manajemen AWS Kunci.

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

AWS CLI

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

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

Untuk menentukan KMS kunci, 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 Mengunduh kunci publik dan token impor di Panduan Pengembang Layanan Manajemen AWS Kunci.

Contoh kode berikut menunjukkan cara menggunakanget-public-key.

AWS CLI

Contoh 1: Untuk mengunduh kunci publik dari kunci asimetris KMS

get-public-keyContoh berikut mengunduh kunci publik dari kunci asimetrisKMS.

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 penggunaan KMS kunci asimetris AWS KMS, lihat Menggunakan Kunci Simetris dan Asimetris di Referensi Layanan Manajemen AWS Kunci. API

Contoh 2: Untuk mengonversi kunci publik ke DER format (Linux dan macOS)

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

Ketika Anda menggunakan get-public-key perintah di AWS CLI, ia mengembalikan kunci publik X.509 DER -encoded yang dikodekan Base64. Contoh ini mendapatkan nilai PublicKey properti sebagai teks. Ini Base64-mendekode PublicKey dan menyimpannya dalam file. public_key.der outputParameter mengembalikan output sebagai teks, bukanJSON. --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 ID kunci contoh 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 penggunaan KMS kunci asimetris AWS KMS, lihat Menggunakan Kunci Simetris dan Asimetris di Referensi Layanan Manajemen AWS Kunci. API

  • Untuk API detailnya, lihat GetPublicKeydi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanimport-key-material.

AWS CLI

Untuk mengimpor materi kunci ke dalam KMS kunci

import-key-materialContoh berikut mengunggah materi kunci ke dalam KMS kunci yang dibuat tanpa materi kunci. Keadaan kunci dari KMS kunci 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 bahan utama secara otomatis kedaluwarsa pada tanggal dan waktu yang ditentukan oleh valid-to parameter. Ketika materi kunci kedaluwarsa, AWS KMS menghapus materi kunci, status kunci dari kunci berubah Pending import dan KMS KMS kunci menjadi tidak dapat digunakan. Untuk mengembalikan KMS kunci, Anda harus mengimpor ulang materi kunci yang sama. Untuk menggunakan bahan kunci yang berbeda, Anda harus membuat KMS kunci baru.

Sebelum menjalankan perintah ini, ganti ID kunci contoh dengan ID kunci atau kunci yang valid 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

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya tentang mengimpor materi utama, lihat Mengimpor Materi Utama di Panduan Pengembang Layanan Manajemen AWS Kunci.

Contoh kode berikut menunjukkan cara menggunakanlist-aliases.

AWS CLI

Contoh 1: Untuk mencantumkan semua alias di AWS akun dan Wilayah

Contoh berikut menggunakan list-aliases perintah untuk daftar semua alias di Wilayah default AWS akun. Outputnya mencakup alias yang terkait dengan kunci AWS terkelola dan KMS kunci yang dikelola KMS 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 daftar semua alias untuk kunci tertentu KMS

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

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

Contoh ini menggunakan ID kunci KMS kunci untuk --key-id parameter, tetapi Anda dapat menggunakan ID kunci, kunci, nama aliasARN, 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 AWS Kunci.

  • Untuk API detailnya, lihat ListAliasesdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanlist-grants.

AWS CLI

Untuk melihat hibah pada kunci AWS KMS

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

Perintah ini menggunakan key-id parameter dengan ID kunci untuk mengidentifikasi KMS kunci. Anda dapat menggunakan ID kunci atau kunci ARN untuk mengidentifikasi KMS kunci. Untuk mendapatkan ID kunci atau kunci kunci ARN yang AWS dikelolaKMS, 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 KMS kunci untuk operasi kriptografi, dan memberikan izin untuk melihat detail tentang key DescribeKey () dan untuk KMS menghentikan hibah (). RetireGrant Batasan EncryptionContextSubset 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 AWS KMS di Panduan Pengembang Layanan Manajemen AWS Utama.

  • Untuk API detailnya, lihat ListGrantsdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanlist-key-policies.

AWS CLI

Untuk mendapatkan nama-nama kebijakan kunci untuk KMS kunci

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

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

Untuk menentukan KMS kunci, 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 AWS KMS utama, lihat Menggunakan Kebijakan Utama AWS KMS di Panduan Pengembang Layanan Manajemen AWS Kunci.

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 KMS kunci 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 kunci di Panduan Pengembang Layanan Manajemen AWS Kunci.

Contoh kode berikut menunjukkan cara menggunakanlist-keys.

AWS CLI

Untuk mendapatkan KMS kunci di akun dan Wilayah

list-keysContoh berikut mendapatkan KMS kunci dalam akun dan Region. Perintah ini mengembalikan kunci AWS terkelola 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 API detailnya, lihat ListKeysdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanlist-resource-tags.

AWS CLI

Untuk mendapatkan tag pada KMS kunci

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

Untuk menentukan KMS kunci, 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 penggunaan tag AWS KMS, lihat Menandai kunci di Panduan Pengembang Layanan Manajemen AWS Kunci.

Contoh kode berikut menunjukkan cara menggunakanlist-retirable-grants.

AWS CLI

Untuk melihat hibah bahwa kepala sekolah dapat pensiun

list-retirable-grantsContoh berikut menampilkan semua hibah yang ExampleAdmin pengguna dapat pensiun pada KMS kunci di AWS akun dan Wilayah. Anda dapat menggunakan perintah seperti ini untuk melihat hibah bahwa setiap prinsipal akun dapat pensiun pada KMS kunci di AWS akun dan Wilayah.

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

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

Output menunjukkan bahwa ExampleAdmin pengguna memiliki izin untuk menghentikan hibah pada dua KMS kunci berbeda di akun dan wilayah. Selain kepala sekolah yang pensiun, akun memiliki izin untuk mempensiunkan 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 AWS KMS di Panduan Pengembang Layanan Manajemen AWS Utama.

Contoh kode berikut menunjukkan cara menggunakanput-key-policy.

AWS CLI

Untuk mengubah kebijakan kunci untuk KMS kunci

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

Untuk memulai, buat kebijakan kunci dan simpan dalam JSON file lokal. Dalam contoh ini, file tersebut 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 IAM kebijakan untuk mengontrol akses ke KMS kunci. Pernyataan kedua memberikan izin test-user pengguna untuk menjalankan list-keys perintah describe-key dan pada KMS kunci.

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 KMS kunci, contoh ini menggunakan ID kunci, tetapi Anda juga dapat menggunakan kunciARN. Untuk menentukan kebijakan kunci, perintah menggunakan policy parameter. Untuk menunjukkan bahwa kebijakan ada dalam file, kebijakan tersebut menggunakan file:// awalan yang 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. Contoh perintah berikut mendapatkan kebijakan kunci untuk KMS kunci 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 Mengubah Kebijakan Utama di Panduan Pengembang Layanan Manajemen AWS Kunci.

  • Untuk API detailnya, lihat PutKeyPolicydi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanre-encrypt.

AWS CLI

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

Contoh re-encrypt perintah berikut menunjukkan cara yang disarankan untuk mengenkripsi ulang data dengan file. 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 AWS CLI parameter dari file, lihat Memuat AWS CLI parameter dari file < https://docs.aws.amazon.com/cli/ latest/userguide/cli - usage-parameters-file .html> di Panduan Pengguna Antarmuka Baris AWS Perintah dan Praktik Terbaik untuk Parameter File Lokal< https://aws.amazon.com/blogs/ pengembang/ best-practices-for-local -file-parameters/> di Blog Alat Baris AWS Perintah. Tentukan KMS kunci sumber, yang mendekripsi ciphertext. Parameter tidak diperlukan saat mendekripsi dengan enkripsi simetris --source-key-id KMSkunci. AWS KMSbisa mendapatkan KMS kunci yang digunakan untuk mengenkripsi data dari metadata di gumpalan ciphertext. Tapi itu selalu merupakan praktik terbaik untuk menentukan KMS kunci yang Anda gunakan. Praktik ini memastikan bahwa Anda menggunakan KMS kunci yang Anda inginkan, dan mencegah Anda mendekripsi ciphertext secara tidak sengaja menggunakan kunci yang tidak Anda percayai. Tentukan KMS KMS kunci tujuan, yang mengenkripsi ulang data.Parameter selalu diperlukan. --destination-key-id Contoh ini menggunakan kunciARN, tetapi Anda dapat menggunakan pengidentifikasi kunci yang valid.Minta output plaintext sebagai nilai --query teks.Parameter memberitahu CLI untuk mendapatkan hanya nilai bidang dari output. Plaintext --outputParameter mengembalikan output sebagai text.base64-decode plaintext dan menyimpannya dalam file.Contoh berikut pipa (|) nilai Plaintext parameter ke utilitas Base64, yang menerjemahkan itu. Kemudian, itu mengalihkan (>) output yang diterjemahkan ke file. ExamplePlaintext

Sebelum menjalankan perintah ini, ganti kunci contoh IDs 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 adalah base64-decoded dan disimpan dalam file.

Untuk informasi selengkapnya, lihat ReEncrypt < https://docs.aws.amazon.com/kms/ latest/APIReference/API _ ReEncrypt .html di APIReferensi Layanan Manajemen AWS Kunci.

Contoh 2: Untuk mengenkripsi ulang pesan terenkripsi di bawah KMS tombol 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 < https://docs.aws.amazon.com/kms/ latest/APIReference/API _ ReEncrypt .html di APIReferensi Layanan Manajemen AWS Kunci.

  • Untuk API detailnya, lihat ReEncryptdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanretire-grant.

AWS CLI

Untuk pensiun hibah pada kunci master pelanggan

retire-grantContoh berikut menghapus hibah dari KMS kunci.

Contoh perintah berikut menentukan grant-id dan key-id parameter. Nilai key-id parameter harus menjadi kunci ARN KMS kunci.

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 API detailnya, lihat RetireGrantdi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanrevoke-grant.

AWS CLI

Untuk mencabut hibah pada kunci master pelanggan

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

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

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

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

  • Untuk API detailnya, lihat RevokeGrantdi Referensi AWS CLI Perintah.

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

AWS CLI

Untuk melakukan rotasi kunci sesuai permintaan KMS

rotate-key-on-demandContoh berikut segera memulai rotasi bahan kunci untuk KMS kunci 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 AWS Kunci.

Contoh kode berikut menunjukkan cara menggunakanschedule-key-deletion.

AWS CLI

Untuk menjadwalkan penghapusan kunci yang dikelola KMS pelanggan.

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

--key-idParameter mengidentifikasi KMS kunci. Contoh ini menggunakan ARN nilai kunci, tetapi Anda dapat menggunakan ID kunci atau KMS --pending-window-in-days kunci.Parameter menentukan panjang masa tunggu 7-30 hari. ARN Secara default, masa tunggu adalah 30 hari. Contoh ini menentukan nilai 15, yang memberitahu AWS untuk secara permanen menghapus KMS kunci 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

Responsnya mencakup kunciARN, status kunci, periode tunggu (PendingWindowInDays), dan tanggal penghapusan dalam waktu Unix. Untuk melihat tanggal penghapusan dalam waktu lokal, gunakan konsol. AWS KMS KMSkunci 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 kunci di Panduan Pengembang Layanan Manajemen AWS 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 basis-64 yang dapat Anda verifikasi dengan menggunakan perintah. verify

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

Di AWS CLI 2.0, nilai message parameter harus dikodekan Base64. 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 ID kunci contoh dengan ID kunci yang valid dari AWS akun Anda. ID kunci harus mewakili KMS kunci 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 penggunaan KMS kunci asimetris AWS KMS, lihat Kunci asimetris AWS KMS di Panduan Pengembang Layanan Manajemen AWS Kunci.

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

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

signPerintah ini memerlukan pesan yang disandikan Base64 dan algoritme penandatanganan yang didukung oleh kunci asimetris Anda. KMS Untuk mendapatkan algoritma penandatanganan yang didukung KMS kunci 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 KMS kunci 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 penggunaan KMS kunci asimetris AWS KMS, lihat Kunci asimetris AWS KMS di Panduan Pengembang Layanan Manajemen AWS Kunci.

  • Untuk API detailnya, lihat Referensi AWS CLI Perintah Masuk.

Contoh kode berikut menunjukkan cara menggunakantag-resource.

AWS CLI

Untuk menambahkan tag ke KMS kunci

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

Untuk menentukan KMS kunci, 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 AWS KMS KMS tombol, gunakan list-resource-tags perintah.

Untuk informasi selengkapnya tentang penggunaan tag AWS KMS, lihat Menandai kunci di Panduan Pengembang Layanan Manajemen AWS Kunci.

  • Untuk API detailnya, lihat TagResourcedi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanuntag-resource.

AWS CLI

Untuk menghapus tag dari KMS kunci

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

Untuk menentukan KMS kunci, 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 AWS KMS KMS tombol, gunakan list-resource-tags perintah.

Untuk informasi selengkapnya tentang penggunaan tag AWS KMS, lihat Menandai kunci di Panduan Pengembang Layanan Manajemen AWS Kunci.

  • Untuk API detailnya, lihat UntagResourcedi Referensi AWS CLI Perintah.

Contoh kode berikut menunjukkan cara menggunakanupdate-alias.

AWS CLI

Untuk mengaitkan alias dengan kunci yang berbeda KMS

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

--alias-nameParameter menentukan alias. Nilai nama alias harus dimulai denganalias/. --target-key-id Parameter menentukan KMS kunci untuk mengaitkan dengan alias. Anda tidak perlu menentukan KMS kunci 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 AWS Kunci.

  • Untuk API detailnya, lihat UpdateAliasdi Referensi AWS CLI Perintah.

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

AWS CLI

Contoh 1: Untuk mengedit nama ramah dari toko kunci kustom

update-custom-key-storeContoh berikut mengubah nama toko kunci kustom. Contoh ini berfungsi untuk AWS penyimpanan HSM kunci Cloud 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 toko HSM kunci AWS Cloud, Anda harus terlebih dahulu memutuskan sambungan penyimpanan kunci, seperti dengan menggunakan disconnect-custom-key-store perintah. Anda dapat memperbarui nama ramah dari toko kunci eksternal saat terhubung atau terputus. Untuk menemukan status koneksi toko 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 AWS penyimpanan HSM kunci Cloud, lihat Mengedit setelan penyimpanan HSM kunci AWS Cloud di Panduan Pengembang Layanan Manajemen AWS Kunci.

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

Contoh 2: Untuk mengedit kata sandi kmsuser dari toko kunci Cloud AWS HSM

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

NOTE: Sebelum memperbarui AWS penyimpanan HSM kunci Cloud, Anda harus memutusnya. Gunakan perintah disconnect-custom-key-store. Setelah perintah selesai, Anda dapat menghubungkan kembali AWS penyimpanan HSM kunci Cloud. 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 AWS penyimpanan HSM kunci Cloud, lihat Mengedit setelan penyimpanan HSM kunci AWS Cloud di Panduan Pengembang Layanan Manajemen AWS Kunci.

Contoh 3: Untuk mengedit HSM klaster AWS Cloud dari AWS penyimpanan HSM kunci Cloud

Contoh berikut mengubah HSM klaster AWS Cloud yang dikaitkan dengan AWS penyimpanan HSM kunci Cloud ke klaster terkait, seperti cadangan lain dari cluster yang sama.

NOTE: Sebelum memperbarui AWS penyimpanan HSM kunci Cloud, Anda harus memutusnya. Gunakan perintah disconnect-custom-key-store. Setelah perintah selesai, Anda dapat menghubungkan kembali AWS penyimpanan HSM kunci Cloud. 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 AWS penyimpanan HSM kunci Cloud, lihat Mengedit setelan penyimpanan HSM kunci AWS Cloud di Panduan Pengembang Layanan Manajemen AWS Kunci.

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 kredensi yang tidak valid atau untuk mengubah kredensialnya saat proxy penyimpanan kunci eksternal memutarnya.

Tetapkan kredensi otentikasi proxy untuk AWS KMS di toko kunci eksternal Anda. Kemudian gunakan perintah ini untuk memberikan kredensialnya. AWS KMS AWS KMSmenggunakan 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 toko 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 AWS Kunci.

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 VPC titik akhir. Selain mengubah xks-proxy-connectivity nilai, Anda harus mengubah xks-proxy-uri-endpoint nilai untuk mencerminkan DNS nama pribadi yang terkait dengan layanan VPC titik akhir. Anda juga harus menambahkan xks-proxy-vpc-endpoint-service-name nilai.

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

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 AWS Kunci.

Contoh kode berikut menunjukkan cara menggunakanupdate-key-description.

AWS CLI

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

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

--key-idParameter mengidentifikasi KMS kunci dalam perintah. Contoh ini menggunakan ARN nilai kunci, tetapi Anda dapat menggunakan ID kunci atau kunci ARN KMS --description kunci.Parameter menentukan deskripsi baru. Nilai parameter ini menggantikan deskripsi KMS kunci 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 KMS kunci, gunakan describe-key perintah.

Untuk informasi selengkapnya, lihat UpdateKeyDescriptiondi APIReferensi Layanan Manajemen AWS Utama.

Contoh 2: Untuk menghapus deskripsi KMS kunci yang dikelola pelanggan

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

--key-idParameter mengidentifikasi KMS kunci dalam perintah. Contoh ini menggunakan nilai ID kunci, tetapi Anda dapat menggunakan ID kunci atau kunci ARN KMS --description kunci.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 KMS kunci, gunakan perintah deskripsi-kunci.

Untuk informasi selengkapnya, lihat UpdateKeyDescriptiondi APIReferensi Layanan Manajemen AWS Utama.

Contoh kode berikut menunjukkan cara menggunakanverify.

AWS CLI

Untuk memverifikasi tanda tangan digital

verifyContoh berikut memverifikasi tanda tangan kriptografi untuk pesan singkat yang disandikan Base64. ID kunci, pesan, jenis pesan, dan algoritma penandatanganan harus sama dengan yang digunakan untuk menandatangani pesan. Tanda tangan yang Anda tentukan tidak dapat dikodekan base64. Untuk bantuan decoding tanda tangan yang dikembalikan sign perintah, lihat contoh sign perintah.

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

Sebelum menjalankan perintah ini, ganti ID kunci contoh 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 penggunaan KMS kunci asimetris AWS KMS, lihat Menggunakan kunci asimetris di Panduan Pengembang Layanan Manajemen AWS Kunci.

  • Untuk API detailnya, lihat Verifikasi di Referensi AWS CLI Perintah.