での保管時のデータ暗号化AWS IoT Core - AWS IoT Core

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

での保管時のデータ暗号化AWS IoT Core

デフォルトでは、保管中のすべてのAWS IoT Coreデータは AWS所有キーを使用して暗号化されます。 は AWS Key Management Service() の対称カスタマーマネージドキーAWS IoT CoreもサポートしていますAWS KMS。カスタマーマネージドキーを使用すると、AWSアカウントのAWS KMSキーを作成、所有、管理できます。AWS IoT Core は KMS キーを使用して保管中のデータを暗号化します。ユーザーは、キーポリシーの作成や保守など、これらの KMS キーを完全に制御できます。これらのキーのアクセス許可を制御するAWS KMSために にアクセスするロールの IAM ポリシーを設定することもできます。

AWS所有キー

AWS所有キーは、 AWSサービスが複数のAWSアカウントで使用するために所有および管理する KMS キーのコレクションです。 AWSサービスはAWS、所有キーを使用してデータを保護します。デフォルトでは、 は AWS所有キーを使用して保管中のデータをAWS IoT Core暗号化します。これらのキーはサービスによって管理されます。AWS所有キーを表示、管理、使用することはできません。ユーザーがこれらのキーを保護するために実行する必要のあるアクションはありません。

AWS所有キーの詳細については、「 AWS Key Management Serviceデベロッパーガイド」のAWS「 所有キー」を参照してください。

カスタマーマネージドキー

カスタマーマネージドキーは、作成、所有、管理するAWSアカウントの KMS キーです。ユーザーは、キーポリシーの作成や保守など、これらの AWS KMS キーを完全に制御できます。これらのキーのアクセス許可を制御するAWS KMSために にアクセスするロールの IAM ポリシーを設定することもできます。カスタマーマネージド KMS キーを使用してデータを暗号化AWS IoT Coreするように を設定できます。

カスタマーマネージドキーの詳細については、AWS Key Management Service デベロッパーガイドの「カスタマーマネージドキー」を参照してください。

でカスタマーマネージドキーにオプトインするにはAWS IoT Core、次の手順に従います。

ステップ 1:カスタマーマネージドキーを作成する

対称カスタマーマネージドキーは、 AWS KMSコンソールまたは AWS KMSCLI コマンドを使用して作成できます。keySpecSYMMETRIC_DEFAULTkeyUsageENCRYPT_DECRYPT である必要があります。

注記

AWS IoT Coreは、カスタマーマネージドAWS KMSキーのSYMMETRIC_DEFAULTキー仕様とENCRYPT_DECRYPTキー使用状況を持つキーのみをサポートします。

以下は、 でAWS IoT Coreカスタマーマネージドキーに使用できる KMS キーを作成するAWS CLIコマンドの例です。

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

以下は、コマンドの出力例です。

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

詳細については、「AWS Key Management Service デベロッパーガイド」の「対称カスタマーマネージドキーを作成する」を参照してください。

キーポリシー

カスタマーマネージドキーの作成時に、キーポリシーを指定することができます。キーポリシーは、カスタマーマネージドキーへのアクセスを制御します。すべてのカスタマーマネージドキーには、キーポリシーが 1 つだけ必要です。このポリシーには、そのキーを使用できるユーザーとその使用方法を決定するステートメントが含まれています。詳細については、「AWS Key Management Service デベロッパーガイド」の「キーポリシー」を参照してください。

AWS IoT Coreは、アカウントの IAM ロールを使用してカスタマーマネージドキーにアクセスします。カスタムキーポリシーを使用している場合は、このキーで作成された IAM ロールに次のアクセス許可があることを確認してください。

  • kms:DescribeKey

  • kms:Decrypt

  • kms:Encrypt

  • kms:GenerateDataKeyWithoutPlaintext

  • kms:ReEncryptTo

  • kms:ReEncryptFrom

ステップ 2: KMS キーを使用するAWS IoT Coreためのアクセス許可を付与する IAM ロールを作成する

が作成した KMS キーを使用して保管中のデータを暗号化AWS IoT Coreするには、アカウントに IAM ロールも作成する必要があります。このロールは、 が KMS キーにアクセスするために引き受けAWS IoT Coreることができます。

がロールを引き受けるAWS IoT Coreには、ロールに次の信頼ポリシーが必要です。

{ "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:*" } } } }

IAM ロールにアタッチされた IAM ポリシーに、KMS キーに対する次のアクセス許可が設定されていることを確認します。

  • kms:DescribeKey

  • kms:Decrypt

  • kms:Encrypt

  • kms:GenerateDataKeyWithoutPlaintext

  • kms:ReEncryptTo

  • kms:ReEncryptFrom

以下は、カスタマーマネージドキーに必要なアクセス許可が設定された IAM ポリシーの例です。

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

詳細については、「AWS Identity and Access Management ユーザーガイド」の「IAM ユーザーにアクセス許可を付与するロールを作成する」を参照してください。

ステップ 3: でカスタマーマネージドキーにオプトインするAWS IoT Core

前のすべてのステップを完了したら、update-encryption-configuration CLI コマンドを実行し、AWS IoT Core でカスタマーマネージドキーを使用してオプトインします。カスタマーマネージドキーにオプトインすると、AWSアカウント内のすべてのAWS IoT Coreリソースは指定されたAWS KMSキーを使用して暗号化されます。

  1. AWS IoT Coreを使用して でカスタマーマネージドキーにオプトインするにはAWS CLI、 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. AWS IoT Coreを使用して でカスタマーマネージドキーを検証するにはAWS CLI、 describe-encryption-configuration CLI コマンドを実行します。

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

    でカスタマーマネージドキーを有効にしている場合AWS IoT Core、出力は次のようになります。

    { "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 フィールドは、暗号化設定が最後に更新された日付を示します。

    カスタマーマネージドキーを有効にしていない場合、出力は次のようになります。

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

ステップ 4: AWS IoT Coreコントロールプレーンオペレーションに必要な追加のアクセス許可

カスタマーマネージドキーにオプトインすると、AWSアカウントに属するすべてのAWS IoT Coreリソースは、提供された KMS キーで暗号化されます。すべてのコントロールプレーンオペレーションでは、AWS IoT Coreリソースに対する特定のオペレーションに必要なkms:Decryptアクセス許可に加えて、呼び出し元に KMS キーに対するアクセス許可が必要になりました。発信者に kms:Decrypt アクセス許可がなく、データの暗号化または復号化を必要とする API コール (GetPolicy など) を行った場合、発信者は UnauthorizedException を受け取ります。

たとえば、GetPolicy を呼び出す場合、API コールを成功させるには、カスタマーマネージド KMS キーに対する iot:GetPolicykms:Decrypt の両方のアクセス許可が必要です。

注記

IAM ユーザーまたはロールを更新して暗号化設定に使用されるキーに対するAWS KMSアクセス許可を付与する場合は、KMS キーポリシーによって、各 IAM ユーザーまたはロールに必要なアクセス許可も付与されていることを確認してください。

AWS KMSの アクセス許可 UpdateEncryptionConfiguration

UpdateEncryptionConfiguration API コールでは、カスタマーマネージドキーにオプトインしたり、キー設定を変更したりするために、KMS キーに対する次のAWS KMSアクセス許可が必要です。

  • kms:DescribeKey

  • kms:Decrypt

  • kms:Encrypt

  • kms:GenerateDataKeyWithoutPlaintext

  • kms:ReEncryptTo

  • kms:ReEncryptFrom

AWS KMS他のすべてのコントロールプレーン APIsの アクセス許可

ほとんどのコントロールプレーン API では、カスタマーマネージドキーが有効になっている場合に kms:Decrypt アクセス許可が必要です。ただし、特定の API では、これらの追加のアクセス許可は必要ありません。

AWS KMSアクセス許可を必要としない APIs

List* および Delete* API はこの区分には該当しません。お客様はいつでも List* または Delete* コントロールプレーン API を呼び出すことができます。発信者に kms:Decrypt アクセス許可がない場合でも、これらの API コールは成功します。これらの API コールは、カスタマーマネージドキーが異常である場合でも成功します。これは、List*Delete* API が復号化を一切行わないためです。

  • List* API – すべての一覧表示操作 (例: ListThingsListPoliciesListCertificates)

  • Delete* API – すべての削除操作 (例: DeleteThingDeletePolicyDeleteCertificate)

ステップ 5: キーの管理

AWS IoT Coreは、カスタマーマネージドキー設定を定期的にチェックして、暗号化および復号オペレーションに影響がないことを確認します。これらのヘルスチェックは 1 AWS IoT Core分に 1 回実行され、AWS KMSキーおよび関連する IAM ロールの両方にアクセスして、暗号化および復号オペレーションに使用する能力を検証します。

HEALTHY

AWS IoT Coreは、指定された IAM ロールを介してAWS KMSキーに正常にアクセスし、暗号化/復号オペレーションを実行できます。すべてのコンポーネントが正しく機能しています。

UNHEALTHY

AWS IoT Coreは AWS KMSキーにアクセスまたは使用できません。これにより、新しい暗号化操作を実行できなくなり、サービス機能に影響が出る可能性があります。errorCode フィールドは、問題がキーにあるのか、IAM ロールにあるのかを示します。

キーのヘルスに影響を与える可能性のあるお客様によるアクション

いくつかのお客様のアクションが引き金となって、キーのヘルスステータスが HEALTHY から UNHEALTHY に変わることがあります。

キー関連のアクション
  • AWS KMSキーの削除 – キーの削除をスケジュールすると、そのキーは Pending deletionステータスになり、使用できません。

  • AWS KMSキーの無効化 – KMS キーを無効にすると、暗号化/復号オペレーションに使用できなくなります。

  • 削除のためのキーのスケジュール – 削除が完了するとキーは使用できなくなります。

  • キーポリシーの変更 – AWS IoT Coreアクセスに必要なアクセス許可の削除

  • キー使用許可の変更 – 必要なAWS KMSアクションの制限

IAM ロール関連のアクション
  • IAM ロールの削除 – AWS IoT Coreキーにアクセスするためのロールを引き受けることはできません

  • ロールのアクセス許可の変更 — ロールポリシーから必要なAWS KMSアクセス許可を削除する

  • 信頼ポリシーの変更 — AWS IoT Coreサービスがロールを引き受けるのを防ぐ

  • 制限条件の追加 – がロールAWS IoT Coreを使用できないようにする条件

アカウントレベルのアクション
  • クロスアカウントキーアクセスの変更 – 異なるアカウントのキーのアクセス許可の変更。

  • サービスコントロールポリシー (SCPs) – AWS KMSアクセスを制限する組織レベルのポリシー

  • アカウントレベルの IAM ポリシー – キーアクセスを上書きする、またはキーアクセスと競合するポリシー。

重要

で使用されるAWS KMSキー、IAM ロール、またはポリシーへの変更は、まず開発環境でテストAWS IoT Coreする必要があります。変更を加えた後、キーのヘルスステータスを注意深くモニタリングして、AWS IoT Core機能に影響がないことを確認します。

暗号化設定の更新

の暗号化設定を更新AWS IoT Coreして、あるカスタマーマネージドキーから別のカスタマーマネージドキーに変更するか、AWS所有キーとカスタマーマネージドキーの間で変更します。

設定を別のカスタマーマネージドキーに変更するには:

  1. ステップ 1:カスタマーマネージドキーを作成する」の手順に従って、新しいカスタマーマネージドキーを作成します。

  2. 更新期間中には古いキーと新しいキーの両方のアクセス許可を含めるように、IAM ロールポリシーを更新します。

  3. 新しいキーを使用するように暗号化設定を更新します。

    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"

カスタマーマネージドキーから AWS所有キーに設定を変更するには:

aws iot update-encryption-configuration --encryption-type "AWS_OWNED_KMS_KEY"
注記

新しいカスタマーマネージドキーの暗号化設定を更新するときは、操作を成功させるために、古いキーと新しいキーの両方がアクセス可能な状態であることを確認します。

一般的な障害シナリオとその影響

次の表は、キーが削除または非アクティブ化される一般的な障害シナリオを示しています。

シナリオ 即時的な影響 長期的な影響

キーの無効化

すべての新しい暗号化/復号化の操作がすぐに失敗する

キーが再有効化または置き換えられるまでサービスが中断

キー削除のスケジュール

キーのステータスが削除保留中に変更され、すべての暗号化/復号化操作が失敗する

削除完了時に自動サービスの障害が発生する

キーの完全削除

すべての操作の即時および永続的な障害

永久的にデータが損失され、暗号化されたデータの復元が不可能

キーポリシーの不適切な変更

AWS IoT Coreはキーへのアクセス許可を失います

ポリシーが修正されるまでのサービス障害が続く

IAM ロールの削除

AWS IoT Coreはキーにアクセスするためのロールを引き受けることができません

暗号化サービスが完全に停止

IAM ロールが正しく変更されていない

AWS IoT Coreがロールを引き受けたり、ロールを使用してキーにアクセスしたりできない

IAM ロールが修正されるまでサービス障害が続く

予防とベストプラクティス

キーの偶発的な削除や非アクティブ化を防ぎ、サービス障害のリスクを最小限に抑えるには:

キーのライフサイクルポリシーを実装する

キーの作成、ローテーション、廃止に関する明確な手順を確立します。どのキーがどのAWS IoT Coreリソースで使用されるかを文書化し、アクティブなキーのインベントリを維持します。

IAM ポリシーを使用してキーの削除を制限する

権限のないユーザーが重要な暗号化キーを削除または無効化できないようにする IAM ポリシーを作成します。条件を使用して、キー削除の操作に対し追加承認を要求します。

CloudTrail ログ記録を有効にする

CloudTrail を使用してすべてのAWS KMSキーオペレーションをモニタリングし、不正または偶発的なキー管理アクティビティを検出します。キーの削除、無効化、またはポリシーの変更に関するアラートを設定します。

キーの交換手順をテストする

非本番環境でキーの交換手順を定期的にテストして、キー関連の障害から迅速に復旧できることを確認します。

キーのバックアップを維持する

AWS KMSキーマテリアルをエクスポートすることはできませんが、必要に応じて迅速なキー交換を容易にするために、キー ARNs、ポリシー、および関連するAWS IoT Core設定の詳細な記録を維持します。

キーのヘルスをモニタリングする

CMK.Health メトリクスを継続的にモニタリングし、主要なヘルスステータスの変更に関する自動アラートを設定します。キー関連の問題に迅速に対処するための自動応答を実装します。

重要

キーの更新手順は、本番環境に実装する前に、必ず開発環境でテストしてください。ロールバック計画を文書化し、緊急時にキー交換手順を迅速に実行できるようにします。

ステップ 6: キーヘルスのモニタリング

定期的なチェックAWS IoT Coreの実行の一環として、CloudWatch メトリクスとログが出力され、カスタマーマネージドキー設定のヘルスステータスが可視化されます。

AWS IoT Coreは、少なくとも 1 分に 1 回 CloudWatch にCMK.Healthメトリクスを出力します。メトリクスは、 がデータの暗号化と復号AWS IoT Coreに使用するカスタマーマネージドキーのヘルスステータスに関する情報を提供します。

この CMK.Health パラメータは以下の値を取ることができます。

  • 値は です1。AWS IoT Coreデータの暗号化と復号に暗号化キーを正常に使用できます。

  • 値は です0。AWS IoT Coreデータの暗号化と復号に暗号化キーを使用することはできません。

AWS IoT Core暗号化キーのヘルスステータスが変更されると、 も AWS IoTV2 ログを出力します。これらのログは、ヘルスステータスの更新に関する追加の詳細を提供します。これらのログを表示するには、AWS IoTV2 ログを有効にする必要があります。HEALTHY ログは INFO レベルで出力され、UNHEALTHY ログは ERROR レベルで出力されます。ログレベルの詳細については、「ログレベル」を参照してください。

次の例は、カスタマーマネージドキーのヘルスステータスの更新を示すAWS IoT Coreために から出力される CloudWatch ログエントリです。

重要なヘルスステータスの変更を効果的にモニタリングして対応するには:

  1. CMK.Health メトリクスの CloudWatch アラームを設定します

    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. 詳細なヘルスステータス変更イベントをエラーコードとメッセージでキャプチャするための EnableAWS IoTV2 ログ記録

  3. トラブルシューティングの設定ステータスを確認します

    aws iot describe-encryption-configuration --region us-west-2
  4. errorCode フィールドを確認して UNHEALTHY ステータスを調べます

    • KMS_KEY_VALIDATION_ERROR – AWS KMSキーの問題 (無効、削除、またはポリシーの問題)

    • ROLE_VALIDATION_ERROR – IAM ロールの問題 (削除やポリシーの問題、または信頼の問題)

UNHEALTHY から HEALTHY へ変更

暗号化キーのステータスが から UNHEALTHYに更新されるとHEALTHY、 AWS IoT Coreは次の形式で AWS IoTV2 ログメッセージを出力します。

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

HEALTHY から UNHEALTHY へ変更

暗号化キーのステータスが から HEALTHYに更新されるとUNHEALTHY、 AWS IoT Coreは次の形式で AWS IoTV2 ログメッセージを出力します。

{ "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" }
警告

キーの状態が になるとUNHEALTHY、AWS IoT Coreオペレーションはすぐに失敗します。この場合は、キー設定、IAM ロールのアクセス許可、およびポリシーを確認してください。CMK.Health メトリクスでステータスの変更をモニタリングします。設定を確認してもオペレーションが失敗し続ける場合は、アカウントマネージャーまたは AWS サポートセンターにお問い合わせください。

AWS CloudTrailイベント

復号オペレーションの暗号化のための KMS キーAWS IoT Coreの使用状況をモニタリングすることもできます。 AWS IoT CoreはDescribeKey、KMS キーに対して DecryptReEncrypt、、および GenerateDataKeyWithoutPlaintextオペレーションを行い、保管時に保存されているAWSアカウントに属するデータを暗号化/復号します。

DescribeKeyDecryptReEncryptおよび GenerateDataKeyWithoutPlaintext には CloudTrail イベントがあります。これらのイベントは、カスタマーマネージドキーによって暗号化されたデータにアクセスAWS IoT Coreするために によって呼び出されるAWS KMSオペレーションをモニタリングします。

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