

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 授權 EventBridge 使用客戶受管金鑰
<a name="eb-encryption-key-policy"></a>

如果您使用帳戶中的客戶受管金鑰來保護 EventBridge 資源，則該 KMS 金鑰上的政策必須授予 EventBridge 代表您使用它的許可。您可以在[金鑰政策](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)中提供這些許可。

EventBridge 不需要額外的授權，即可使用預設值 AWS 擁有的金鑰 來保護您 AWS 帳戶中的 EventBridge 資源。

EventBridge 需要下列許可才能使用客戶受管金鑰：
+ [https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)

  EventBridge 需要此許可，才能擷取所提供金鑰 ID 的 KMS 金鑰 ARN，並確認金鑰是對稱的。
+ [https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)

  EventBridge 需要此許可，才能產生資料金鑰做為資料的加密金鑰。
+ [https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)

  EventBridge 需要此許可來解密加密的資料金鑰，並使用加密的資料存放。

  EventBridge 會使用此項目進行事件模式比對；使用者永遠無法存取資料。

## 使用客戶受管金鑰進行 EventBridge 加密時的安全性
<a name="eb-encryption-event-bus-confused-deputy"></a>

做為安全最佳實務，請將 `aws:SourceArn`、 `aws:sourceAccount`或 `kms:EncryptionContext:aws:events:event-bus:arn`條件金鑰新增至 AWS KMS 金鑰政策。IAM 全域條件金鑰有助於確保 EventBridge 僅將 KMS 金鑰用於指定的匯流排或帳戶。

下列範例示範如何在事件匯流排的 IAM 政策中遵循此最佳實務：

```
{
      "Sid": "Allow the use of key",
      "Effect": "Allow",
      "Principal": {
        "Service": "events.amazonaws.com"
      },
      "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt"
      ],
      "Resource": "*",
      "Condition" : {
        "StringEquals": {
          "aws:SourceAccount": "arn:aws:events:region:account-id",
          "aws:SourceArn": "arn:aws:events:region:account-id:event-bus/event-bus-name",
          "kms:EncryptionContext:aws:events:event-bus:arn": "arn:aws:events:region:account-id:event-bus/event-bus-arn"
        }
      }
```