

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

# AWS KMS キーを使用した EventBridge 接続認可の暗号化
<a name="encryption-connections"></a>

接続を作成または更新するときに、その接続の認可パラメータを指定できます。その後、EventBridge はこれらのパラメータを AWS Secrets Managerのシークレットに安全に保存します。デフォルトでは、EventBridge は を使用してこのシークレット AWS 所有のキー を暗号化および復号します。代わりに、EventBridge がカスタマーマネージドキーを使用するように指定できます。

## AWS KMS 接続のキーポリシー
<a name="encryption-connections-key-policy"></a>

 AWS KMS キーポリシーは、ユーザーに代わって EventBridge に次のアクセス許可を付与する必要があります。
+ `kms:DescribeKey`
+ `kms:GenerateDataKey`
+ `kms:Decrypt`

次のポリシー例では、すべての AWS KMS アクセス許可を付与します。

------
#### [ JSON ]

****  

```
{
  "Id": "key-policy-example",
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "Enable IAM User Permissions",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::{{012345678901}}:root"
      },
      "Action": "kms:*",
      "Resource": "*"
    }
  ]
}
```

------

 EventBridge がカスタマーマネージドキーを使用するには、キーが `EventBridgeApiDestinations`、値が `true` のリソースタグをキーに追加する必要があります。リソースタグの詳細については、*AWS Key Management Service デベロッパーガイド*の「[KMS キーにタグを追加する](https://docs.aws.amazon.com/kms/latest/developerguide/add-tags.html)」を参照してください。

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

```
"Condition": {
  "StringLike": {
    "kms:ViaService": "secretsmanager.*.amazonaws.com",
    "kms:EncryptionContext:SecretARN": [
      "arn:aws:secretsmanager:*:*:secret:events!connection/*"
    ]
  },
  "StringEquals": {
    "kms:ResourceTag/EventBridgeApiDestinations": "true"
  }
}
```

## 接続暗号化コンテキスト
<a name="encryption-connections-context"></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:SecretARN": "{{secret-arn}}"
}
```

## クロスアカウントまたはクロスリージョンのカスタマーマネージドキーを接続に使用する
<a name="encryption-connections-cross"></a>

別の AWS アカウントのユーザーまたはロールに、アカウントの KMS キーの使用を許可できます。クロスアカウントアクセスには、KMS キーのキーポリシーと、外部ユーザーアカウントの IAM ポリシーのアクセス許可が必要です。

別のアカウントのカスタマーマネージドキーを使用するには、カスタマーマネージドキーを持つアカウントに次のポリシーが含まれている必要があります。

```
{
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::{{account}}:role/AmazonEventBridgeApiDestinationsInternalServiceRolePolicy"
  },
  "Action": [
    "kms:Decrypt",
    "kms:DescribeKey"
  ],
  "Resource": "*"
}
```

詳細については、*AWS Key Management Service デベロッパーガイド*の「[他のアカウントのユーザーに KMS キーの使用を許可する](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html)」を参照してください。

## 接続へのカスタマーマネージドキーアクセスを取り消す
<a name="encryption-connections-revoke"></a>

キーの無効化、削除、ローテーション、またはキーポリシーの更新により、カスタマーマネージドキーを取り消す場合、EventBridge がキー値をキャッシュしており、そのキーが接続のシークレットへのアクセスを短期間保持する可能性があることに注意してください。

接続のシークレットへのカスタマーマネージドキーアクセスを即座に取り消すには、接続の認可を解除するか、接続を削除します。詳細については、「[接続の認可を解除](eb-target-connection-deauthorize.md)」および「[接続の削除](eb-target-connection-delete.md)」を参照してください。

## カスタマーマネージドキーのエラーによる接続の認可解除
<a name="encryption-connections-deauth"></a>

接続のシークレットを暗号化または復号しようとしたときに次のエラーが発生した場合、EventBridge は接続の認可を解除します。
+ カスタマーマネージドキーが削除された。
+ カスタマーマネージドキーが無効になった。
+ 接続に、カスタマーマネージドキーにアクセスするために必要なアクセス許可がない。

詳細については、「[接続の認可を解除](eb-target-connection-deauthorize.md)」を参照してください。