Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Cifrado de datos en reposo en AWS IoT Core
De forma predeterminada, todos los AWS IoT Core datos en reposo se cifran mediante claves AWS propias. AWS IoT Core también admite claves simétricas administradas por el cliente desde AWS Key Management Service (AWS KMS). Con las claves gestionadas por el cliente, puedes crear, poseer y gestionar las AWS KMS claves de tu AWS cuenta. AWS IoT Core utilizará sus claves de KMS para cifrar sus datos en reposo. Usted tiene el control total sobre estas claves de KMS, incluida la creación y el mantenimiento de sus políticas de claves. También puede configurar las políticas de IAM para los roles que acceden AWS KMS a fin de controlar los permisos de estas claves.
AWS claves propias
AWS las claves propias son un conjunto de claves de KMS que un AWS servicio posee y administra para su uso en varias AWS cuentas. AWS los servicios pueden usar claves AWS propias para proteger sus datos. De forma predeterminada, AWS IoT Core cifra los datos en reposo mediante claves AWS propias. El servicio administra estas claves. No puede ver, administrar ni usar las claves AWS propias. Sin embargo, no es necesario que realices ninguna acción para proteger estas claves.
Para obtener más información sobre las claves AWS propias, consulta las claves AWS propias en la Guía para AWS Key Management Service desarrolladores.
Claves administradas por el cliente
Las claves administradas por el cliente son claves de KMS de su AWS cuenta que usted crea, posee y administra. Usted tiene el control total sobre estas AWS KMS claves, incluida la creación y el mantenimiento de sus políticas clave. También puede configurar las políticas de IAM para los roles que acceden AWS KMS a fin de controlar los permisos de estas claves. Puede configurarlo AWS IoT Core para usar claves de KMS administradas por el cliente para cifrar sus datos.
Para obtener más información acerca de las claves administradas por el cliente, consulte Claves administradas por el cliente en la Guía para desarrolladores de AWS Key Management Service .
Para habilitar la entrada de claves administradas por el cliente AWS IoT Core, sigue estos pasos:
Temas
Paso 1: Crear una clave administrada por el cliente
Puede crear una clave simétrica gestionada por el cliente mediante la AWS KMS consola o los comandos AWS KMS CLI. Lo keySpec debe ser SYMMETRIC_DEFAULT y lo keyUsage debe ser. ENCRYPT_DECRYPT
nota
AWS IoT Core solo admite AWS KMS claves con especificaciones SYMMETRIC_DEFAULT clave y uso de claves para ENCRYPT_DECRYPT claves administradas por el cliente.
El siguiente es un ejemplo de AWS CLI comando para crear una clave KMS que se pueda usar con las claves administradas AWS IoT Core por el cliente.
aws kms create-key --key-spec SYMMETRIC_DEFAULT --key-usage ENCRYPT_DECRYPT --region us-west-2
A continuación, se muestra un ejemplo del resultado del comando.
{ "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 } }
Para obtener más información, consulte Creación de una clave simétrica gestionada por el cliente en la Guía para AWS Key Management Service desarrolladores.
Política de claves
Al crear una clave gestionada por el cliente, puede especificar una política clave. Las políticas de clave controlan el acceso a la clave administrada por el cliente. Cada clave administrada por el cliente debe tener exactamente una política de clave, que contiene instrucciones que determinan quién puede usar la clave y cómo puede utilizarla. Para obtener más información, consulte las políticas clave en la Guía para AWS Key Management Service desarrolladores.
AWS IoT Core utiliza una función de IAM en su cuenta para acceder a la clave gestionada por el cliente. Si utilizas una política de claves personalizada, asegúrate de que la función de IAM creada en esta clave tenga los siguientes permisos:
kms:DescribeKeykms:Decryptkms:Encryptkms:GenerateDataKeyWithoutPlaintextkms:ReEncryptTokms:ReEncryptFrom
Paso 2: Crea una función de IAM para conceder AWS IoT Core permisos de uso de la clave KMS
Si quieres AWS IoT Core usar la clave de KMS que has creado para cifrar tus datos en reposo, también tienes que crear un rol de IAM en tu cuenta, que AWS IoT Core puedes asumir que accederá a la clave de KMS.
El rol debe tener la siguiente política de confianza para poder AWS IoT Core asumirlo.
{ "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:*" } } } }
Asegúrese de que las políticas de IAM asociadas a la función de IAM tengan los siguientes permisos en la clave de KMS:
kms:DescribeKeykms:Decryptkms:Encryptkms:GenerateDataKeyWithoutPlaintextkms:ReEncryptTokms:ReEncryptFrom
A continuación, se muestra un ejemplo de política de IAM con los permisos necesarios para las claves administradas por el cliente.
{ "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" } } } ] }
Para obtener más información, consulte Crear un rol para delegar permisos a un usuario de IAM en la Guía del AWS Identity and Access Management usuario.
Paso 3: Opte por las claves gestionadas por el cliente AWS IoT Core
Tras completar todos los pasos anteriores, ejecute el comando update-encryption-configuration CLI para optar por utilizar las claves gestionadas por el cliente AWS IoT Core. Si opta por las claves administradas por el cliente, todos AWS IoT Core los recursos de su AWS cuenta se cifrarán con la AWS KMS clave especificada.
-
Para habilitar el AWS IoT Core uso de claves administradas por el cliente AWS CLI, ejecute el comando
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 -
Para verificar el AWS IoT Core uso de las claves administradas por el cliente AWS CLI, ejecute el comando
describe-encryption-configurationCLI:aws iot describe-encryption-configuration --region us-west-2Si ha activado las claves gestionadas por el cliente AWS IoT Core, el resultado puede tener el siguiente aspecto:
{ "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" }El
lastModifiedDatecampo indica la fecha en la que se actualizó por última vez la configuración de cifrado.Si no ha activado las claves administradas por el cliente, el resultado puede tener el siguiente aspecto:
{ "encryptionType": "AWS_OWNED_KMS_KEY", "lastModifiedDate": "2024-09-26T22:01:02.365000-07:00" }
Paso 4: Se requieren permisos adicionales para las operaciones AWS IoT Core del plano de control
Tras optar por las claves administradas por el cliente, todos los AWS IoT Core recursos que pertenecen a su AWS cuenta se cifran con la clave KMS proporcionada. Todas las operaciones del plano de control ahora requieren que la persona que llama tenga kms:Decrypt permisos sobre la clave KMS, además de los permisos necesarios para la operación específica en el AWS IoT Core recurso. Si la persona que llama no tiene kms:Decrypt permiso y realiza una llamada a la API que requiere el cifrado o descifrado de los datos (por ejemplo,GetPolicy), recibirá un. UnauthorizedException
Por ejemplo, cuando llamasGetPolicy, necesitas tanto iot:GetPolicy los permisos de la clave de KMS gestionada por el cliente como kms:Decrypt los permisos necesarios para que la llamada a la API se realice correctamente.
nota
Al actualizar los usuarios o funciones de IAM para conceder AWS KMS permisos sobre la clave utilizada en la configuración de cifrado, asegúrese de que la política de claves de KMS también conceda los permisos necesarios a los respectivos usuarios o funciones de IAM.
AWS KMS permisos para UpdateEncryptionConfiguration
La llamada a la UpdateEncryptionConfiguration API necesita los siguientes AWS KMS permisos en la clave de KMS para poder optar por las claves administradas por el cliente o modificar la configuración de la clave:
kms:DescribeKeykms:Decryptkms:Encryptkms:GenerateDataKeyWithoutPlaintextkms:ReEncryptTokms:ReEncryptFrom
AWS KMS permisos para todos los demás planos de control APIs
La mayoría de los planos de control APIs requieren kms:Decrypt permisos cuando las claves administradas por el cliente están habilitadas. Sin embargo, algunos APIs no requieren estos permisos adicionales:
- APIs que no requieren AWS KMS permisos
-
Los
List*yDelete*APIs no entran en este cubo. Los clientes siempre pueden invocar cualquier APIList*o del plano deDelete*control y esas llamadas a la API se realizarán correctamente incluso si la persona que llama no tienekms:Decryptpermiso. Estas llamadas a la API se realizarán correctamente aunque la clave gestionada por el cliente no esté en buen estadoList*yDelete*APIs no se pueda descifrar.Lista* APIs: todas las operaciones de listado (por ejemplo,,
ListThings,ListPolicies)ListCertificatesEliminar* APIs: todas las operaciones de eliminación (por ejemplo,,,
DeleteThing)DeletePolicyDeleteCertificate
Paso 5: Administrar las claves
AWS IoT Core comprueba periódicamente la configuración de las claves gestionadas por el cliente para garantizar que las operaciones de cifrado y descifrado no se vean afectadas. Estas comprobaciones de estado se realizan una vez por minuto y verifican AWS IoT Core la capacidad de los usuarios para acceder y utilizar tanto la AWS KMS clave como la función de IAM asociada para las operaciones de cifrado y descifrado.
- HEALTHY
-
AWS IoT Core puede acceder correctamente a la AWS KMS clave a través de la función de IAM especificada y realizar operaciones. encryption/decryption Todos los componentes funcionan correctamente.
- UNHEALTHY
-
AWS IoT Core no puede acceder a la AWS KMS clave ni utilizarla. Esto impide nuevas operaciones de cifrado y puede afectar a la funcionalidad del servicio. El
errorCodecampo indica si el problema está relacionado con la clave o con la función de IAM.
Acciones de los clientes que pueden afectar al estado de salud clave
Varias acciones de los clientes pueden provocar que el estado de salud clave cambie de HEALTHY aUNHEALTHY:
- Acciones relacionadas con las claves
-
Eliminar una AWS KMS clave: cuando planificas la eliminación de una clave, esta se encuentra en un
Pending deletionestado y no se puede usarDeshabilitar una AWS KMS clave: al deshabilitar una clave KMS, ya no se puede usar para operaciones de cifrado o descifrado
Programar la eliminación de la clave: la clave queda inutilizable cuando se completa la eliminación
Modificación de la política de claves: eliminar los permisos de acceso necesarios AWS IoT Core
Cambiar los permisos de uso de las claves: restringir AWS KMS las acciones necesarias
- Acciones relacionadas con las funciones de IAM
-
Eliminar el rol de IAM: no AWS IoT Core se puede asumir el rol para acceder a la clave
Modificación de los permisos de los roles: se eliminan AWS KMS los permisos necesarios de la política de roles
Cambiar la política de confianza: impedir que el AWS IoT Core servicio asuma el rol
Añadir condiciones restrictivas: condiciones que AWS IoT Core impiden el uso del rol
- Acciones a nivel de cuenta
-
Cambios en el acceso a las claves entre cuentas: modificación de los permisos de las claves en diferentes cuentas
Políticas de control de servicios (SCPs): políticas a nivel de la organización que restringen el acceso AWS KMS
Políticas de IAM a nivel de cuenta: políticas que anulan o entran en conflicto con el acceso a las claves
importante
Cualquier cambio en las AWS KMS claves, las funciones de IAM o las políticas que utilice AWS IoT Core debe probarse primero en los entornos de desarrollo. Supervise de cerca el estado de salud clave después de realizar cualquier cambio para garantizar que AWS IoT Core la funcionalidad no se vea afectada.
Actualización de la configuración de cifrado
Actualice la configuración de cifrado AWS IoT Core para cambiar de una clave administrada por el cliente a otra, o entre claves AWS propias y claves administradas por el cliente.
Para cambiar la configuración a una clave gestionada por el cliente diferente:
-
Cree una nueva clave gestionada por el cliente siguiendo los pasos que se indican a continuaciónPaso 1: Crear una clave administrada por el cliente.
-
Actualice su política de funciones de IAM para incluir los permisos tanto para las claves antiguas como para las nuevas durante el período de actualización.
-
Actualice la configuración de cifrado para usar la nueva clave:
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"
Para cambiar la configuración de claves administradas por el cliente a claves AWS propias:
aws iot update-encryption-configuration --encryption-type "AWS_OWNED_KMS_KEY"
nota
Al actualizar la configuración de cifrado para las nuevas claves administradas por el cliente, asegúrese de que tanto las claves antiguas como las nuevas permanezcan accesibles para que la operación se lleve a cabo correctamente.
Escenarios de falla e impactos comunes
En la siguiente tabla se describen los escenarios de error más comunes cuando se eliminan o desactivan las claves:
| Escenario | Impacto inmediato | Consecuencias a largo plazo |
|---|---|---|
|
Clave desactivada |
Todas las encryption/decryption operaciones nuevas fallan inmediatamente |
Interrupción del servicio hasta que se vuelva a activar o sustituir la llave |
|
Se ha programado la eliminación de la clave |
El estado de la clave cambia a pendiente de eliminación y todas encryption/decryption las operaciones fallarán |
Fallo automático del servicio cuando se completa la eliminación |
|
La clave se ha eliminado permanentemente |
Fallo inmediato y permanente de todas las operaciones |
Pérdida permanente de datos e incapacidad para recuperar los datos cifrados |
|
La política de claves se modificó incorrectamente |
AWS IoT Core pierde los permisos de acceso a la clave |
El servicio fallará hasta que se corrija la política |
|
Función de IAM eliminada |
AWS IoT Core no puede asumir el rol para acceder a la clave |
Fallo total del servicio de cifrado |
|
La función de IAM se ha modificado incorrectamente |
AWS IoT Core no puede asumir el rol o usar el rol para acceder a la clave |
El servicio fallará hasta que se corrija la función de IAM |
Prevención y mejores prácticas
Para evitar la eliminación o desactivación accidental de las claves y minimizar el riesgo de fallos en el servicio:
- Implemente políticas clave del ciclo de vida
-
Establezca procedimientos claros para la creación, rotación y retirada de claves. Documente qué claves se utilizan con qué AWS IoT Core recursos y mantenga un inventario de las claves activas.
- Utilice las políticas de IAM para restringir la eliminación de claves
-
Cree políticas de IAM que impidan que los usuarios no autorizados eliminen o deshabiliten las claves de cifrado críticas. Utilice condiciones que exijan una aprobación adicional para las operaciones de eliminación de claves.
- Habilite el CloudTrail registro
-
Supervise todas las operaciones AWS KMS clave CloudTrail para detectar actividades de administración de claves no autorizadas o accidentales. Configure alertas para la eliminación de claves, la desactivación o los cambios en las políticas.
- Pruebe los procedimientos de reemplazo de llaves
-
Pruebe periódicamente sus procedimientos de sustitución de llaves en entornos que no sean de producción para asegurarse de que puede recuperarse rápidamente de los fallos relacionados con las llaves.
- Mantenga las copias de seguridad clave
-
Si bien no puede exportar el material AWS KMS clave, mantenga registros detallados de las claves ARNs, las políticas y las AWS IoT Core configuraciones asociadas para facilitar el reemplazo rápido de las claves si es necesario.
- Controle el estado de las claves
-
Supervise continuamente la
CMK.Healthmétrica y configure alertas automatizadas para detectar los cambios clave en el estado de salud. Implemente respuestas automatizadas para abordar rápidamente los principales problemas relacionados.
importante
Pruebe siempre los procedimientos de actualización clave en los entornos de desarrollo antes de implementarlos en producción. Tenga un plan de reversión documentado y asegúrese de que los procedimientos de reemplazo clave se puedan ejecutar rápidamente en caso de emergencia.
Paso 6: Monitorear la salud clave
Como parte de las comprobaciones AWS IoT Core periódicas, se emiten CloudWatch métricas y registros para proporcionar visibilidad del estado de la configuración clave gestionada por el cliente
AWS IoT Core emite la CMK.Health métrica al CloudWatch menos una vez cada minuto. La métrica proporciona información sobre el estado de las claves administradas por el cliente que se utilizan AWS IoT Core para cifrar y descifrar los datos.
La CMK.Health métrica puede tener los siguientes valores:
El valor AWS IoT Core es
1: puede utilizar las claves de cifrado correctamente para cifrar y descifrar los datos.El valor AWS IoT Core es
0: no puede utilizar las claves de cifrado para cifrar y descifrar sus datos.
AWS IoT Core también emite registros AWS IoT V2 cuando cambia el estado de las claves de cifrado. Estos registros proporcionan detalles adicionales sobre la actualización del estado de salud. Para ver estos registros, debe habilitar los registros de la AWS IoT versión 2. Los HEALTHY registros se emiten a INFO nivel y los UNHEALTHY registros se emiten a ERROR nivel. Para obtener más información sobre los niveles de registro, consulte Niveles de registro.
Los siguientes ejemplos son entradas de CloudWatch registro emitidas AWS IoT Core para indicar la actualización del estado de las claves gestionadas por el cliente.
Para monitorear y responder de manera efectiva a los cambios clave en el estado de salud:
-
Configure CloudWatch las alarmas para la
CMK.Healthmétrica: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" -
Habilite AWS IoT el registro de la versión 2 para capturar eventos detallados de cambios en el estado de salud con códigos y mensajes de error.
-
Compruebe el estado de la configuración para solucionar problemas:
aws iot describe-encryption-configuration --region us-west-2 -
Investigue el estado INSALUBRE examinando el
errorCodecampo:KMS_KEY_VALIDATION_ERROR— Problema con la AWS KMS clave (deshabilitada, eliminada o problemas de política)ROLE_VALIDATION_ERROR— Problema con la función de IAM (eliminada, problemas de política o problemas de confianza)
De INSALUBRE a SALUDABLE
Cuando el estado de las claves de cifrado se actualice de UNHEALTHY aHEALTHY, AWS IoT Core emitirá un mensaje de registro AWS IoT V2 con el siguiente formato.
{ "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" }
De SALUDABLE a INSALUBRE
Cuando el estado de las claves de cifrado se actualice de HEALTHY aUNHEALTHY, AWS IoT Core emitirá un mensaje de registro AWS IoT V2 con el siguiente formato.
{ "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" }
aviso
Cuando la clave está en buen estadoUNHEALTHY, AWS IoT Core las operaciones fallan inmediatamente. Si esto ocurre, revise las configuraciones clave, los permisos de las funciones de IAM y las políticas. Supervise la CMK.Health métrica para ver si hay cambios de estado. Si las operaciones siguen fallando después de revisar sus configuraciones, póngase en contacto con el administrador de su cuenta o con el AWS Support Center
AWS CloudTrail eventos
También puede supervisar el uso AWS IoT Core de la clave KMS para las operaciones de cifrado y descifrado. AWS IoT Core realizará DescribeKey DecryptReEncrypt, y GenerateDataKeyWithoutPlaintext operaciones en su clave KMS para cifrar o descifrar los datos pertenecientes a su AWS cuenta almacenada en reposo.
Hay CloudTrail eventos paraDescribeKey, DecryptReEncrypt, y. GenerateDataKeyWithoutPlaintext Estos eventos supervisan AWS KMS las operaciones solicitadas AWS IoT Core para acceder a los datos cifrados por la clave gestionada por el cliente.
DecryptEjemplo de
{ "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" }