

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS KMS キーを使用した EventBridge イベントバスの暗号化
<a name="eb-encryption-event-bus-cmkey"></a>

EventBridge がデフォルト AWS 所有のキー として を使用するのではなく、 を使用してイベントバスに保存されているデータを暗号化 AWS KMS するように指定できます。イベントバスの作成時または更新時にカスタマーマネージドキーを指定できます。デフォルトのイベントバスを更新して、暗号化にカスタマーマネージドキーを使用することもできます。詳細については、「[KMS キーオプション](eb-encryption-at-rest-key-options.md)」を参照してください。

 イベントバスにカスタマーマネージドキーを指定した場合、EventBridge はそのキーを使用して以下を暗号化します。
+ イベントバスに保存されている[カスタム](eb-putevents.md)イベントと[パートナー](eb-saas.md)イベント。

   AWS サービスからのイベントは、 を使用して暗号化されます AWS 所有のキー。

  EventBridge はイベントメタデータを暗号化しません。イベントメタデータの詳細については、「*イベントリファレンス*」の「[AWS サービスイベントメタデータ](https://docs.aws.amazon.com/eventbridge/latest/ref/events-structure.html)」を参照してください。
+ バスの各[ルール](eb-rules.md):
  + ルール[イベントパターン](eb-event-patterns.md)。
  + ターゲット入力、[入力トランスフォーマー](eb-transform-target-input.md)、[設定パラメータ](eb-create-rule-wizard.md#eb-create-rule-target)などの[ターゲット](eb-targets.md)情報。
+ [イベントバスのログ記録](eb-event-bus-logs.md)が有効になっている場合、ログレコードの `detail` セクションと「`error`」セクション。

イベントバスにカスタマーマネージドキーを指定する場合は、イベントバスにデッドレターキュー (DLQ) を指定するオプションがあります。その場合、EventBridge は暗号化エラーまたは復号エラーが発生するカスタムイベントまたはパートナーイベントをその DLQ に配信します。詳細については、「[暗号化イベントの DLQ](eb-encryption-event-bus-dlq.md)」を参照してください。

**注記**  
暗号化エラーまたは復号エラーが発生した場合にイベントを保持するため、イベントバスに DLQ を指定することを強くお勧めします。

イベントバスアーカイブの暗号化にカスタマーマネージドキーを使用するよう指定することもできます。詳細については、「[アーカイブの暗号化](encryption-archives.md)」を参照してください。

**注記**  
カスタマーマネージドキーを使用して暗号化されたイベントバスでは、スキーマの検出はサポートされません。イベントバスでスキーマ検出を有効にするには、 AWS 所有のキーの使用を選択します。詳細については、「[KMS キーオプション](eb-encryption-at-rest-key-options.md)」を参照してください。

## イベントバスの暗号化コンテキスト
<a name="eb-encryption-at-rest-context-bus"></a>

[暗号化コンテキスト](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)は、一連のキー値のペアおよび任意非シークレットデータを含みます。データを暗号化するリクエストに暗号化コンテキストを組み込むと、 AWS KMS は暗号化コンテキストを暗号化されたデータに暗号化してバインドします。データを復号するには、同じ暗号化コンテキストに渡す必要があります。

また、暗号化コンテクストはポリシーとグラントの認可用の条件としても使用できます。

カスタマーマネージドキーを使用して EventBridge リソースを保護する場合は、暗号化コンテキストを使用して、監査レコードとログ KMS key での の使用を特定できます。また、[AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) や [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) などのログにもプレーンテキストで表示されます。

イベントバスに対し、EventBridge はすべての AWS KMS 暗号化オペレーションで同じ暗号化コンテキストを使用します。コンテキストには、イベントバス ARN を含む 1 つのキーと値のペアが含まれます。

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

## AWS KMS イベントバスのキーポリシー
<a name="eb-encryption-key-policy-bus"></a>

次のキーポリシーの例では、イベントバスに必要なアクセス許可を提供します。
+ `kms:DescribeKey`
+ `kms:GenerateDataKey`
+ `kms:Decrypt`

セキュリティのベストプラクティスとして、EventBridge が指定されたリソースまたはアカウントに対してのみ KMS キーを使用するよう、キーポリシーに条件キーを含めることをお勧めします。詳細については、「[セキュリティに関する考慮事項](eb-encryption-key-policy.md#eb-encryption-event-bus-confused-deputy)」を参照してください。

------
#### [ 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"
        }
      } 
    }
  ] }
```

------

## AWS KMS イベントバスアクションのキーアクセス許可
<a name="eb-encryption-key-permissions-bus"></a>

カスタマーマネージドキーを使用して暗号化されたイベントバスを作成または更新するには、指定されたカスタマーマネージドキーに対する次のアクセス許可が必要です。
+ `kms:GenerateDataKeyWithoutPlaintext`
+ `kms:Decrypt`
+ `kms:Encrypt`
+ `kms:ReEncryptFrom`
+ `kms:ReEncryptTo`
+ `kms:DescribeKey`

さらに、カスタマーマネージドキーを使用して暗号化されたイベントバスで特定のイベントバスアクションを実行するには、指定されたカスタマーマネージドキーに対する `kms:Decrypt` アクセス許可が必要です。アクションには以下が含まれます。
+ `[DescribeRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DescribeRule.html)`
+ `[DisableRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DisableRule.html)`
+ `[EnableRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_EnableRule.html)`
+ `[ListRules](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_ListRules.html)`
+ `[ListTargetsByRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_ListTargetsByRule.html)`
+ `[PutRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutRule.html)`
+ `[ListRuleNamesByTarget](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_ListRuleNamesByTarget.html)`
+ `[PutTargets](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutTargets.html)`