Melihat KMS tombol dengan API - AWS Key Management Service

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

Melihat KMS tombol dengan API

Anda dapat menggunakan AWS Key Management Service (AWS KMS) API untuk melihat KMS kunci Anda. Bagian ini menunjukkan beberapa operasi yang mengembalikan detail tentang KMS kunci yang ada. Contohnya menggunakan AWS Command Line Interface (AWS CLI), tetapi Anda dapat menggunakan bahasa pemrograman yang didukung.

ListKeys: Dapatkan ID dan ARN semua KMS kunci

ListKeysOperasi mengembalikan ID dan Amazon Resource Name (ARN) dari semua KMS kunci di akun dan Region.

Misalnya, panggilan ke ListKeys operasi ini mengembalikan ID dan ARN setiap KMS kunci di akun fiktif ini. Untuk contoh dalam beberapa bahasa pemrograman, lihat Gunakan ListKeys dengan AWS SDKatau CLI.

$ aws kms list-keys { "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" } }

DescribeKey: Dapatkan informasi rinci tentang KMS kunci

DescribeKeyOperasi mengembalikan rincian tentang KMS kunci yang ditentukan. Untuk mengidentifikasi KMS kunci, gunakan ID kunci, kunci ARN, nama alias, atau alias ARN.

Berbeda dengan ListKeysoperasi, yang hanya menampilkan KMS kunci di akun dan Wilayah pemanggil, pengguna yang berwenang dapat menggunakan DescribeKey operasi untuk mendapatkan detail tentang KMS kunci di akun lain.

catatan

DescribeKeyTanggapan tersebut mencakup keduanya KeySpec dan CustomerMasterKeySpec anggota dengan nilai yang sama. CustomerMasterKeySpecAnggota tidak digunakan lagi.

Misalnya, panggilan ini untuk DescribeKey mengembalikan informasi tentang KMS kunci enkripsi simetris. Bidang dalam respons bervariasi dengan AWS KMS key spesifikasi, status kunci, dan asal material utama. Untuk contoh dalam beberapa bahasa pemrograman, lihat Gunakan DescribeKey dengan AWS SDKatau CLI.

$ aws kms describe-key --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyMetadata": { "Origin": "AWS_KMS", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Description": "", "KeyManager": "CUSTOMER", "Enabled": true, "KeySpec": "SYMMETRIC_DEFAULT", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1499988169.234, "MultiRegion": false, "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }

Contoh ini memanggil DescribeKey operasi pada KMS kunci asimetris yang digunakan untuk penandatanganan dan verifikasi. Tanggapan tersebut mencakup algoritma penandatanganan yang AWS KMS mendukung KMS kunci ini.

$ aws kms describe-key --key-id 0987dcba-09fe-87dc-65ba-ab0987654321 { "KeyMetadata": { "KeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "Origin": "AWS_KMS", "Arn": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", "KeyState": "Enabled", "KeyUsage": "SIGN_VERIFY", "CreationDate": 1569973196.214, "Description": "", "KeySpec": "ECC_NIST_P521", "CustomerMasterKeySpec": "ECC_NIST_P521", "AWSAccountId": "111122223333", "Enabled": true, "MultiRegion": false, "KeyManager": "CUSTOMER", "SigningAlgorithms": [ "ECDSA_SHA_512" ] } }

GetKeyPolicy: Dapatkan kebijakan kunci yang dilampirkan ke KMS kunci

GetKeyPolicyOperasi mendapatkan kebijakan kunci yang dilampirkan pada KMS kunci. Untuk mengidentifikasi KMS kunci, gunakan ID kunci atau kunciARN. Anda juga harus menentukan nama kebijakan, yang selalu default. (Jika output Anda sulit dibaca, tambahkan --output text opsi ke perintah Anda.) GetKeyPolicyhanya berfungsi pada KMS kunci di akun penelepon dan Wilayah.

Untuk contoh dalam beberapa bahasa pemrograman, lihat Gunakan GetKeyPolicy dengan AWS SDKatau CLI.

$ aws kms get-key-policy --key-id 1234abcd-12ab-34cd-56ef-1234567890ab --policy-name default { "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" : "*" } ] }

ListAliases: Dapatkan nama alias dan ARNs kunci KMS

ListAliasesOperasi mengembalikan alias di akun dan Wilayah. TargetKeyIdDalam respon menampilkan ID kunci dari KMS kunci yang dirujuk alias, jika ada.

Secara default, perintah ListAliases mengembalikan semua alias di akun dan wilayah. Ini termasuk alias yang Anda buat dan kaitkan dengan kunci terkelola pelanggan Anda, dan alias yang AWS diciptakan dan diasosiasikan dengan Kunci yang dikelola AWSdi akun Anda. Anda bisa mengenali AWS alias karena nama mereka memiliki formataws/<service-name>, sepertiaws/dynamodb.

Responsnya mungkin juga menyertakan alias tanpa TargetKeyId bidang, seperti aws/redshift alias dalam contoh ini. Ini adalah alias yang telah ditentukan sebelumnya yang AWS telah dibuat tetapi belum dikaitkan dengan KMS kunci.

Untuk contoh dalam beberapa bahasa pemrograman, lihat Gunakan ListAliases dengan AWS SDKatau CLI.

$ aws kms list-aliases { "Aliases": [ { "AliasName": "alias/access-key", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/access-key", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": 1516435200.399, "LastUpdatedDate": 1516435200.399 }, { "AliasName": "alias/financeKey", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/financeKey", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": 1604958290.014, "LastUpdatedDate": 1604958290.014 }, { "AliasName": "alias/ECC-P521-Sign", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/ECC-P521-Sign", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1693622000.704, "LastUpdatedDate": 1693622000.704 }, { "AliasName": "alias/ImportedKey", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/ImportedKey", "TargetKeyId": "1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d", "CreationDate": 1493622000.704, "LastUpdatedDate": 1521097200.235 }, { "AliasName": "alias/aws/dynamodb", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/dynamodb", "TargetKeyId": "0987ab65-43cd-21ef-09ab-87654321cdef", "CreationDate": 1521097200.454, "LastUpdatedDate": 1521097200.454 }, { "AliasName": "alias/aws/ebs", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/ebs", "TargetKeyId": "abcd1234-09fe-ef90-09fe-ab0987654321", "CreationDate": 1466518990.200, "LastUpdatedDate": 1466518990.200 }, { "AliasName": "alias/aws/redshift", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/redshift" }, ] }

Untuk mendapatkan alias yang merujuk ke KMS kunci tertentu, gunakan KeyId parameter. Nilai parameter dapat berupa ID kunci atau kunci ARN. Anda tidak dapat menentukan nama alias atau alias ARN.

Perintah dalam contoh berikut mendapatkan alias yang merujuk ke kunci yang dikelola pelanggan. Tetapi Anda dapat menggunakan perintah seperti ini untuk menemukan alias yang merujuk Kunci yang dikelola AWS, juga.

$ aws kms list-aliases --key-id arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321 { "Aliases": [ { "AliasName": "alias/access-key", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/access-key", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": 1516435200.399, "LastUpdatedDate": 1516435200.399 }, { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/financeKey", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "AliasName": "alias/financeKey", "CreationDate": 1604958290.014, "LastUpdatedDate": 1604958290.014 }, ] }

Untuk mendapatkan hanya alias untuk Kunci yang dikelola AWS, gunakan fitur bahasa pemrograman Anda untuk memfilter respons.

$ aws kms list-aliases --query 'Aliases[?starts_with(AliasName, `alias/aws/`)]'

ListResourceTags: Dapatkan tag pada KMS kunci

ListResourceTagsOperasi mengembalikan tag pada KMS kunci yang ditentukan. Tag API pengembalian untuk satu KMS kunci, tetapi Anda dapat menjalankan perintah dalam satu lingkaran untuk mendapatkan tag untuk semua KMS kunci di akun dan Wilayah, atau untuk satu set KMS kunci yang Anda pilih. Ini API mengembalikan satu halaman pada satu waktu, jadi jika Anda memiliki banyak tag pada banyak KMS kunci, Anda mungkin harus menggunakan paginator dalam bahasa pemrograman Anda untuk mendapatkan semua tag yang Anda inginkan.

ListResourceTagsOperasi mengembalikan tag untuk semua KMS kunci, tetapi Kunci yang dikelola AWStidak ditandai. Ini hanya berfungsi pada KMS kunci di akun dan Wilayah pemanggil.

Untuk menemukan tag untuk KMS kunci, gunakan ListResourceTags operasi. parameter KeyId diperlukan. Ia menerima ID kunci atau kunci ARN. Sebelum menjalankan contoh ini, ganti kunci contoh ARN dengan yang valid.

$ aws kms list-resource-tags --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab { "Tags": [ { "TagKey": "Department", "TagValue": "IT" }, { "TagKey": "Purpose", "TagValue": "Test" } ], "Truncated": false }

Anda mungkin ingin menggunakan ListResourceTags operasi untuk mendapatkan semua KMS kunci di akun dan Wilayah dengan tag, kunci tag, atau nilai tag tertentu. Untuk melakukannya, gunakan fitur penyaringan bahasa pemrograman Anda.

Misalnya, skrip Bash berikut menggunakan ListResourceTags operasi ListKeysdan untuk mendapatkan semua KMS kunci di akun dan Wilayah dengan kunci Project tag. Kedua operasi ini hanya mendapatkan halaman pertama dari hasil. Jika Anda memiliki banyak KMS kunci atau banyak tag, gunakan fitur pagination bahasa Anda untuk mendapatkan seluruh hasil dari setiap operasi. Sebelum menjalankan contoh ini, ganti kunci contoh IDs dengan yang valid.

TARGET_TAG_KEY='Project' for key in $(aws kms list-keys --query 'Keys[*].KeyId' --output text); do key_tags=$(aws kms list-resource-tags --key-id "$key" --query "Tags[?TagKey==\`$TARGET_TAG_KEY\`]") if [ "$key_tags" != "[]" ]; then echo "Key: $key" echo "$key_tags" fi done

Output diformat seperti contoh output berikut.

Key: 0987dcba-09fe-87dc-65ba-ab0987654321 [ { "TagKey": "Project", "TagValue": "Gamma" } ] Key: 1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d [ { "TagKey": "Project", "TagValue": "Alpha" } ] Key: 0987ab65-43cd-21ef-09ab-87654321cdef [ { "TagKey": "Project", "TagValue": "Alpha" } ]