本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
静态数据加密 Amazon IoT Core
默认情况下,所有静态 Amazon IoT Core 数据都使用 Amazon 自有密钥进行加密。 Amazon IoT Core 还支持 Amazon Key Management Service (Amazon KMS) 中的对称客户管理密钥。使用客户管理的密钥,您可以创建、拥有和管理 Amazon 账户中的 Amazon KMS 密钥。 Amazon IoT Core 将使用您的 KMS 密钥加密您的静态数据。您对这些 KMS 密钥拥有完全控制权,包括创建和维护其密钥策略。您还可以为访问的角色配置 IAM 策略, Amazon KMS 以控制这些密钥的权限。
Amazon 拥有的密钥
Amazon 拥有的密钥是 Amazon 服务拥有和管理的 KMS 密钥的集合,供多个 Amazon 账户使用。 Amazon 服务可以使用 Amazon 自有密钥来保护您的数据。默认情况下,使用 Amazon 自有密钥 Amazon IoT Core 加密静态数据。这些密钥由服务托管。您无法查看、管理或使用 Amazon 拥有的密钥。但是,您无需采取任何操作来保护这些密钥。
有关 Amazon 自有密钥的更多信息,请参阅Amazon Key Management Service 开发者指南中的Amazon 自有密钥。
客户自主管理型密钥
客户管理密钥是您创建、拥有和管理的 Amazon 账户中的 KMS 密钥。您对这些 Amazon KMS 密钥拥有完全控制权,包括创建和维护其密钥策略。您还可以为访问的角色配置 IAM 策略, Amazon KMS 以控制这些密钥的权限。您可以配置 Amazon IoT Core 为使用客户管理的 KMS 密钥来加密您的数据。
有关客户托管密钥的更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的客户托管密钥。
要选择加入客户管理的密钥 Amazon IoT Core,请按照以下步骤操作:
主题
步骤 1:创建客户托管式密钥
您可以使用 Amazon KMS 控制台或 Amazon KMS CLI 命令创建对称的客户管理密钥。keySpec 必须是 SYMMETRIC_DEFAULT,keyUsage 必须是 ENCRYPT_DECRYPT。
注意
Amazon IoT Core 仅支持具有 Amazon KMS 密钥规格的密SYMMETRIC_DEFAULTENCRYPT_DECRYPT钥和客户管理密钥的密钥用法。
以下是创建 KMS 密钥的示例 Amazon CLI 命令,该密钥可用于创建客户管理 Amazon IoT Core 的密钥。
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 } }
有关更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的创建对称客户托管密钥。
密钥策略
创建客户托管密钥时,可以指定密钥策略。密钥政策控制对客户托管密钥的访问。每个客户托管式密钥必须只有一个密钥策略,其中包含确定谁可以使用密钥以及如何使用密钥的声明。有关更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的密钥策略?
Amazon IoT Core 使用您账户中的 IAM 角色访问您的客户管理密钥。如果您使用自定义密钥策略,请确保在此密钥上创建的 IAM 角色具有以下权限:
kms:DescribeKeykms:Decryptkms:Encryptkms:GenerateDataKeyWithoutPlaintextkms:ReEncryptTokms:ReEncryptFrom
第 2 步:创建要授予的 IAM 角色 Amazon IoT Core 使用 KMS 密钥的权限
Amazon IoT Core 要使用您创建的 KMS 密钥来加密静态数据,您还需要在账户中创建一个 IAM 角色,该角色 Amazon IoT Core 可以假定访问 KMS 密钥。
该角色必须具有以下信任策略 Amazon 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:DescribeKeykms:Decryptkms:Encryptkms:GenerateDataKeyWithoutPlaintextkms:ReEncryptTokms: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" } } } ] }
有关更多信息,请参阅《Amazon Identity and Access Management 用户指南》中的创建向 IAM 用户委派权限的角色。
第 3 步:选择使用客户管理的密钥 Amazon IoT Core
完成所有先前步骤后,运行 update-encryption-configuration CLI 命令以在 Amazon IoT Core中选择使用客户托管密钥。当您选择使用客户管理密钥时,您的 Amazon 账户中的所有 Amazon IoT Core 资源都将使用指定的 Amazon KMS 密钥进行加密。
-
要选择 Amazon IoT Core 使用客户管理的密钥 Amazon CLI,请运行
update-encryption-configurationCLI 命令。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 -
要验证客户管理的密钥是否在 Amazon IoT Core 使用 Amazon CLI,请运行
describe-encryption-configurationCLI 命令:aws iot describe-encryption-configuration --region us-west-2如果您在中启用了客户管理的密钥 Amazon 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 步:所需的额外权限 Amazon IoT Core 控制平面操作
在您选择使用客户管理密钥后,属于您 Amazon 账户的所有 Amazon IoT Core 资源都将使用提供的 KMS 密钥进行加密。现在,除了对 Amazon IoT Core 资源进行特定操作所需的kms:Decrypt权限外,所有控制平面操作都要求调用者拥有 KMS 密钥的权限。如果调用者没有 kms:Decrypt 权限,并且他们进行了需要加密或解密数据的 API 调用(例如,GetPolicy),他们将收到 UnauthorizedException。
例如,当您调用 GetPolicy 时,您需要对您的客户托管 KMS 密钥同时拥有 iot:GetPolicy 和 kms:Decrypt 权限,API 调用才能成功。
注意
在更新 IAM 用户或角色以授予对用于加密配置的密钥的 Amazon KMS 权限时,请确保 KMS 密钥策略还向相应的 IAM 用户或角色授予所需的权限。
Amazon KMS 的权限 UpdateEncryptionConfiguration
UpdateEncryptionConfigurationAPI 调用需要 KMS 密钥的以下 Amazon KMS 权限才能选择使用客户管理的密钥或修改密钥配置:
kms:DescribeKeykms:Decryptkms:Encryptkms:GenerateDataKeyWithoutPlaintextkms:ReEncryptTokms:ReEncryptFrom
Amazon KMS 所有其他控制平面 API 的权限
启用客户托管密钥后,大多数控制面板 API 都需要 kms:Decrypt 权限。但是,某些 API 不需要这些附加权限:
- 不需要 Amazon KMS 权限的 API
-
List*和Delete*API 不属于此类别。客户始终可以调用任意List*或Delete*控制面板 API,即使调用者没有kms:Decrypt权限,这些 API 调用也会成功。即使您的客户托管密钥不正常,这些 API 调用也会成功,因为List*和Delete*API 不执行任何解密操作。List* APIs – 所有列出操作(例如
ListThings、ListPolicies、ListCertificates)Delete* APIs – 所有删除操作(例如、
DeleteThing、DeletePolicy、DeleteCertificate)
步骤 5:管理密钥
Amazon IoT Core 定期检查您的客户管理的密钥配置,以确保加密和解密操作不受影响。这些运行状况检查每分钟运行一次,用于验证 Amazon IoT Core访问和使用密 Amazon KMS 钥和关联的 IAM 角色进行加密和解密操作的能力。
- HEALTHY
-
Amazon IoT Core 可以通过指定的 IAM 角色成功访问 Amazon KMS 密钥并执行 encryption/decryption 操作。所有组件功能正常。
- UNHEALTHY
-
Amazon IoT Core 无法访问或使用 Amazon KMS 密钥。这会阻止新的加密操作,并可能影响服务功能。
errorCode字段指示问题是出在密钥还是 IAM 角色上。
可能影响密钥运行状况的客户操作
以下几个客户操作可能导致密钥运行状况从 HEALTHY 变为 UNHEALTHY:
- Key-related 行动
-
删除 Amazon KMS 密钥 — 计划删除密钥时,密钥处于
Pending deletion状态且无法使用禁用 Amazon KMS 密钥 — 当您禁用 KMS 密钥时,它不能再用于加密/解密操作
计划删除密钥:密钥在删除完成后变得不可用
修改密钥策略 -删除必要的 Amazon IoT Core 访问权限
更改密钥使用权限 -限制所需 Amazon KMS 操作
- 与 IAM 角色相关的操作
-
删除 IAM 角色 — Amazon IoT Core 无法代入该角色来访问密钥
修改角色权限 -从角色策略中移除所需 Amazon KMS 权限
更改信任策略 -阻止 Amazon IoT Core 服务承担角色
添加限制性条件 - Amazon IoT Core 阻止使用角色的条件
- Account-level 行动
-
Cross-account 密钥访问权限更改 — 修改不同账户中密钥的权限
服务控制策略 (SCP) — 限制访问 Amazon KMS 的 Organization-level 策略
Account-level IAM 政策 — 替代密钥访问权限或与密钥访问冲突的政策
重要
对使用的 Amazon KMS 密钥、IAM 角色或策略的任何更改都 Amazon IoT Core 应首先在开发环境中进行测试。进行任何更改后密切监控密钥运行状况,以确保 Amazon IoT Core 功能不受影响。
更新加密配置
在中更新您的加密配置 Amazon IoT Core ,从一个客户管理的密钥更改为另一个客户管理的密钥,或者在 Amazon 自有密钥和客户管理的密钥之间进行更改。
要将配置更改为其他客户托管密钥,请执行以下操作:
-
按照 步骤 1:创建客户托管式密钥 中的步骤创建一个新的客户托管密钥。
-
更新您的 IAM 角色策略,以在更新期间包含对新旧密钥的权限。
-
更新您的加密配置以使用新密钥:
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"
要将配置从客户管理的密钥改回 Amazon 自有密钥,请执行以下操作:
aws iot update-encryption-configuration --encryption-type "AWS_OWNED_KMS_KEY"
注意
在为新的客户托管密钥更新加密配置时,请确保新旧密钥在操作期间均可访问,以确保操作成功。
常见故障场景和影响
下表描述了密钥被删除或停用时的常见故障场景:
| 场景 | 直接影响 | Long-term 后果 |
|---|---|---|
|
密钥已禁用 |
所有新 encryption/decryption 操作都会立即失败 |
服务中断,直到密钥被重新启用或替换 |
|
密钥计划删除 |
密钥状态更改为待删除,所有 encryption/decryption 操作都将失败 |
删除完成后服务自动故障 |
|
密钥已永久删除 |
所有操作立即且永久失败 |
永久数据丢失且无法恢复加密数据 |
|
密钥策略修改不正确 |
Amazon IoT Core 失去对密钥的访问权限 |
服务故障,直到策略被纠正 |
|
IAM 角色已删除 |
Amazon IoT Core 无法扮演角色来访问密钥 |
加密服务完全故障 |
|
IAM 角色被错误修改 |
Amazon IoT Core 无法代入角色或使用角色访问密钥 |
服务故障,直到 IAM 角色被纠正 |
预防和最佳实践
为防止意外密钥删除或停用,并最大限度地降低服务故障风险,请执行以下操作:
- 实施密钥生命周期策略
-
建立清晰的密钥创建、轮换和停用流程。记录哪些密钥由哪些 Amazon IoT Core 资源使用,并维护活跃密钥清单。
- 使用 IAM 策略限制密钥删除
-
创建 IAM 策略,防止未经授权的用户删除或禁用关键加密密钥。使用条件要求密钥删除操作需要额外审批。
- 启用 CloudTrail 日志记录
-
监控所有 Amazon KMS 密钥操作 CloudTrail ,以检测未经授权或意外的密钥管理活动。为密钥删除、禁用或策略更改设置警报。
- 测试密钥替换流程
-
定期在非生产环境中测试密钥替换流程,以确保您能快速从密钥相关故障中恢复。
- 维护密钥备份
-
虽然您无法导出 Amazon KMS 密钥材料,但要保留关键 ARN、策略和相关 Amazon IoT Core 配置的详细记录,以便在需要时快速更换密钥。
- 监控密钥运行状况
-
持续监控
CMK.Health指标,并为密钥运行状况变化设置自动化警报。实施自动化响应,以快速处理密钥相关问题。
重要
在生产环境实施之前,始终在开发环境中测试密钥更新流程。制定文档化的回滚计划,并确保密钥替换流程在紧急情况下可以快速执行。
步骤 6:监控密钥运行状况
作为定期检查的一部分,系统会发布 CloudWatch 指标和日志,以提供有关客户管理密钥配置的 Amazon IoT Core 运行状况的可见性
Amazon IoT Core 将CMK.Health指标 CloudWatch 至少每分钟发出一次。该指标提供有关 Amazon IoT Core 用于加密和解密数据的客户管理密钥的运行状况的信息。
CMK.Health 指标可能具有以下值:
值 Amazon IoT Core 为
1:能够成功使用加密密钥加密和解密您的数据。值 Amazon IoT Core 为
0:无法使用加密密钥加密和解密您的数据。
Amazon IoT Core 当加密密钥的运行状况发生变化时,还会发出 Amazon IoT V2 日志。这些日志提供有关运行状况更新的附加详细信息。要查看这些日志,必须启用 Amazon IoT V2 日志。HEALTHY 日志在 INFO 级别发出,UNHEALTHY 日志在 ERROR 级别发出。有关日志级别的更多信息,请参阅日志级别。
以下示例是发出的 CloudWatch 日志条目 Amazon IoT Core ,用于指示客户管理密钥的运行状况更新。
为了有效监控和响应密钥运行状况变化,请执行以下操作:
-
为
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" -
启用 Amazon IoT V2 日志记录以捕获详细的运行状况变化事件以及错误代码和消息。
-
检查配置状态以进行故障排除:
aws iot describe-encryption-configuration --region us-west-2 -
调查 UNHEALTHY 状态,检查
errorCode字段:KMS_KEY_VALIDATION_ERROR— Amazon KMS 密钥问题(已禁用、已删除或策略问题)ROLE_VALIDATION_ERROR:IAM 角色问题(删除、策略问题或信任问题)
从不健康到健康
当加密密钥的状态从更新UNHEALTHY到时HEALTHY, Amazon IoT Core 将发出以下格式的 Amazon IoT V2 日志消息。
{ "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, Amazon IoT Core 将发出以下格式的 Amazon IoT V2 日志消息。
{ "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, Amazon IoT Core 操作会立即失败。如果发生这种情况,请检查您的密钥配置、IAM 角色权限和策略。监控 CMK.Health 指标以了解状态变化。如果在检查配置后操作仍然失败,请联系您的客户经理或 Amazon 支持中心
监控分支密钥轮换运行状况
Amazon IoT Core 使用分层密钥结构来加密您的数据。在此层次结构的顶部是您的 Amazon KMS 密钥(您配置的客户管理密钥)。在此之下, Amazon IoT Core 维护分支密钥,即源自您的密钥的内部 Amazon KMS 密钥。 Amazon IoT Core 然后使用这些分支密钥生成唯一的包装密钥,这些密钥对您的数据进行实际加密和解密。这种分层方法限制了任何单个密钥的范围,并遵循 Amazon 加密最佳实践。 Amazon IoT Core 将分支密钥作为内部实现细节进行管理,与直接 Amazon KMS 管理的 Amazon KMS 密钥轮换分开。有关更多信息,请参阅轮换您的活跃分支密钥。
Amazon IoT Core 作为安全最佳实践,每年轮换分支密钥。轮换会创建新的活跃分支密钥版本,同时保留以前的版本以解密现有数据。此轮换需要与您的客户托管密钥配置关联的 IAM 角色的kms:Encrypt权限。 Amazon IoT Core 将CMK.BranchKeyRotationHealth指标发送到每分钟 CloudWatch 一次,以表明您的 Amazon KMS 访问角色是否具有轮换所需的权限。
CMK.BranchKeyRotationHealth 指标可能具有以下值:
值为
1: Amazon KMS 访问角色具有所需的kms:Encrypt权限,分支密钥轮替可以正常进行。值为
0: Amazon KMS 访问角色缺少kms:Encrypt权限,无法执行分支密钥轮换。您现有的解密操作将继续正常运行,但在权限恢复之前 Amazon IoT Core 将无法轮换分支密钥。添加kms:Encrypt您的 Amazon KMS 访问角色以重新启用轮换。有关所需权限的完整列表,请参阅密钥政策。
注意
值0不表示您的当前 Amazon IoT Core 操作中断。您的数据保持加密状态且可访问。但是,您应立即更新您的 Amazon KMS 访问角色权限,以确保分支密钥可以按计划轮换。
要在无法进行分支密钥轮换时收到通知,请为该CMK.BranchKeyRotationHealth指标设置 CloudWatch 警报:
aws cloudwatch put-metric-alarm --region us-west-2 \ --alarm-name "IoTCore-CMK-BranchKeyRotationHealth-Alert" \ --alarm-description "Alert when IoT Core branch key rotation health is degraded" \ --metric-name "CMK.BranchKeyRotationHealth" \ --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"
Amazon CloudTrail events
您还可以监控 Amazon IoT Core KMS 密钥在加密解密操作中的使用情况。 Amazon IoT Core 将对您的 KMS 密钥进行创建DescribeKeyDecryptReEncrypt、、和GenerateDataKeyWithoutPlaintext操作,以加密/解密属于您 Amazon 账户的静态数据。
有DescribeKey、DecryptReEncrypt、和的 CloudTrail 活动GenerateDataKeyWithoutPlaintext。这些事件监控 Amazon IoT Core 为访问由客户管理的密钥加密的数据而调用的 Amazon KMS 操作。
解密示例
{ "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" }