Enkripsi data saat istirahat AWS IoT Core - AWS IoT Core

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

Enkripsi data saat istirahat AWS IoT Core

Secara default, semua AWS IoT Core data saat istirahat dienkripsi menggunakan kunci yang AWS dimiliki. AWS IoT Core juga mendukung kunci terkelola pelanggan simetris dari AWS Key Management Service (AWS KMS). Dengan kunci yang dikelola pelanggan, Anda dapat membuat, memiliki, dan mengelola AWS KMS kunci di AWS akun Anda. AWS IoT Core akan menggunakan kunci KMS Anda untuk mengenkripsi data Anda saat istirahat. Anda memiliki kontrol penuh atas kunci KMS ini, termasuk membuat dan memelihara kebijakan utama mereka. Anda juga dapat mengonfigurasi kebijakan IAM untuk peran yang mengakses AWS KMS untuk mengontrol izin untuk kunci ini.

AWS kunci yang dimiliki

AWS kunci yang dimiliki adalah kumpulan kunci KMS yang dimiliki dan dikelola AWS layanan untuk digunakan di beberapa AWS akun. AWS Layanan dapat menggunakan kunci yang AWS dimiliki untuk melindungi data Anda. Secara default, AWS IoT Core mengenkripsi data saat istirahat menggunakan kunci yang AWS dimiliki. Kunci-kunci ini dikelola oleh layanan. Anda tidak dapat melihat, mengelola, atau menggunakan kunci AWS yang dimiliki. Namun, Anda tidak perlu mengambil tindakan apa pun untuk melindungi kunci ini.

Untuk informasi selengkapnya tentang AWS kunci yang AWS dimiliki, lihat kunci yang dimiliki di Panduan AWS Key Management Service Pengembang.

Kunci yang dikelola pelanggan

Kunci yang dikelola pelanggan adalah kunci KMS di AWS akun Anda yang Anda buat, miliki, dan kelola. Anda memiliki kendali penuh atas AWS KMS kunci-kunci ini, termasuk membuat dan memelihara kebijakan utama mereka. Anda juga dapat mengonfigurasi kebijakan IAM untuk peran yang mengakses AWS KMS untuk mengontrol izin untuk kunci ini. Anda dapat mengonfigurasi AWS IoT Core untuk menggunakan kunci KMS yang dikelola pelanggan untuk mengenkripsi data Anda.

Untuk informasi selengkapnya tentang kunci yang dikelola pelanggan, lihat Kunci yang dikelola pelanggan di Panduan Developer AWS Key Management Service .

Untuk ikut serta dalam kunci yang dikelola pelanggan AWS IoT Core, ikuti langkah-langkah berikut:

Langkah 1: Buat kunci yang dikelola pelanggan

Anda dapat membuat kunci terkelola pelanggan simetris dengan menggunakan AWS KMS konsol atau perintah AWS KMS CLI. Yang keySpec harus SYMMETRIC_DEFAULT dan keyUsage harusENCRYPT_DECRYPT.

catatan

AWS IoT Core hanya mendukung AWS KMS kunci dengan spesifikasi SYMMETRIC_DEFAULT kunci dan penggunaan ENCRYPT_DECRYPT kunci untuk kunci yang dikelola pelanggan.

Berikut ini adalah contoh AWS CLI perintah untuk membuat kunci KMS yang dapat digunakan dengan AWS IoT Core untuk kunci yang dikelola pelanggan.

aws kms create-key --key-spec SYMMETRIC_DEFAULT --key-usage ENCRYPT_DECRYPT --region us-west-2

Berikut ini adalah contoh output dari perintah.

{ "KeyMetadata": { "AWSAccountId": "111122223333", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": "2024-09-19T11:45:23.982000-07:00", "Enabled": true, "Description": "", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "Origin": "AWS_KMS", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "MultiRegion": false } }

Untuk informasi selengkapnya, lihat Membuat kunci terkelola pelanggan simetris di Panduan AWS Key Management Service Pengembang.

Kebijakan kunci

Saat membuat kunci terkelola pelanggan, Anda dapat menentukan kebijakan kunci. Kebijakan utama mengontrol akses ke kunci yang dikelola pelanggan Anda. Setiap kunci yang dikelola pelanggan harus memiliki persis satu kebijakan utama, yang berisi pernyataan yang menentukan siapa yang dapat menggunakan kunci dan bagaimana mereka dapat menggunakannya. Untuk informasi selengkapnya, lihat Kebijakan utama di Panduan AWS Key Management Service Pengembang.

AWS IoT Core menggunakan peran IAM di akun Anda untuk mengakses kunci yang dikelola pelanggan Anda. Jika Anda menggunakan kebijakan kunci kustom, pastikan peran IAM yang dibuat pada kunci ini memiliki izin berikut:

  • kms:DescribeKey

  • kms:Decrypt

  • kms:Encrypt

  • kms:GenerateDataKeyWithoutPlaintext

  • kms:ReEncryptTo

  • kms:ReEncryptFrom

Langkah 2: Buat peran IAM untuk memberikan AWS IoT Core izin menggunakan kunci KMS

AWS IoT Core Untuk menggunakan kunci KMS yang Anda buat untuk mengenkripsi data Anda saat istirahat, Anda juga perlu membuat peran IAM di akun Anda, yang AWS IoT Core dapat mengasumsikan untuk mengakses kunci KMS.

Peran harus memiliki kebijakan kepercayaan berikut untuk memungkinkan AWS IoT Core untuk mengambil peran.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:iot:us-west-2:111122223333:*" } } } }

Pastikan kebijakan IAM yang dilampirkan pada peran IAM memiliki izin berikut pada kunci KMS:

  • kms:DescribeKey

  • kms:Decrypt

  • kms:Encrypt

  • kms:GenerateDataKeyWithoutPlaintext

  • kms:ReEncryptTo

  • kms:ReEncryptFrom

Berikut ini adalah contoh kebijakan IAM dengan izin yang diperlukan untuk kunci yang dikelola pelanggan.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIoTToAccessKMSResource", "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:Decrypt", "kms:Encrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": [ "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" ], "Condition": { "StringEquals": { "kms:EncryptionContext:aws-crypto-ec:vendor": "iot.amazonaws.com" } } } ] }

Untuk informasi selengkapnya, lihat Membuat peran untuk mendelegasikan izin ke pengguna IAM di Panduan Pengguna.AWS Identity and Access Management

Langkah 3: Pilih kunci yang dikelola pelanggan di AWS IoT Core

Setelah Anda menyelesaikan semua langkah sebelumnya, jalankan perintah update-encryption-configuration CLI untuk ikut serta menggunakan kunci yang dikelola pelanggan. AWS IoT Core Saat Anda memilih kunci yang dikelola pelanggan, semua AWS IoT Core sumber daya di AWS akun Anda akan dienkripsi menggunakan kunci yang ditentukan AWS KMS .

  1. Untuk ikut serta dalam kunci yang dikelola pelanggan dalam AWS IoT Core menggunakan AWS CLI, jalankan perintah update-encryption-configuration CLI.

    aws iot update-encryption-configuration --encryption-type "CUSTOMER_MANAGED_KMS_KEY" \ --kms-access-role-arn "arn:aws:iam::111122223333:role/myrole" \ --kms-key-arn "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" --region us-west-2
  2. Untuk memverifikasi kunci yang dikelola pelanggan dalam AWS IoT Core menggunakan AWS CLI, jalankan perintah describe-encryption-configuration CLI:

    aws iot describe-encryption-configuration --region us-west-2

    Jika Anda telah mengaktifkan kunci terkelola pelanggan AWS IoT Core, hasilnya dapat terlihat seperti berikut:

    { "encryptionType": "CUSTOMER_MANAGED_KMS_KEY", "kmsKeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "kmsAccessRoleArn": "arn:aws:iam::111122223333:role/myrole", "configurationDetails": { "configurationStatus": "HEALTHY" }, "lastModifiedDate": "2024-09-26T22:01:02.365000-07:00" }

    lastModifiedDateBidang menunjukkan tanggal ketika konfigurasi enkripsi terakhir diperbarui.

    Jika Anda belum mengaktifkan kunci terkelola pelanggan, hasilnya dapat terlihat seperti berikut:

    { "encryptionType": "AWS_OWNED_KMS_KEY", "lastModifiedDate": "2024-09-26T22:01:02.365000-07:00" }

Langkah 4: Izin tambahan diperlukan untuk operasi pesawat AWS IoT Core kontrol

Setelah Anda memilih kunci terkelola pelanggan, semua AWS IoT Core sumber daya milik AWS akun Anda dienkripsi dengan kunci KMS yang disediakan. Semua operasi bidang kontrol sekarang mengharuskan pemanggil untuk memiliki kms:Decrypt izin pada kunci KMS selain izin yang diperlukan untuk operasi tertentu pada sumber daya. AWS IoT Core Jika penelepon tidak memiliki kms:Decrypt izin dan mereka membuat panggilan API yang memerlukan enkripsi atau dekripsi data (misalnya,GetPolicy), mereka akan menerima file. UnauthorizedException

Misalnya, saat meneleponGetPolicy, Anda memerlukan keduanya iot:GetPolicy dan kms:Decrypt izin pada kunci KMS yang dikelola pelanggan agar panggilan API berhasil.

catatan

Saat memperbarui pengguna atau peran IAM untuk memberikan AWS KMS izin pada kunci yang digunakan untuk konfigurasi enkripsi Anda, pastikan kebijakan kunci KMS juga memberikan izin yang diperlukan kepada masing-masing pengguna atau peran IAM.

AWS KMS izin untuk UpdateEncryptionConfiguration

Panggilan UpdateEncryptionConfiguration API memerlukan AWS KMS izin berikut pada kunci KMS untuk dapat ikut serta dalam kunci yang dikelola pelanggan atau untuk memodifikasi konfigurasi kunci:

  • kms:DescribeKey

  • kms:Decrypt

  • kms:Encrypt

  • kms:GenerateDataKeyWithoutPlaintext

  • kms:ReEncryptTo

  • kms:ReEncryptFrom

AWS KMS izin untuk semua bidang kontrol lainnya APIs

Sebagian besar bidang kontrol APIs memerlukan kms:Decrypt izin saat kunci terkelola pelanggan diaktifkan. Namun, tertentu APIs tidak memerlukan izin tambahan ini:

APIs yang tidak memerlukan AWS KMS izin

List*Dan Delete* APIs jangan jatuh ke dalam ember ini. Pelanggan selalu dapat memanggil API bidang apa pun List* atau Delete* mengontrol dan panggilan API tersebut akan berhasil meskipun pemanggil tidak memiliki kms:Decrypt izin. Panggilan API ini akan berhasil bahkan jika kunci yang dikelola pelanggan Anda tidak sehat List* dan tidak Delete* APIs melakukan dekripsi apa pun.

  • Daftar* APIs - Semua operasi daftar (misalnya,, ListThingsListPolicies,ListCertificates)

  • Hapus* APIs — Semua operasi penghapusan (misalnya,,,) DeleteThing DeletePolicy DeleteCertificate

Langkah 5: Mengelola kunci

AWS IoT Core menjalankan pemeriksaan berkala pada konfigurasi kunci yang dikelola pelanggan Anda untuk memastikan operasi enkripsi dan dekripsi tidak terpengaruh. Pemeriksaan kesehatan ini berjalan sekali setiap menit dan memverifikasi AWS IoT Core kemampuan untuk mengakses dan menggunakan AWS KMS kunci dan peran IAM terkait untuk mengenkripsi dan mendekripsi operasi.

SEHAT

AWS IoT Core dapat berhasil mengakses AWS KMS kunci melalui peran IAM yang ditentukan dan melakukan encryption/decryption operasi. Semua komponen berfungsi dengan benar.

TIDAK SEHAT

AWS IoT Core tidak dapat mengakses atau menggunakan AWS KMS kunci. Ini mencegah operasi enkripsi baru dan dapat memengaruhi fungsionalitas layanan. errorCodeBidang menunjukkan apakah masalahnya ada pada kunci atau peran IAM.

Tindakan pelanggan yang dapat memengaruhi kesehatan utama

Beberapa tindakan pelanggan dapat menyebabkan status kesehatan utama berubah dari HEALTHY menjadiUNHEALTHY:

Tindakan terkait kunci
  • Menghapus AWS KMS kunci — Ketika Anda menjadwalkan penghapusan kunci, itu dalam Pending deletion status dan tidak dapat digunakan

  • Menonaktifkan AWS KMS kunci - Ketika Anda menonaktifkan kunci KMS, itu tidak dapat lagi digunakan untuk mengenkripsi/mendekripsi operasi

  • Kunci penjadwalan untuk penghapusan - Kunci menjadi tidak dapat digunakan saat penghapusan selesai

  • Memodifikasi kebijakan kunci - Menghapus izin yang diperlukan untuk akses AWS IoT Core

  • Mengubah izin penggunaan kunci — Membatasi tindakan yang diperlukan AWS KMS

Tindakan terkait peran IAM
  • Menghapus peran IAM — tidak AWS IoT Core dapat mengambil peran untuk mengakses kunci

  • Memodifikasi izin peran — Menghapus AWS KMS izin yang diperlukan dari kebijakan peran

  • Mengubah kebijakan kepercayaan — Mencegah AWS IoT Core layanan dari mengambil peran

  • Menambahkan kondisi restriktif — Kondisi yang AWS IoT Core mencegah penggunaan peran

Tindakan tingkat akun
  • Perubahan akses kunci lintas akun - Memodifikasi izin untuk kunci di akun yang berbeda

  • Kebijakan Kontrol Layanan (SCPs) — Kebijakan tingkat organisasi yang membatasi akses AWS KMS

  • Kebijakan IAM tingkat akun — Kebijakan yang mengesampingkan atau bertentangan dengan akses kunci

penting

Setiap perubahan pada AWS KMS kunci, peran IAM, atau kebijakan yang digunakan oleh AWS IoT Core harus diuji di lingkungan pengembangan terlebih dahulu. Pantau status kesehatan utama dengan cermat setelah melakukan perubahan apa pun untuk memastikan AWS IoT Core fungsionalitas tidak terpengaruh.

Memperbarui konfigurasi enkripsi

Perbarui konfigurasi enkripsi Anda AWS IoT Core untuk mengubah dari satu kunci yang dikelola pelanggan ke yang lain, atau antara kunci yang AWS dimiliki dan kunci yang dikelola pelanggan.

Untuk mengubah konfigurasi ke kunci terkelola pelanggan yang berbeda:

  1. Buat kunci terkelola pelanggan baru mengikuti langkah-langkahnyaLangkah 1: Buat kunci yang dikelola pelanggan.

  2. Perbarui kebijakan peran IAM Anda untuk menyertakan izin untuk kunci lama dan baru selama periode pembaruan.

  3. Perbarui konfigurasi enkripsi Anda untuk menggunakan kunci baru:

    aws iot update-encryption-configuration --encryption-type "CUSTOMER_MANAGED_KMS_KEY" \ --kms-access-role-arn "arn:aws:iam::111122223333:role/myrole" \ --kms-key-arn "arn:aws:kms:us-west-2:111122223333:key/new-key-id"
penting

Selama pembaruan konfigurasi enkripsi, pertahankan akses ke peran IAM sebelumnya dan kunci KMS hingga satu jam. Ini memungkinkan AWS IoT Core untuk menyelesaikan proses enkripsi ulang sambil mempertahankan akses data yang tidak terputus. Pantau CMK.Health metrik untuk memverifikasi transisi yang berhasil.

Untuk mengubah konfigurasi dari kunci yang dikelola pelanggan kembali ke kunci AWS yang dimiliki:

aws iot update-encryption-configuration --encryption-type "AWS_OWNED_KMS_KEY"
catatan

Saat memperbarui konfigurasi enkripsi untuk kunci terkelola pelanggan baru, pastikan kunci lama dan baru tetap dapat diakses agar operasi berhasil.

Skenario dan dampak kegagalan umum

Tabel berikut menjelaskan skenario kegagalan umum ketika kunci dihapus atau dinonaktifkan:

Skenario Dampak Langsung Konsekuensi Jangka Panjang

Kunci dinonaktifkan

Semua encryption/decryption operasi baru gagal segera

Gangguan layanan hingga kunci diaktifkan kembali atau diganti

Kunci dijadwalkan untuk dihapus

Status kunci diubah menjadi penghapusan tertunda dan semua encryption/decryption operasi akan gagal

Kegagalan layanan otomatis saat penghapusan selesai

Kunci dihapus secara permanen

Kegagalan langsung dan permanen dari semua operasi

Kehilangan data permanen dan ketidakmampuan untuk memulihkan data terenkripsi

Kebijakan kunci diubah secara tidak benar

AWS IoT Core kehilangan izin akses ke kunci

Kegagalan layanan sampai kebijakan diperbaiki

Peran IAM dihapus

AWS IoT Core tidak dapat mengambil peran untuk mengakses kunci

Kegagalan layanan enkripsi lengkap

Peran IAM dimodifikasi secara tidak benar

AWS IoT Core tidak dapat mengambil peran atau menggunakan peran untuk mengakses kunci

Kegagalan layanan hingga peran IAM diperbaiki

Pencegahan dan praktik terbaik

Untuk mencegah penghapusan atau penonaktifan kunci yang tidak disengaja dan meminimalkan risiko kegagalan layanan:

Menerapkan kebijakan siklus hidup utama

Menetapkan prosedur yang jelas untuk penciptaan kunci, rotasi, dan pensiun. Dokumentasikan kunci mana yang digunakan oleh AWS IoT Core sumber daya mana dan memelihara inventaris kunci aktif.

Gunakan kebijakan IAM untuk membatasi penghapusan kunci

Buat kebijakan IAM yang mencegah pengguna yang tidak sah menghapus atau menonaktifkan kunci enkripsi penting. Gunakan ketentuan untuk meminta persetujuan tambahan untuk operasi penghapusan kunci.

Aktifkan CloudTrail pencatatan

Memantau semua operasi AWS KMS kunci CloudTrail untuk mendeteksi aktivitas manajemen kunci yang tidak sah atau tidak disengaja. Siapkan peringatan untuk penghapusan kunci, penonaktifan, atau perubahan kebijakan.

Uji prosedur penggantian kunci

Uji prosedur penggantian kunci Anda secara teratur di lingkungan non-produksi untuk memastikan Anda dapat dengan cepat pulih dari kegagalan terkait kunci.

Pertahankan cadangan kunci

Meskipun Anda tidak dapat mengekspor materi AWS KMS kunci, pertahankan catatan rinci kunci ARNs, kebijakan, dan AWS IoT Core konfigurasi terkait untuk memfasilitasi penggantian kunci cepat jika diperlukan.

Pantau kesehatan utama

Terus memantau CMK.Health metrik dan mengatur peringatan otomatis untuk perubahan status kesehatan utama. Menerapkan respons otomatis untuk mengatasi masalah terkait kunci dengan cepat.

penting

Selalu uji prosedur pembaruan kunci di lingkungan pengembangan sebelum menerapkannya dalam produksi. Miliki rencana rollback yang terdokumentasi dan pastikan bahwa prosedur penggantian kunci dapat dijalankan dengan cepat jika terjadi keadaan darurat.

Langkah 6: Memantau kesehatan utama

Sebagai bagian dari pemeriksaan berkala, AWS IoT Core CloudWatch metrik dan log dipancarkan untuk memberikan visibilitas pada status kesehatan konfigurasi kunci terkelola pelanggan Anda

AWS IoT Core memancarkan CMK.Health metrik CloudWatch setidaknya sekali setiap menit. Metrik ini memberikan informasi tentang status kesehatan kunci yang dikelola pelanggan yang digunakan AWS IoT Core untuk mengenkripsi dan mendekripsi data Anda.

CMK.HealthMetrik dapat memiliki nilai-nilai berikut:

  • Nilainya AWS IoT Core adalah1: dapat menggunakan kunci enkripsi dengan sukses untuk mengenkripsi dan mendekripsi data Anda.

  • Nilainya AWS IoT Core adalah0: tidak dapat menggunakan kunci enkripsi untuk mengenkripsi dan mendekripsi data Anda.

AWS IoT Core juga memancarkan log AWS IoT V2 ketika status kesehatan kunci enkripsi berubah. Log ini memberikan rincian tambahan tentang pembaruan status kesehatan. Untuk melihat log ini, Anda harus mengaktifkan log AWS IoT V2. HEALTHYLog dipancarkan pada INFO level, dan UNHEALTHY log dipancarkan pada level. ERROR Untuk informasi selengkapnya tentang level log, lihat Level log.

Contoh berikut adalah entri CloudWatch log yang dipancarkan oleh AWS IoT Core untuk menunjukkan pembaruan status kesehatan dari kunci yang dikelola pelanggan.

Untuk secara efektif memantau dan menanggapi perubahan status kesehatan utama:

  1. Siapkan CloudWatch alarm untuk CMK.Health metrik:

    aws cloudwatch put-metric-alarm --region us-west-2 \ --alarm-name "IoTCore-CMK-Health-Alert" \ --alarm-description "Alert when IoT Core CMK health is unhealthy" \ --metric-name "CMK.Health" \ --namespace "AWS/IoT" \ --statistic "Minimum" \ --period 300 \ --evaluation-periods 1 \ --threshold 1 \ --comparison-operator "LessThanThreshold" \ --alarm-actions "arn:aws:sns:us-west-2:111122223333:iot-alerts"
  2. Aktifkan pencatatan AWS IoT V2 untuk menangkap peristiwa perubahan status kesehatan terperinci dengan kode kesalahan dan pesan.

  3. Periksa status konfigurasi untuk pemecahan masalah:

    aws iot describe-encryption-configuration --region us-west-2
  4. Selidiki status TIDAK SEHAT dengan memeriksa errorCode bidang:

    • KMS_KEY_VALIDATION_ERROR— Masalah dengan AWS KMS kunci (dinonaktifkan, dihapus, atau masalah kebijakan)

    • ROLE_VALIDATION_ERROR— Masalah dengan peran IAM (dihapus, masalah kebijakan, atau masalah kepercayaan)

Dari tidak sehat ke sehat

Ketika status kunci enkripsi diperbarui dari UNHEALTHY keHEALTHY, AWS IoT Core akan memancarkan pesan log AWS IoT V2 dalam format berikut.

{ "timestamp": "2017-08-10 15:37:23.476", "logLevel": "INFO", "traceId": "8421693b-f4f0-4e4a-9235-0cff8bab897d", "accountId": "111122223333", "status": "SUCCESS", "cmkStatus": "HEALTHY", "kmsKeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "kmsAccessRoleArn": "arn:aws:iam::111122223333:role/myrole", "eventType": "CmkHealthCheck" }

Dari SEHAT ke TIDAK SEHAT

Ketika status kunci enkripsi diperbarui dari HEALTHY keUNHEALTHY, AWS IoT Core akan memancarkan pesan log AWS IoT V2 dalam format berikut.

{ "timestamp": "2017-08-10 15:37:23.476", "logLevel": "ERROR", "traceId": "8421693b-f4f0-4e4a-9235-0cff8bab897d", "accountId": "111122223333", "status": "FAILURE", "cmkStatus": "UNHEALTHY", "errorCode": "KMS_KEY_VALIDATION_ERROR / ROLE_VALIDATION_ERROR", "errorMessage": "Error message on why there was a failure", "kmsKeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "kmsAccessRoleArn": "arn:aws:iam::111122223333:role/myrole", "eventType": "CmkHealthCheck" }
Awas

Ketika kesehatan utama menjadiUNHEALTHY, AWS IoT Core operasi gagal segera. Jika ini terjadi, tinjau konfigurasi kunci, izin peran IAM, dan kebijakan Anda. Pantau CMK.Health metrik untuk perubahan status. Jika operasi terus gagal setelah meninjau konfigurasi Anda, hubungi manajer akun atau Pusat AWS Dukungan untuk bantuan tambahan.

AWS CloudTrail acara

Anda juga dapat memantau AWS IoT Core penggunaan kunci KMS untuk mengenkripsi operasi dekripsi. AWS IoT Core akan membuatDescribeKey,, DecryptReEncrypt, dan GenerateDataKeyWithoutPlaintext operasi pada kunci KMS Anda untuk mengenkripsi/mendekripsi data milik AWS akun Anda yang disimpan saat istirahat.

Ada CloudTrail acara untukDescribeKey,Decrypt,ReEncrypt, danGenerateDataKeyWithoutPlaintext. Peristiwa ini memantau AWS KMS operasi yang dipanggil oleh AWS IoT Core untuk mengakses data yang dienkripsi oleh kunci yang dikelola pelanggan Anda.

Contoh Decrypt
{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "*********************", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "*****" }, "attributes": { "creationDate": "2024-09-16T20:23:39Z", "mfaAuthenticated": "false" } }, "invokedBy": "iot.amazonaws.com" }, "eventTime": "2024-09-16T20:32:48Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "iot.amazonaws.com", "userAgent": "iot.amazonaws.com", "requestParameters": { "encryptionContext": { "kms-arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "aws-crypto-ec:vendor": "iot.amazonaws.com", "branch-key-id": "111122223333", "type": "branch:ACTIVE" }, "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, "responseElements": null, "requestID": "1afb6d98-8388-455d-8b48-e62c9e0cf7f4", "eventID": "b59a5f16-0d98-46d8-a590-0e040a48b39b", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }