使用 Amazon KMS密钥加密 EventBridge 归档 - Amazon EventBridge
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 Amazon KMS密钥加密 EventBridge 归档

您可以指定 EventBridge 使用客户托管式密钥对存储在归档中的事件进行加密,而不是使用默认的 Amazon 拥有的密钥。您可以在创建或更新归档时指定客户托管式密钥。有关密钥类型的更多信息,请参阅 KMS 密钥选项

这包括:

  • 存储在归档中的事件

  • 指定的事件模式(如有),用于筛选发送到归档的事件

这不包括归档元数据,例如归档大小或其中包含的事件数量。

如果您为归档指定客户自主管理型密钥,EventBridge 会在将事件发送到归档之前对其进行加密,从而确保传输中和静态加密安全。

归档加密上下文

加密上下文 是一组包含任意非机密数据的键值对。在请求中包含加密上下文以加密数据时,Amazon KMS 以加密方式将加密上下文绑定到加密的数据。要解密数据,您必须传入相同的加密上下文。

您还可以将加密上下文用作在策略和授权中进行授权的条件。

如果您使用客户自主管理型密钥来保护 EventBridge 资源,则可使用加密上下文在审计记录和日志中标识 KMS key的使用。它也以明文形式显示在日志中,例如 Amazon CloudTrailAmazon CloudWatch Logs

对于事件归档,EventBridge 在所有 Amazon KMS 加密操作中均使用相同的加密上下文。该上下文包括单个键值对,其中包含归档 ARN。

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

适用于归档的 Amazon KMS 密钥策略

以下示例密钥策略提供事件归档所需的权限:

  • kms:DescribeKey

  • kms:GenerateDataKey

  • kms:Decrypt

  • kms:ReEncrypt

作为最佳安全实践,建议您在密钥策略中包含条件键,以帮助确保 EventBridge 仅将 KMS 密钥用于指定的资源或账户。有关更多信息,请参阅 安全性注意事项

JSON
{ "Id": "CMKKeyPolicy", "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": [ "kms:DescribeKey" ], "Resource": "*" }, { "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:ReEncrypt*" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:events:event-bus:arn": "arn:aws:events:region:account-id:event-bus/event-bus-arn" } } } ] }