

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

# Perlindungan data di AWS IoT Core
<a name="data-protection"></a>

[Model tanggung jawab AWS bersama model](https://aws.amazon.com/compliance/shared-responsibility-model/) berlaku untuk perlindungan data di AWS IoT Core. Seperti yang dijelaskan dalam model AWS ini, bertanggung jawab untuk melindungi infrastruktur global yang menjalankan semua AWS Cloud. Anda bertanggung jawab untuk mempertahankan kendali atas konten yang di-host pada infrastruktur ini. Anda juga bertanggung jawab atas tugas-tugas konfigurasi dan manajemen keamanan untuk Layanan AWS yang Anda gunakan. Lihat informasi yang lebih lengkap tentang privasi data dalam [Pertanyaan Umum Privasi Data](https://aws.amazon.com/compliance/data-privacy-faq/). Lihat informasi tentang perlindungan data di Eropa di pos blog [Model Tanggung Jawab Bersama dan GDPR AWS](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) di *Blog Keamanan AWS *.

Untuk tujuan perlindungan data, kami menyarankan Anda melindungi Akun AWS kredensyal dan mengatur pengguna individu dengan AWS IAM Identity Center atau AWS Identity and Access Management (IAM). Dengan cara itu, setiap pengguna hanya diberi izin yang diperlukan untuk memenuhi tanggung jawab tugasnya. Kami juga menyarankan supaya Anda mengamankan data dengan cara-cara berikut:
+ Gunakan autentikasi multi-faktor (MFA) pada setiap akun.
+ Gunakan SSL/TLS untuk berkomunikasi dengan AWS sumber daya. Kami mensyaratkan TLS 1.2 dan menganjurkan TLS 1.3.
+ Siapkan API dan pencatatan aktivitas pengguna dengan AWS CloudTrail. Untuk informasi tentang penggunaan CloudTrail jejak untuk menangkap AWS aktivitas, lihat [Bekerja dengan CloudTrail jejak](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) di *AWS CloudTrail Panduan Pengguna*.
+ Gunakan solusi AWS enkripsi, bersama dengan semua kontrol keamanan default di dalamnya Layanan AWS.
+ Gunakan layanan keamanan terkelola tingkat lanjut seperti Amazon Macie, yang membantu menemukan dan mengamankan data sensitif yang disimpan di Amazon S3.
+ Jika Anda memerlukan modul kriptografi tervalidasi FIPS 140-3 saat mengakses AWS melalui antarmuka baris perintah atau API, gunakan titik akhir FIPS. Lihat informasi selengkapnya tentang titik akhir FIPS yang tersedia di [Standar Pemrosesan Informasi Federal (FIPS) 140-3](https://aws.amazon.com/compliance/fips/).

Kami sangat merekomendasikan agar Anda tidak pernah memasukkan informasi identifikasi yang sensitif, seperti nomor rekening pelanggan Anda, ke dalam tanda atau bidang isian bebas seperti bidang **Nama**. Ini termasuk saat Anda bekerja dengan AWS IoT atau lainnya Layanan AWS menggunakan konsol, API AWS CLI, atau AWS SDKs. Data apa pun yang Anda masukkan ke dalam tanda atau bidang isian bebas yang digunakan untuk nama dapat digunakan untuk log penagihan atau log diagnostik. Saat Anda memberikan URL ke server eksternal, kami sangat menganjurkan supaya Anda tidak menyertakan informasi kredensial di dalam URL untuk memvalidasi permintaan Anda ke server itu.

Untuk informasi selengkapnya tentang perlindungan data, lihat postingan blog [Model Tanggung Jawab Bersama AWS dan GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) di *Blog Keamanan AWS *.

AWS IoT perangkat mengumpulkan data, melakukan beberapa manipulasi pada data itu, dan kemudian mengirim data tersebut ke layanan web lain. Anda dapat memilih untuk menyimpan beberapa data di perangkat Anda untuk waktu yang singkat. Anda bertanggung jawab untuk memberikan perlindungan data apa pun pada data tersebut saat istirahat. Ketika perangkat Anda mengirim data ke AWS IoT, ia melakukannya melalui koneksi TLS seperti yang dibahas nanti di bagian ini. AWS IoT perangkat dapat mengirim data ke AWS layanan apa pun. Untuk informasi selengkapnya tentang keamanan data setiap layanan, lihat dokumentasi untuk layanan tersebut. AWS IoT dapat dikonfigurasi untuk menulis log ke CloudWatch Log dan log panggilan AWS IoT API ke AWS CloudTrail. Untuk informasi selengkapnya tentang keamanan data untuk layanan ini, lihat [Otentikasi dan Kontrol Akses untuk Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/auth-and-access-control-cw.html) dan [Mengenkripsi File CloudTrail Log dengan AWS KMS](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/encrypting-cloudtrail-log-files-with-aws-kms.html) kunci terkelola.

## Enkripsi data di AWS IoT
<a name="data-protection-encrypt"></a>

Secara default, semua AWS IoT data dalam perjalanan dan saat istirahat dienkripsi. [Data dalam perjalanan dienkripsi menggunakan TLS](transport-security.md), dan data saat istirahat dienkripsi menggunakan kunci yang dimiliki. AWS AWS IoT mendukung pelanggan yang dikelola AWS KMS keys (kunci KMS) dari Layanan Manajemen AWS Kunci (AWS KMS). Namun, Device Advisor dan AWS IoT Wireless hanya menggunakan Kunci milik AWS untuk mengenkripsi data pelanggan.

 

# Keamanan transportasi di AWS IoT Core
<a name="transport-security"></a>

TLS (Transport Layer Security) adalah protokol kriptografi yang dirancang untuk komunikasi yang aman melalui jaringan komputer. AWS IoT Core Device Gateway mengharuskan pelanggan untuk mengenkripsi semua komunikasi saat dalam perjalanan dengan menggunakan TLS untuk koneksi dari perangkat ke Gateway. TLS digunakan untuk mencapai kerahasiaan protokol aplikasi (MQTT, HTTP, dan) yang didukung oleh. WebSocket AWS IoT Core Dukungan TLS tersedia dalam sejumlah bahasa pemrograman dan sistem operasi. Data di dalamnya AWS dienkripsi oleh layanan tertentu AWS . Untuk informasi selengkapnya tentang enkripsi data pada AWS layanan lain, lihat dokumentasi keamanan untuk layanan tersebut.

**Topics**
+ [Protokol TLS](#tls-ssl-policy)
+ [Kebijakan Keamanan](#tls-policy-table)
+ [Catatan penting untuk keamanan transportasi di AWS IoT Core](#tls-ssl-core)
+ [Keamanan transportasi untuk perangkat nirkabel LoRa WAN](#tls-lorawan)

## Protokol TLS
<a name="tls-ssl-policy"></a>

AWS IoT Core mendukung versi protokol TLS berikut:
+ TLS 1.3 
+ TLS 1.2

Dengan AWS IoT Core, Anda dapat mengkonfigurasi pengaturan TLS (untuk [TLS 1.2](https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_1.2) dan [TLS 1.3](https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_1.3)) dalam konfigurasi domain. Untuk informasi selengkapnya, lihat [Mengonfigurasikan pengaturan TLS dalam konfigurasi domain](iot-endpoints-tls-config.md).

## Kebijakan Keamanan
<a name="tls-policy-table"></a>

Kebijakan keamanan adalah kombinasi protokol TLS dan cipher mereka yang menentukan protokol dan cipher mana yang didukung selama negosiasi TLS antara klien dan server. Anda dapat mengonfigurasi perangkat Anda untuk menggunakan kebijakan keamanan yang telah ditentukan berdasarkan kebutuhan Anda. Perhatikan bahwa AWS IoT Core tidak mendukung kebijakan keamanan khusus.

Anda dapat memilih salah satu kebijakan keamanan yang telah ditetapkan untuk perangkat Anda saat AWS IoT Core menghubungkannya. Nama-nama kebijakan keamanan standar terbaru AWS IoT Core termasuk informasi versi berdasarkan tahun dan bulan mereka dirilis. Kebijakan keamanan standar default adalah`IoTSecurityPolicy_TLS13_1_2_2022_10`. Untuk menentukan kebijakan keamanan, Anda dapat menggunakan AWS IoT konsol atau AWS CLI. Untuk informasi selengkapnya, lihat [Mengonfigurasikan pengaturan TLS dalam konfigurasi domain](iot-endpoints-tls-config.md).

Tabel berikut menjelaskan kebijakan keamanan standar terbaru yang AWS IoT Core mendukung. `IotSecurityPolicy_` telah dihapus dari nama kebijakan di baris judul agar sesuai.


| **Kebijakan keamanan** | TLS13\$11\$13\$12022\$110 | TLS13\$11\$12\$12022\$110 | TLS12\$11\$12\$12022\$110 | TLS12\$11\$10\$12016\$101\$1 | TLS12\$11\$10\$12015\$101\$1 | 
| --- | --- | --- | --- | --- | --- | 
| Pelabuhan TCP |  443/8443/8883  |  443/8443/8883  |  443/8443/8883  | 443 | 8443/8883 | 443 | 8443/8883 | 
| Protokol TLS | 
| TLS 1.2 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| TLS 1.3 | ✓ | ✓ |  |  |  |  |  | 
| Cipher TLS | 
| TLS\$1AES\$1128\$1GCM\$1 SHA256 | ✓ | ✓ |  |  |  |  |  | 
| TLS\$1AES\$1256\$1GCM\$1 SHA384 | ✓ | ✓ |  |  |  |  |  | 
| TLS\$1 \$1 \$1 CHACHA20 POLY1305 SHA256 | ✓ | ✓ |  |  |  |  |  | 
| ECDHE-RSA- -GCM- AES128 SHA256 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-RSA- - AES128 SHA256 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-RSA- -SHA AES128 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-RSA- -GCM- AES256 SHA384 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-RSA- - AES256 SHA384 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-RSA- -SHA AES256 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| AES128-GCM- SHA256 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| AES128-SHA256 |  | ✓ | ✓ | ✓ |  | ✓ | ✓ | 
| AES128-SHA |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| AES256-GCM- SHA384 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| AES256-SHA256 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| AES256-SHA |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| DHE-RSA- -SHA AES256 |  |  |  |  |  | ✓ | ✓ | 
| ECDHE-ECDSA- -GCM- AES128 SHA256 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-ECDSA- - AES128 SHA256 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-ECDSA- -SHA AES128 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-ECDSA- -GCM- AES256 SHA384 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-ECDSA- - AES256 SHA384 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 
| ECDHE-ECDSA- -SHA AES256 |  | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | 

**catatan**  
`TLS12_1_0_2016_01`hanya tersedia sebagai berikut Wilayah AWS: ap-east-1, ap-northeast-2, ap-south-1, ap-south-1, ap-southeast-2, ca-central-1, cn-north-1, cn-north-1, cn-northwest-1, eu-north-1, eu-north-1, eu-west-2 st-2, eu-west-3, me-south-1, sa-east-1, us-east-2, -1, -2, us-west-1. us-gov-west us-gov-west  
`TLS12_1_0_2015_01`hanya tersedia dalam hal berikut Wilayah AWS: ap-northeast-1, ap-southeast-1, eu-central-1, eu-central-1, eu-west-1, us-east-1, us-east-1, us-west-2.

## Catatan penting untuk keamanan transportasi di AWS IoT Core
<a name="tls-ssl-core"></a>

Untuk perangkat yang terhubung AWS IoT Core menggunakan [MQTT, TLS](https://docs.aws.amazon.com//iot/latest/developerguide/mqtt.html) mengenkripsi koneksi antara perangkat dan broker, dan AWS IoT Core menggunakan otentikasi klien TLS untuk mengidentifikasi perangkat. Untuk informasi selengkapnya, lihat [Autentikasi klien](https://docs.aws.amazon.com//iot/latest/developerguide/client-authentication.html). Untuk perangkat yang terhubung AWS IoT Core menggunakan [HTTP](https://docs.aws.amazon.com//iot/latest/developerguide/http.html), TLS mengenkripsi koneksi antara perangkat dan broker, dan otentikasi didelegasikan ke Signature Version 4. AWS Untuk informasi selengkapnya, lihat [Menandatangani permintaan dengan Tanda Tangan Versi 4](https://docs.aws.amazon.com//general/latest/gr/create-signed-request.html) di *Referensi AWS Umum*.

Saat Anda menghubungkan perangkat AWS IoT Core, mengirim [ekstensi Server Name Indication (SNI)](https://tools.ietf.org/html/rfc3546#section-3.1) tidak diperlukan tetapi sangat disarankan. Untuk menggunakan fitur seperti [pendaftaran multi-akun](https://docs.aws.amazon.com//iot/latest/developerguide/x509-client-certs.html#multiple-account-cert), [domain kustom](https://docs.aws.amazon.com//iot/latest/developerguide/iot-custom-endpoints-configurable-custom.html), [titik akhir VPC](https://docs.aws.amazon.com//iot/latest/developerguide/IoTCore-VPC.html), dan [kebijakan TLS yang dikonfigurasi](https://docs.aws.amazon.com//iot/latest/developerguide/iot-endpoints-tls-config.html), Anda harus menggunakan ekstensi SNI dan memberikan alamat titik akhir lengkap di bidang. `host_name` `host_name`Bidang harus berisi titik akhir yang Anda panggil. Titik akhir itu harus salah satu dari yang berikut:
+ Yang `endpointAddress` dikembalikan oleh `aws iot [describe-endpoint](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-endpoint.html) --endpoint-type iot:Data-ATS`
+ Yang `domainName` dikembalikan oleh `aws iot [describe-domain-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-domain-configuration.html) –-domain-configuration-name "domain_configuration_name"`

Koneksi yang dicoba oleh perangkat dengan `host_name` nilai yang salah atau tidak valid akan gagal. AWS IoT Core akan mencatat kegagalan CloudWatch untuk jenis otentikasi Otentikasi [Kustom](https://docs.aws.amazon.com//iot/latest/developerguide/custom-authentication.html).

AWS IoT Core tidak mendukung [ekstensi SessionTicket TLS](https://www.ietf.org/rfc/rfc5077.txt).

## Keamanan transportasi untuk perangkat nirkabel LoRa WAN
<a name="tls-lorawan"></a>

LoRaPerangkat WAN mengikuti praktik keamanan yang dijelaskan dalam [LoRaWAN™ SECURITY: Buku Putih yang Disiapkan untuk LoRa Aliansi™ oleh Gemalto, Actility,](https://lora-alliance.org/sites/default/files/2019-05/lorawan_security_whitepaper.pdf) dan Semtech. 

Untuk informasi selengkapnya tentang keamanan transportasi dengan perangkat LoRa WAN, lihat [data LoRa WAN dan keamanan transportasi](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/iot-lorawan-security.html).

# Enkripsi data di AWS IoT
<a name="data-encryption"></a>

Perlindungan data mengacu pada perlindungan data saat dalam perjalanan (saat bepergian ke dan dari AWS IoT Core) dan saat istirahat (saat disimpan di perangkat atau oleh AWS layanan lain). Semua data yang dikirim ke AWS IoT Core dikirim melalui koneksi TLS menggunakan MQTT, HTTPS, dan WebSocket protokol, sehingga aman secara default saat dalam perjalanan. AWS IoT Core mengumpulkan data dari perangkat dan kemudian mengirimkannya ke AWS layanan lain untuk diproses lebih lanjut. Untuk informasi selengkapnya tentang enkripsi data di layanan AWS lainnya, lihat dokumentasi keamanan untuk layanan tersebut. Untuk informasi selengkapnya, lihat [Enkripsi data saat istirahat](encryption-at-rest.md).

FreeRTOS menyediakan pustaka PKCS \$111 yang mengabstraksi penyimpanan kunci, mengakses objek kriptografi, dan mengelola sesi. Anda bertanggung jawab untuk menggunakan pustaka ini untuk mengenkripsi data saat istirahat di perangkat Anda. Untuk informasi selengkapnya, lihat Perpustakaan [Standar Kriptografi Kunci Publik FreeRTOS (PKCS](https://docs.aws.amazon.com/freertos/latest/userguide/security-pkcs.html)) \$111.

# Enkripsi data saat istirahat AWS IoT Core
<a name="encryption-at-rest"></a>

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
<a name="aws-owned-keys"></a>

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](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-key) yang dimiliki di *Panduan AWS Key Management Service Pengembang*.

## Kunci yang dikelola pelanggan
<a name="customer-managed-keys"></a>

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](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) di *Panduan Developer AWS Key Management Service *.

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

**Topics**
+ [Langkah 1: Buat kunci yang dikelola pelanggan](#encryption-at-rest-cmk-create)
+ [Langkah 2: Buat peran IAM untuk memberikan AWS IoT Core izin menggunakan kunci KMS](#create-an-iam-role)
+ [Langkah 3: Ikut serta kunci yang dikelola pelanggan di AWS IoT Core](#opt-in-customer-managed-keys)
+ [Langkah 4: Izin tambahan diperlukan untuk operasi pesawat AWS IoT Core kontrol](#cmk-control-plane-permissions)
+ [Langkah 5: Mengelola kunci](#understanding-key-health)
+ [Langkah 6: Memantau kesehatan utama](#health-status-monitoring)

### Langkah 1: Buat kunci yang dikelola pelanggan
<a name="encryption-at-rest-cmk-create"></a>

Anda dapat membuat kunci terkelola pelanggan simetris dengan menggunakan AWS KMS konsol atau perintah AWS KMS CLI. Yang `keySpec` harus `SYMMETRIC_DEFAULT` dan `keyUsage` harus`ENCRYPT_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](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) di *Panduan AWS Key Management Service Pengembang*.

#### Kebijakan kunci
<a name="key-policy"></a>

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](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) 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
<a name="create-an-iam-role"></a>

 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html).AWS Identity and Access Management *

### Langkah 3: Ikut serta kunci yang dikelola pelanggan di AWS IoT Core
<a name="opt-in-customer-managed-keys"></a>

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
   ```

1. 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
<a name="cmk-control-plane-permissions"></a>

Setelah Anda memilih kunci yang dikelola 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 Anda menelepon`GetPolicy`, 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 pengguna atau peran IAM masing-masing.

#### AWS KMS izin untuk `UpdateEncryptionConfiguration`
<a name="kms-permissions-update-encryption-configuration"></a>

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
<a name="kms-permissions-control-plane-apis"></a>

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\$1 APIs** - Semua operasi daftar (misalnya,, `ListThings``ListPolicies`,`ListCertificates`)
+ **Hapus\$1 APIs** — Semua operasi penghapusan (misalnya,,,) `DeleteThing` `DeletePolicy` `DeleteCertificate`

### Langkah 5: Mengelola kunci
<a name="understanding-key-health"></a>

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
<a name="customer-actions-affecting-health"></a>

Beberapa tindakan pelanggan dapat menyebabkan status kesehatan utama berubah dari `HEALTHY` menjadi`UNHEALTHY`:

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
<a name="key-transition"></a>

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 dengan mengikuti langkah-langkah di[Langkah 1: Buat kunci yang dikelola pelanggan](#encryption-at-rest-cmk-create).

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

1. 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"
   ```

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
<a name="failure-scenarios"></a>

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 dimodifikasi 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
<a name="prevention-best-practices"></a>

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
<a name="health-status-monitoring"></a>

Sebagai bagian dari pemeriksaan berkala, AWS IoT Core CloudWatch metrik dan log dipancarkan untuk memberikan visibilitas pada status kesehatan konfigurasi kunci yang dikelola 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](https://docs.aws.amazon.com/iot/latest/developerguide/configure-logging.html#log-level).

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"
   ```

1. **Aktifkan pencatatan AWS IoT V2** untuk menangkap peristiwa perubahan status kesehatan terperinci dengan kode kesalahan dan pesan.

1. **Periksa status konfigurasi** untuk pemecahan masalah:

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

1. **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
<a name="unhealthy-to-healthy"></a>

Ketika status kunci enkripsi diperbarui dari `UNHEALTHY` ke`HEALTHY`, 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
<a name="healthy-to-unhealthy"></a>

Ketika status kunci enkripsi diperbarui dari `HEALTHY` ke`UNHEALTHY`, 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 menjadi`UNHEALTHY`, 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](https://console.aws.amazon.com/support/home#/) untuk bantuan tambahan.

#### AWS CloudTrail acara
<a name="aws-cloudtrail-events"></a>

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

Ada CloudTrail acara untuk`DescribeKey`,`Decrypt`,`ReEncrypt`, dan`GenerateDataKeyWithoutPlaintext`. 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`
<a name="decrypt"></a>

```
{
    "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"
}
```