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:
Topik
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 .
-
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
-
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" }
lastModifiedDate
Bidang 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*
DanDelete*
APIs jangan jatuh ke dalam ember ini. Pelanggan selalu dapat memanggil API bidang apa punList*
atauDelete*
mengontrol dan panggilan API tersebut akan berhasil meskipun pemanggil tidak memilikikms:Decrypt
izin. Panggilan API ini akan berhasil bahkan jika kunci yang dikelola pelanggan Anda tidak sehatList*
dan tidakDelete*
APIs melakukan dekripsi apa pun.Daftar* APIs - Semua operasi daftar (misalnya,,
ListThings
ListPolicies
,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.
errorCode
Bidang 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 digunakanMenonaktifkan 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:
-
Buat kunci terkelola pelanggan baru mengikuti langkah-langkahnyaLangkah 1: Buat kunci yang dikelola pelanggan.
-
Perbarui kebijakan peran IAM Anda untuk menyertakan izin untuk kunci lama dan baru selama periode pembaruan.
-
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.Health
Metrik dapat memiliki nilai-nilai berikut:
Nilainya AWS IoT Core adalah
1
: dapat menggunakan kunci enkripsi dengan sukses untuk mengenkripsi dan mendekripsi data Anda.Nilainya AWS IoT Core adalah
0
: 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. HEALTHY
Log 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:
-
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"
-
Aktifkan pencatatan AWS IoT V2 untuk menangkap peristiwa perubahan status kesehatan terperinci dengan kode kesalahan dan pesan.
-
Periksa status konfigurasi untuk pemecahan masalah:
aws iot describe-encryption-configuration --region us-west-2
-
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
AWS CloudTrail acara
Anda juga dapat memantau AWS IoT Core penggunaan kunci KMS untuk mengenkripsi operasi dekripsi. AWS IoT Core akan membuatDescribeKey
,, Decrypt
ReEncrypt
, 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" }