Cifrado de datos en reposo en AWS IoT Core - AWS IoT Core

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 Coretambié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 Coreutilizará sus claves de KMS para cifrar sus datos en reposo. Tiene pleno control 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.

AWSclaves propias

AWSlas claves propias son un conjunto de claves de KMS que un AWS servicio posee y administra para su uso en varias AWS cuentas. AWSlos 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. Estas claves las administra el servicio. No puedes ver, administrar ni usar claves AWS propias. Sin embargo, no es necesario realizar 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. Tiene pleno control sobre estas claves de AWS 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. 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 clienteAWS IoT Core, sigue estos pasos:

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. La opción keySpec debe ser SYMMETRIC_DEFAULT y la opción keyUsage debe ser ENCRYPT_DECRYPT.

nota

AWS IoT Coresolo 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 administrada por el cliente en la Guía para desarrolladores de AWS Key Management Service.

Política de claves

Al crear una clave administrada por el cliente, puede especificar una política de claves. 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 Políticas de claves en la Guía para desarrolladores de AWS Key Management Service.

AWS IoT Coreutiliza una función de IAM en su cuenta para acceder a la clave gestionada por el cliente. Si utiliza una política de claves personalizadas, asegúrese de que el rol de IAM creado en esta clave tenga los siguientes permisos:

  • kms:DescribeKey

  • kms:Decrypt

  • kms:Encrypt

  • kms:GenerateDataKeyWithoutPlaintext

  • kms:ReEncryptTo

  • kms:ReEncryptFrom

Paso 2: Cree 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 al rol de IAM tengan los siguientes permisos en la clave de KMS:

  • kms:DescribeKey

  • kms:Decrypt

  • kms:Encrypt

  • kms:GenerateDataKeyWithoutPlaintext

  • kms:ReEncryptTo

  • kms: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 Creación de un rol para delegar permisos a un usuario de IAM en la Guía del usuario de AWS Identity and Access Management.

Paso 3: Opte por las claves gestionadas por el cliente en AWS IoT Core

Tras completar todos los pasos anteriores, ejecute el comando de la CLI update-encryption-configuration para habilitar el uso de las claves administradas por el cliente en 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.

  1. Para habilitar el AWS IoT Core uso de claves administradas por el clienteAWS CLI, ejecute el comando 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. Para verificar el AWS IoT Core uso de las claves administradas por el clienteAWS CLI, ejecute el comando describe-encryption-configuration CLI:

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

    Si ha activado las claves gestionadas por el clienteAWS 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 campo lastModifiedDate indica la fecha en la que se actualizó por última vez la configuración del cifrado.

    Si no ha habilitado 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 permiso kms:Decrypt y realiza una llamada a la API que requiere el cifrado o el descifrado de los datos (por ejemplo, GetPolicy), recibirá una UnauthorizedException.

Por ejemplo, al llamar a GetPolicy, necesita tanto el permiso iot:GetPolicy como el permiso kms:Decrypt para la clave de KMS administrada por el cliente 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 KMSpermisos 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:DescribeKey

  • kms:Decrypt

  • kms:Encrypt

  • kms:GenerateDataKeyWithoutPlaintext

  • kms:ReEncryptTo

  • kms:ReEncryptFrom

AWS KMSpermisos 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* y Delete* APIs no entran en este cubo. Los clientes siempre pueden invocar cualquier API del plano de control List* o Delete* y esas llamadas a la API se realizarán correctamente incluso si la persona que llama no tiene el permiso kms:Decrypt. Estas llamadas a la API se realizarán correctamente incluso si la clave gestionada por el cliente no está en buen estado List* y Delete* APIs no se realiza ningún descifrado.

  • Lista* APIs: todas las operaciones de listado (por ejemplo,,ListThings,ListPolicies) ListCertificates

  • Eliminar* APIs: todas las operaciones de eliminación (por ejemplo,,,DeleteThing) DeletePolicy DeleteCertificate

Paso 5: administración de claves

AWS IoT Corecomprueba periódicamente la configuración de 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 Corepuede 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 Coreno puede acceder a la AWS KMS clave ni usarla. Esto impide nuevas operaciones de cifrado y puede afectar a la funcionalidad del servicio. El campo errorCode indica si el problema está relacionado con la clave o con el rol de IAM.

Acciones de los clientes que pueden afectar al estado de la clave

Varias acciones de los clientes pueden provocar que el estado de la clave cambie de HEALTHY a UNHEALTHY:

Acciones relacionadas con las claves
  • Eliminar una AWS KMS clave: cuando programas la eliminación de una clave, está en un Pending deletion estado y no se puede usar

  • Deshabilitar una AWS KMS clave: al deshabilitar una clave KMS, ya no se puede usar para operaciones de cifrado o descifrado

  • Programación de 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 los roles de IAM
  • Eliminar la función de IAM: no AWS IoT Core se puede asumir la función 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 de cuentas
  • Cambios de acceso a las claves entre cuentas: modificación de los permisos para las claves en otras 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 de cuenta: políticas que anulan el acceso a la clave o entran en conflicto con dicho acceso.

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 del 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 otra clave administrada por el cliente:

  1. Cree una nueva clave administrada por el cliente siguiendo los pasos que se indican en Paso 1: Crear una clave administrada por el cliente.

  2. Actualice la política de roles de IAM para incluir los permisos tanto para las claves antiguas como para las nuevas durante el periodo de actualización.

  3. Actualice la configuración del cifrado para utilizar 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 del 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 error más comunes e impactos

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 deshabilitada

Todas las encryption/decryption operaciones nuevas fallan inmediatamente

Interrupción del servicio hasta que se vuelva a habilitar o sustituir la clave

Clave programada para su eliminación

El estado de la clave cambia a pendiente de eliminación y todas encryption/decryption las operaciones fallarán

Error automático del servicio cuando se completa la eliminación

Clave eliminada permanentemente

Error inmediato y permanente de todas las operaciones

Pérdida permanente de datos e incapacidad para recuperar los datos cifrados

Política de claves modificada incorrectamente

AWS IoT Corepierde los permisos de acceso a la clave

Se produce un error en el servicio hasta que se corrija la política

Rol de IAM eliminado

AWS IoT Coreno puede asumir el rol de acceso a la clave

Error al completar el servicio de cifrado

El rol de IAM se ha modificado incorrectamente

AWS IoT Coreno puede asumir el rol o usar el rol para acceder a la clave

Se produce un error en el servicio hasta que se corrija el rol de IAM

Prevención y prácticas recomendadas

Para evitar la eliminación o desactivación accidental de las claves y minimizar el riesgo de errores en el servicio:

Implementación de políticas de ciclo de vida de claves

Establezca procedimientos claros para la creación, rotación y retirada de claves. Documente qué claves utilizan qué AWS IoT Core recursos y mantenga un inventario de las claves activas.

Uso de 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 requieran 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 deshabilitación o los cambios en las políticas.

Ejecución de pruebas en los procedimientos de sustitución de claves

Realice pruebas periódicamente en los procedimientos de sustitución de claves en entornos que no sean de producción para asegurarse de que puede recuperarse rápidamente de los errores relacionados con las claves.

Mantenimiento de copias de seguridad de las claves

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.

Supervisión del estado de las claves

Supervise continuamente la métrica CMK.Health y configure alertas automatizadas para detectar los cambios en el estado de las claves. Implemente respuestas automatizadas para abordar rápidamente los problemas relacionados con las claves.

importante

Realice pruebas siempre en los procedimientos de actualización de claves 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 sustitución de claves se puedan ejecutar rápidamente en caso de emergencia.

Paso 6: supervisión del estado de las claves

Como parte de las comprobaciones periódicasAWS IoT Core, se emiten CloudWatch métricas y registros para proporcionar visibilidad del estado de la configuración de claves gestionada por el cliente

AWS IoT Coreemite 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 métrica CMK.Health puede tener los siguientes valores:

  • El valor es1: AWS IoT Core es capaz de utilizar las claves de cifrado correctamente para cifrar y descifrar sus datos.

  • El valor AWS IoT Core es0: no puede utilizar las claves de cifrado para cifrar y descifrar sus datos.

AWS IoT Coretambié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. Para ver estos registros, debe habilitar los registros de la AWS IoT versión 2. Los registros de HEALTHY se emiten en el nivel INFO y los registros de UNHEALTHY se emiten en el nivel ERROR. 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 supervisar los cambios de estado de la clave y responder a dichos cambios:

  1. Configure CloudWatch las alarmas para la CMK.Health mé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"
  2. 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.

  3. Compruebe el estado de la configuración para solucionar problemas:

    aws iot describe-encryption-configuration --region us-west-2
  4. Investigue el estado UNHEALTHY examinando el campo errorCode:

    • KMS_KEY_VALIDATION_ERROR— Problema con la AWS KMS clave (deshabilitada, eliminada o problemas de política)

    • ROLE_VALIDATION_ERROR: problema con el rol de IAM (eliminado, problemas de política o problemas de confianza)

De UNHEALTHY a HEALTHY

Cuando el estado de las claves de cifrado se actualice de UNHEALTHY aHEALTHY, AWS IoT Core emitirá un mensaje de AWS IoT registro de la versión 2 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 HEALTHY a UNHEALTHY

Cuando el estado de las claves de cifrado se actualice de HEALTHY aUNHEALTHY, AWS IoT Core emitirá un mensaje de AWS IoT registro de la versión 2 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 de la clave, los permisos de los roles de IAM y las políticas. Supervise la métrica CMK.Health para ver si hay cambios en el estado. Si se siguen produciendo un error en las operaciones después de revisar las configuraciones, póngase en contacto con el administrador de la cuenta o con el Centro de AWS Support para obtener asistencia adicional.

AWS CloudTraileventos

También puede supervisar el uso AWS IoT Core de la clave KMS para las operaciones de cifrado y descifrado. AWS IoT Corerealizará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" }