Cifrado de buses de eventos de EventBridge con claves de AWS KMS - Amazon EventBridge

Cifrado de buses de eventos de EventBridge con claves de AWS KMS

Puede especificar que EventBridge utilice AWS KMS para cifrar los datos almacenados en un bus de eventos, en lugar de utilizar un Clave propiedad de AWS, que es lo predeterminado. Puede especificar una clave administrada por el cliente al crear o actualizar un bus de eventos. También puede actualizar el bus de eventos predeterminado para utilizar también una clave administrada por el cliente para el cifrado. Para obtener más información, consulte Opciones de claves de KMS.

Al especificar una clave administrada por el cliente para un bus de eventos, EventBridge utiliza esa clave para cifrar lo siguiente:

Si especifica una clave administrada por el cliente para un bus de eventos, tiene la opción de especificar una cola de mensajes fallidos (DLQ) para el bus de eventos. A continuación, EventBridge envía a esa DLQ cualquier evento personalizado o de socios que genere errores de cifrado o descifrado. Para obtener más información, consulte DLQ para eventos cifrados.

nota

Recomendamos encarecidamente especificar una DLQ para los buses de eventos, a fin de garantizar que los eventos se conserven en caso de que se produzcan errores de cifrado o descifrado.

También puede especificar el uso de claves administradas por el cliente para cifrar los archivos de los buses de eventos. Para obtener más información, consulte Cifrado de archivos.

nota

Los buses de eventos que utilizan una clave administrada por el cliente no admiten la detección de esquemas. Para activar la detección de esquemas en un bus de eventos, elija usar una Clave propiedad de AWS. Para obtener más información, consulte Opciones de claves de KMS.

Contexto de cifrado del bus de eventos

Un contexto de cifrado es un conjunto de pares de clave-valor que contienen datos no secretos arbitrarios. Cuando se incluye un contexto de cifrado en una solicitud para cifrar datos, AWS KMS vincula criptográficamente el contexto de cifrado a los datos cifrados. Para descifrar los datos, es necesario pasar el mismo contexto de cifrado.

También puede utilizar el contexto de cifrado como condición para la autorización en políticas y concesiones.

Si utiliza una clave administrada por el cliente para proteger sus recursos de EventBridge, puede utilizar el contexto de cifrado para identificar el uso de la KMS key en los registros de auditoría y en los registros. También aparece en texto sin formato en registros, como AWS CloudTrail y Amazon CloudWatch Logs.

En el caso de los buses de eventos, EventBridge utiliza el mismo contexto de cifrado en todas las operaciones de cifrado de AWS KMS. El contexto incluye un único par clave-valor, que contiene el ARN del bus de eventos.

"encryptionContext": { "kms:EncryptionContext:aws:events:event-bus:arn": "event-bus-arn" }

Política de claves de AWS KMS para un bus de eventos

La política de claves de ejemplo siguiente proporciona solo los permisos necesarios para un bus de eventos:

  • kms:DescribeKey

  • kms:GenerateDataKey

  • kms:Decrypt

La práctica recomendada de seguridad es incluir claves de condición en la política de claves para garantizar que EventBridge utilice la clave de KMS solo para el recurso o la cuenta específicos. Para obtener más información, consulte Consideraciones de seguridad.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowEventBridgeToValidateKeyPermission", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": [ "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "AllowEventBridgeToEncryptEvents", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:events:event-bus:arn": "arn:aws:events:us-east-1:123456789012:event-bus/event-bus-arn", "aws:SourceArn": "arn:aws:events:us-east-1:123456789012:event-bus/event-bus-name" } } } ] }

Permisos de clave de AWS KMS clave para las acciones del bus de eventos

Para crear o actualizar un bus de eventos cifrado con una clave administrada por el cliente, debe tener los siguientes permisos para acceder a la clave administrada por el cliente especificada:

  • kms:GenerateDataKeyWithoutPlaintext

  • kms:Decrypt

  • kms:Encrypt

  • kms:ReEncryptFrom

  • kms:ReEncryptTo

  • kms:DescribeKey

Además, para realizar determinadas acciones del bus de eventos en un bus de eventos cifrado con una clave administrada por el cliente, debe tener el permiso kms:Decrypt para utilizar la clave administrada por el cliente especificada. Estas acciones son: