View a markdown version of this page

Menentukan penggunaan sebelumnya dari kunci KMS - 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 sebelumnya dari kunci KMS

Untuk tujuan pemantauan dan audit, Anda mungkin ingin tahu bagaimana kunci KMS telah digunakan di masa lalu. Misalnya, Anda mungkin ingin menentukan apakah kunci KMS masih aktif digunakan 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 AWS prinsip dan operasi. AWS KMS 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 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 yang tidak disengaja.

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 menciptakan sumber daya yang bergantung pada kunci KMS untuk perlindungan data tetapi tidak sering memanggil operasi kriptografi pada kunci itu. Misalnya, layanan Amazon EC2 memanggil AWS KMS untuk mendekripsi kunci data untuk volume Amazon EBS terenkripsi hanya jika 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 itu ke instans Amazon EC2 lainnya 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. TrackingStartDateIni 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 hadir, 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 setelahTrackingStartDate, kunci belum digunakan untuk operasi kriptografi sejak dibuat.

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

Awas

Jangan hanya mengandalkan informasi penggunaan terakhir saat menghapus kunci yang tidak digunakan. Sebagai gantinya, nonaktifkan kunci terlebih dahulu dan pantau AWS CloudTrail DisabledException entri, yang menunjukkan upaya untuk menggunakan kunci saat dinonaktifkan. Ini membantu mengidentifikasi potensi dependensi dan kegagalan beban kerja.

Operasi kriptografi yang dilacak

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

  • Decrypt

  • DeriveSharedSecret

  • Encrypt

  • GenerateDataKey

  • GenerateDataKeyPair

  • GenerateDataKeyPairWithoutPlaintext

  • GenerateDataKeyWithoutPlaintext

  • GenerateMac

  • ReEncrypt

  • Sign

  • Verify

  • VerifyMac

Pertimbangan lainnya

Ingatlah hal-hal berikut saat Anda menggunakan informasi penggunaan:

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

  • ReEncrypt OperasiReEncrypt 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 GetKeyLastUsage mengambil 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 sebelumnya

Anda dapat menggunakan riwayat penggunaan kunci KMS untuk membantu Anda 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 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 dalam riwayat CloudTrail acara Anda. Untuk detail tentang cara AWS KMS penggunaan CloudTrail, lihatLogging panggilan AWS KMS 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 Melindungi data menggunakan enkripsi sisi server dengan kunci KMS (SSE-KMS). Saat mengunggah objek ke Amazon S3 dengan SSE-KMS, Anda menentukan kunci KMS yang akan digunakan untuk melindungi objek. Amazon S3 menggunakan AWS KMS GenerateDataKeyoperasi 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 permintaan AWS KMS untuk mendekripsi kunci data objek Decrypt 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 sebelumnya dari kunci KMS tertentu, dan ini dapat 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, bukaLogging panggilan AWS KMS API dengan AWS CloudTrail. Untuk informasi lebih lanjut tentang CloudTrail pergi ke Panduan AWS CloudTrail Pengguna.