

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用密钥加密 EventBridge 档案 Amazon KMS
<a name="encryption-archives"></a>

您可以指定 EventBridge 使用 a 客户托管式密钥 来加密存储在存档中的事件，而不是使用 a Amazon 拥有的密钥 s 作为默认值。您可以在创建或更新档案 客户托管式密钥 时指定。有关密钥类型的更多信息，请参阅 [KMS 密钥选项](eb-encryption-at-rest-key-options.md)。

这包括：
+ 存储在归档中的事件
+ 指定的事件模式（如有），用于筛选发送到归档的事件

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

如果您为存档指定客户托管密钥，则 EventBridge 会在将事件发送到存档之前对其进行加密，从而确保传输过程中的加密和静态加密。

## 归档加密上下文
<a name="encryption-archives-context"></a>

[加密上下文](https://docs.amazonaws.cn/kms/latest/developerguide/concepts.html#encrypt_context) 是一组包含任意非机密数据的键值对。在请求中包含加密上下文以加密数据时， Amazon KMS 以加密方式将加密上下文绑定到加密的数据。要解密数据，您必须传入相同的加密上下文。

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

如果您使用客户托管密钥来保护您的 EventBridge 资源，则可以使用加密上下文来识别审计记录和日志 KMS key 中的使用情况。它也以明文形式显示在日志中，例如 [Amazon CloudTrail](https://docs.amazonaws.cn/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) 和 [Amazon CloudWatch Logs](https://docs.amazonaws.cn/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html)。

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

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

## Amazon KMS 档案的关键政策
<a name="encryption-archives-key-policy"></a>

以下示例密钥策略提供事件归档所需的权限：
+ `kms:DescribeKey`
+ `kms:GenerateDataKey`
+ `kms:Decrypt`
+ `kms:ReEncrypt`

作为安全最佳实践，我们建议您在密钥策略中包含条件密钥，以帮助确保仅对指定的资源或账户 EventBridge 使用 KMS 密钥。有关更多信息，请参阅 [安全注意事项](eb-encryption-key-policy.md#eb-encryption-event-bus-confused-deputy)。

------
#### [ 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:us-east-1:123456789012:event-bus/event-bus-arn"
        }
      }
    }
  ]
}
```

------