View a markdown version of this page

Menentukan penggunaan kunci KMS sebelumnya - AWS Key Management Service

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

Menentukan penggunaan kunci KMS sebelumnya

Untuk tujuan pemantauan dan audit, Anda mungkin ingin mengetahui bagaimana kunci KMS telah digunakan di masa lalu. Misalnya, Anda mungkin ingin menentukan apakah kunci KMS masih digunakan secara aktif sebelum menonaktifkan atau menjadwalkannya untuk dihapus, atau mengidentifikasi kunci yang tidak digunakan di akun Anda. Strategi berikut dapat membantu Anda menentukan penggunaan kunci KMS di masa lalu.

Awas

Strategi ini untuk menentukan penggunaan masa lalu hanya efektif untuk prinsi AWS pal dan AWS KMS operasi. Mereka tidak dapat mendeteksi penggunaan kunci yang tidak melibatkan panggilan API ke AWS KMS. Setelah kunci data dihasilkan dari kunci KMS simetris, penggunaan selanjutnya untuk enkripsi lokal atau dekripsi di luar tidak AWS KMS tercermin dalam informasi penggunaan terakhir. Demikian pula, strategi ini tidak dapat mendeteksi penggunaan kunci publik dari kunci KMS asimetris di luar. AWS KMS Untuk detail tentang risiko khusus menghapus kunci KMS asimetris yang digunakan untuk kriptografi kunci publik, termasuk membuat ciphertext yang tidak dapat didekripsi, lihat. Deleting asymmetric KMS keys

Periksa izin kunci KMS untuk menentukan ruang lingkup penggunaan potensial

Menentukan siapa atau apa yang saat ini memiliki akses ke kunci KMS dapat membantu Anda menentukan seberapa luas kunci KMS digunakan dan apakah kunci tersebut masih diperlukan. Untuk menentukan siapa atau apa yang saat ini memiliki akses ke kunci KMS, lihatMenentukan akses ke AWS KMS keys.

Periksa operasi kriptografi terakhir yang dilakukan dengan kunci KMS

AWS KMS memberikan informasi penggunaan pada operasi kriptografi terakhir yang berhasil dilakukan dengan setiap kunci KMS bersama dengan ID CloudTrail peristiwa terkait. Ini dapat memudahkan proses mengidentifikasi kunci KMS yang tidak digunakan. Anda juga dapat menggunakan kunci TrailingDaysWithoutKeyUsage kondisi kms: dalam kebijakan utama untuk mencegah kunci yang baru saja digunakan dari penonaktifan atau penjadwalan penghapusan secara tidak sengaja.

Anda dapat melihat operasi kriptografi terakhir yang berhasil dilakukan dengan kunci KMS menggunakan Konsol Manajemen AWS, AWS CLI, atau AWS KMS API.

catatan

AWS Layanan tertentu membuat sumber daya yang bergantung pada kunci KMS untuk perlindungan data tetapi tidak sering memanggil operasi kriptografi pada kunci tersebut. Misalnya, layanan Amazon EC2 memanggil AWS KMS untuk mendekripsi kunci data untuk volume Amazon EBS terenkripsi hanya ketika volume dilampirkan ke instans. Dalam kasus ini, Anda tidak boleh mengandalkan informasi penggunaan terakhir saja untuk menentukan apakah kunci KMS dapat dihapus. Jika kunci KMS yang melindungi volume Amazon EBS dihapus, tidak akan ada gangguan pada volume Amazon EBS yang sudah terpasang, tetapi upaya selanjutnya untuk melampirkan volume Amazon EBS terenkripsi tersebut ke instans Amazon EC2 lain akan gagal.

Memahami periode pelacakan penggunaan

AWS KMS melacak hanya operasi kriptografi terakhir yang berhasil dilakukan dengan setiap kunci KMS. Mungkin ada penundaan hingga satu jam antara waktu operasi kriptografi terjadi dan waktu penggunaan dicatat.

Saat Anda memeriksa informasi penggunaan terakhir untuk kunci KMS, respons menyertakan tanggal mulai pelacakan. Ini TrackingStartDate adalah tanggal dari mana AWS KMS mulai merekam aktivitas kriptografi untuk kunci itu. Gunakan tanggal ini bersama dengan tanggal pembuatan kunci untuk menentukan riwayat penggunaannya dengan membandingkan tanggal pembuatan kunci dengan tanggal mulai pelacakan:

  • Jika informasi penggunaan terakhir ada, kunci telah digunakan untuk operasi kriptografi sejak pelacakan dimulai. Respons mencakup jenis operasi, stempel waktu, dan ID AWS CloudTrail peristiwa terkait.

  • Jika informasi penggunaan terakhir kosong, kunci tidak memiliki operasi kriptografi yang direkam sejak pelacakan dimulai. Bandingkan tanggal pembuatan kunci dengan TrackingStartDate untuk menentukan apa artinya ini:

    • Jika kunci dibuat pada atau setelah TrackingStartDate, kunci tersebut belum digunakan untuk operasi kriptografi sejak dibuat.

    • Jika kunci dibuat sebelum TrackingStartDate, tidak ada catatan kunci yang digunakan sejak pelacakan dimulai. Namun, kunci mungkin telah digunakan sebelum pelacakan dimulai. Untuk menentukan apakah kunci telah digunakan sebelumnya, periksa AWS CloudTrail log masa lalu Anda.

Awas

Jangan hanya mengandalkan informasi penggunaan terakhir saat menghapus kunci yang tidak digunakan. Sebagai gantinya, non aktifkan kunci terlebih dahulu dan AWS CloudTrail pan DisabledException tau entri, yang menunjukkan upaya untuk menggunakan kunci saat dinonaktifkan. Ini membantu mengidentifikasi potensi dependensi dan kegagalan beban kerja. AWS CloudTrail tetap menjadi sumber otoritatif untuk semua panggilan API yang dilakukan ke kunci Anda.

Operasi kriptografi yang dilacak

Hanya operasi kriptografi yang berhasil berikut yang dilacak dan dicatat untuk melaporkan informasi penggunaan terakhir. Non-cryptographic Operasi dikecualikan.

  • Decrypt

  • DeriveSharedSecret

  • Encrypt

  • GenerateDataKey

  • GenerateDataKeyPair

  • GenerateDataKeyPairWithoutPlaintext

  • GenerateDataKeyWithoutPlaintext

  • GenerateMac

  • ReEncrypt

  • Sign

  • Verify

  • VerifyMac

Pertimbangan lainnya

Ingatlah hal-hal berikut saat Anda menggunakan informasi penggunaan:

  • Multi-Region Kunci KMS — Untuk kunci KMS multi-wilayah, kunci primer dan replika melacak informasi penggunaan terakhir secara independen. Setiap kunci dalam kumpulan kunci Multi-wilayah mempertahankan informasi penggunaan terakhirnya sendiri.

  • ReEncrypt Oper asi — ReEncrypt Operasi menggunakan dua kunci: kunci sumber untuk dekripsi dan kunci tujuan untuk enkripsi. Informasi penggunaan terakhir dicatat untuk kedua kunci secara independen, masing-masing dengan ID CloudTrail peristiwa dari akun pemilik kunci masing-masing.

Anda dapat melihat informasi penggunaan terakhir menggunakan metode berikut:

Anda dapat melihat operasi kriptografi terakhir yang berhasil dilakukan dengan kunci KMS pada halaman detail untuk setiap kunci KMS. Untuk prosedur tentang cara melihat halaman detail untuk kunci KMS, lihatAkses dan daftar rincian kunci KMS.

GetKeyLastUsageOperasi mengembalikan informasi penggunaan pada operasi kriptografi terakhir yang dilakukan dengan kunci KMS yang ditentukan. Untuk mengidentifikasi kunci KMS, gunakan ID kunci atau kunci ARN.

Misalnya, panggilan berikut untuk mengambil GetKeyLastUsage informasi penggunaan tentang kunci KMS dengan ID kunci. 1234abcd-12ab-34cd-56ef-1234567890ab

$ aws kms get-key-last-usage --key-id "1234abcd-12ab-34cd-56ef-1234567890ab" { "KeyCreationDate": 1773253425.56, "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "TrackingStartDate": 1773253425.56, "KeyLastUsage": { "Timestamp": 1773253497.0, "Operation": "Encrypt", "KmsRequestId": "040cce3e-9ef3-4651-b8cf-e47c9bafdc9b", "CloudTrailEventId": "2cfd5892-ea8c-4342-ad49-4b9594b06a8b" } }

Sebaliknya, panggilan berikut untuk GetKeyLastUsage mengungkapkan tidak ada informasi penggunaan untuk kunci KMS dengan ID 0987dcba-09fe-87dc-65ba-ab0987654321 kunci.

$ aws kms get-key-last-usage --key-id "0987dcba-09fe-87dc-65ba-ab0987654321" { "KeyCreationDate": 1672531200.0, "KeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "TrackingStartDate": 1773253425.56, "KeyLastUsage": {} }

Periksa AWS CloudTrail log untuk memeriksa penggunaan masa lalu

Anda dapat menggunakan riwayat penggunaan kunci KMS untuk membantu menentukan apakah Anda memiliki ciphertext yang dienkripsi di bawah kunci KMS tertentu.

Semua aktivitas AWS KMS API dicatat dalam file AWS CloudTrail log. Jika Anda telah membuat CloudTrail jejak di wilayah tempat kunci KMS Anda berada, Anda dapat memeriksa file CloudTrail log untuk melihat riwayat semua aktivitas AWS KMS API untuk kunci KMS tertentu. Jika Anda tidak memiliki jejak, Anda masih dapat melihat peristiwa terbaru di riwayat CloudTrail acara Anda. Untuk detail tentang cara AWS KMS penggunaan CloudTrail, lihatPencatatan log AWS KMS Panggilan API dengan AWS CloudTrail.

Contoh berikut menunjukkan entri CloudTrail log yang dihasilkan saat kunci KMS digunakan untuk melindungi objek yang disimpan di Amazon Simple Storage Service (Amazon S3). Dalam contoh ini, objek diunggah ke Amazon S3 menggunakan Mel indungi data menggunakan enkripsi sisi server dengan kunci KMS (). SSE-KMS Saat Anda mengunggah objek ke Amazon S3 dengan SSE-KMS, Anda menentukan kunci KMS yang akan digunakan untuk melindungi objek. Amazon S3 menggunakan AWS KMS GenerateDataKey operasi untuk meminta kunci data unik untuk objek, dan peristiwa permintaan ini masuk CloudTrail dengan entri yang mirip dengan berikut ini:

{ "eventVersion": "1.02", "userIdentity": { "type": "AssumedRole", "principalId": "AROACKCEVSQ6C2EXAMPLE:example-user", "arn": "arn:aws:sts::111122223333:assumed-role/Admins/example-user", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2015-09-10T23:12:48Z" }, "sessionIssuer": { "type": "Role", "principalId": "AROACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admins", "accountId": "111122223333", "userName": "Admins" } }, "invokedBy": "internal.amazonaws.com" }, "eventTime": "2015-09-10T23:58:18Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "internal.amazonaws.com", "userAgent": "internal.amazonaws.com", "requestParameters": { "encryptionContext": {"aws:s3:arn": "arn:aws:s3:::example_bucket/example_object"}, "keySpec": "AES_256", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, "responseElements": null, "requestID": "cea04450-5817-11e5-85aa-97ce46071236", "eventID": "80721262-21a5-49b9-8b63-28740e7ce9c9", "readOnly": true, "resources": [{ "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "accountId": "111122223333" }], "eventType": "AwsApiCall", "recipientAccountId": "111122223333" }

Saat nanti Anda mengunduh objek ini dari Amazon S3, Amazon S3 mengirimkan Decrypt permintaan AWS KMS untuk mendekripsi kunci data objek menggunakan kunci KMS yang ditentukan. Ketika Anda melakukan ini, file CloudTrail log Anda menyertakan entri yang mirip dengan berikut ini:

{ "eventVersion": "1.02", "userIdentity": { "type": "AssumedRole", "principalId": "AROACKCEVSQ6C2EXAMPLE:example-user", "arn": "arn:aws:sts::111122223333:assumed-role/Admins/example-user", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2015-09-10T23:12:48Z" }, "sessionIssuer": { "type": "Role", "principalId": "AROACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:role/Admins", "accountId": "111122223333", "userName": "Admins" } }, "invokedBy": "internal.amazonaws.com" }, "eventTime": "2015-09-10T23:58:39Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "internal.amazonaws.com", "userAgent": "internal.amazonaws.com", "requestParameters": { "encryptionContext": {"aws:s3:arn": "arn:aws:s3:::example_bucket/example_object"}}, "responseElements": null, "requestID": "db750745-5817-11e5-93a6-5b87e27d91a0", "eventID": "ae551b19-8a09-4cfc-a249-205ddba330e3", "readOnly": true, "resources": [{ "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "accountId": "111122223333" }], "eventType": "AwsApiCall", "recipientAccountId": "111122223333" }

Dengan mengevaluasi entri log ini, Anda mungkin dapat menentukan penggunaan kunci KMS tertentu sebelumnya, dan ini mungkin membantu Anda menentukan apakah Anda ingin menghapusnya atau tidak.

Untuk melihat lebih banyak contoh bagaimana aktivitas AWS KMS API muncul di file CloudTrail log Anda, bukaPencatatan log AWS KMS Panggilan API dengan AWS CloudTrail. Untuk informasi selengkap CloudTrail nya, buka Panduan AWS CloudTrail Pengguna.

Pertimbangan biaya untuk CloudTrail kueri

Saat Anda menanyakan CloudTrail log menggunakan Amazon Log CloudWatch s Insights, Amazon CloudWatch Logs Insights menagih Anda berdasarkan jumlah data yang dipindai. Kueri besar dan tidak terbatas dapat mengakibatkan biaya tinggi yang tak terduga. Untuk mengelola biaya, lingkup setiap kueri ke rentang waktu relevan yang paling sempit. Filter berdasarkan nama acara, ARN sumber daya, atau ID utama. Sebelum mencoba melakukan query, pertimbangkan untuk memeriksa operasi kriptografi terakhir yang berhasil dilakukan dengan kunci KMS terlebih dahulu untuk menghindari menimbulkan biaya kueri yang tidak perlu. Anda juga dapat mengatur peringatan AWS anggaran di Anggaran untuk menangkap volume kueri yang tidak terduga. Untuk informasi selengkapnya tentang harga, lihat CloudWatch Harga Amazon di situs web Amazon Web Services.