Criptografia dos barramentos de eventos do EventBridge com chaves AWS KMS - Amazon EventBridge

Criptografia dos barramentos de eventos do EventBridge com chaves AWS KMS

Você pode especificar que o EventBridge use um AWS KMS para criptografar os dados armazenados em um barramento de eventos, em vez de usar uma Chave pertencente à AWS, pois é o padrão. Você pode especificar uma chave gerenciada pelo cliente ao criar ou atualizar um barramento de eventos. Você também pode atualizar o barramento de eventos padrão para usar uma chave gerenciada pelo cliente para criptografia. Para obter mais informações, consulte Opções de chave KMS.

Quando você especifica uma chave gerenciada pelo cliente para um barramento de eventos, o EventBridge usa essa chave para criptografar o seguinte:

Se especificar uma chave gerenciada pelo cliente para um barramento de eventos, você terá a opção de especificar uma fila de mensagens não entregues (DLQ) para o barramento de eventos. O EventBridge acaba entregando todos os eventos personalizados ou de parceiros que gerem erros de criptografia ou decodificação nessa DLQ. Para obter mais informações, consulte DLQs para eventos criptografados.

nota

É altamente recomendável especificar uma DLQ para barramentos de eventos, para garantir que os eventos sejam preservados caso ocorram erros de criptografia ou descriptografia.

Você também pode especificar o uso de chaves gerenciadas pelo cliente para criptografar arquivamentos do barramento de eventos. Para obter mais informações, consulte Criptografia de arquivamentos.

nota

A descoberta de esquemas não é compatível com barramentos de eventos criptografados que usem uma chave gerenciada pelo cliente. Para habilitar a descoberta de esquemas em um barramento de eventos, opte por usar uma Chave pertencente à AWS. Para obter mais informações, consulte Opções de chave KMS.

Contexto de criptografia do barramento de eventos

Um contexto de criptografia é um conjunto de pares de chave-valor que contêm dados arbitrários não secretos. Quando você inclui um contexto de criptografia em uma solicitação para criptografar dados, o AWS KMS vincula de forma criptográfica o contexto de criptografia aos dados criptografados. Para descriptografar os dados, você deve passar o mesmo contexto de criptografia.

Você também pode usar o contexto de criptografia como uma condição para autorização em políticas e concessões.

Se você usar uma chave gerenciada pelo cliente para proteger seus recursos do EventBridge, poderá usar o contexto de criptografia para identificar o uso da KMS key em registros e logs de auditoria. Ele também é exibido em texto simples em logs, como AWS CloudTrail e Amazon CloudWatch Logs.

Para barramentos de eventos, o EventBridge usa o mesmo contexto de criptografia em todas as operações criptográficas do AWS KMS. O contexto inclui um único par de chave-valor, que contém o ARN do barramento de eventos.

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

Política de chave do AWS KMS para barramento de eventos

A seguinte política de chave de exemplo fornece as permissões necessárias para um barramento de eventos:

  • kms:DescribeKey

  • kms:GenerateDataKey

  • kms:Decrypt

Como melhor prática de segurança, é recomendável incluir chaves de condição na política de chave para ajudar a garantir que o EventBridge só use a chave KMS para a conta ou o recurso especificado. Para obter mais informações, consulte Considerações sobre segurança.

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

permissões-chave do AWS KMS para ações do barramento de eventos

Para criar ou atualizar um barramento de eventos criptografado usando uma chave gerenciada pelo cliente, você deve ter as seguintes permissões para a chave gerenciada pelo cliente especificada:

  • kms:GenerateDataKeyWithoutPlaintext

  • kms:Decrypt

  • kms:Encrypt

  • kms:ReEncryptFrom

  • kms:ReEncryptTo

  • kms:DescribeKey

Além disso, para realizar determinadas ações do barramento de eventos em um barramento de eventos criptografado usando uma chave gerenciada pelo cliente, você deve ter a permissão kms:Decrypt para a chave gerenciada pelo cliente especificada. Entre essas ações estão: