

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

# AWS KMS キーを使用した EventBridge Pipes データの暗号化
<a name="eb-encryption-pipes-cmkey"></a>

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

EventBridge が保管中に暗号化するパイプデータには以下が含まれます。
+ [イベントパターン](eb-event-patterns.md)
+ [入力トランスフォーマー](eb-pipes-input-transformation.md)

パイプを流れるイベントは、保存されることはありません。

## EventBridge Pipes 暗号化コンテキスト
<a name="eb-encryption-at-rest-context-pipes"></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 Pipes に対し、EventBridge は、すべての AWS KMS 暗号化オペレーションで同じ暗号化コンテキストを使用します。コンテキストには、パイプ ARN を含む 1 つのキーと値のペアが含まれます。

```
"encryptionContext": {
    "kms:EncryptionContext:aws:pipes:arn": "pipe-arn"
}
```

出力ログの場合、EventBridge は次の暗号化コンテキストを使用します。

```
"encryptionContext": {
    "kms:EncryptionContext:SourceArn": "arn:partition:logs:region:account:*"
}
```

## AWS KMS EventBridge Pipes のキーポリシー
<a name="eb-encryption-key-policy-pipe"></a>

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

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

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

****  

```
{
  "Id": "CMKKeyPolicy",
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
      "AWS": "arn:aws:iam::123456789012:role/pipe-execution-role"
      },
      "Action": [
        "kms:DescribeKey"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Principal": {
      "AWS": "arn:aws:iam::123456789012:role/pipe-execution-rolee"
      },
      "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt"
      ],
      "Resource": "*",
      "Condition": {
        "ArnLike": {
        "kms:EncryptionContext:aws:pipe:arn": "arn:aws:pipes:us-east-1:123456789012:pipe/pipe-name"
        },
        "ForAnyValue:StringEquals": {
          "kms:EncryptionContextKeys": [
            "aws:pipe:arn"
          ]
        }
      }
    }
  ]
}
```

------

### 実行データを含むパイプログのアクセス許可
<a name="eb-encryption-key-policy-pipe-logs"></a>

実行データを含めるようにパイプログ記録を設定している場合、キーポリシーにはログ記録サービスに対する次のアクセス許可を含める必要があります。
+ `kms:Decrypt`
+ `kms:GenerateDataKey`

詳細については、「[EventBridge Pipes ログに実行データを含める](eb-pipes-logs.md#eb-pipes-logs-execution-data)」を参照してください。

次のキーポリシーの例では、パイプのログ記録に必要なアクセス許可を提供します。

```
{
  "Sid": "Enable log service encryption",
  "Effect": "Allow",
  "Principal": {
    "Service": "delivery.logs.amazonaws.com"
  },
  "Action": [
    "kms:Decrypt",
    "kms:GenerateDataKey"
  ],
  "Resource": "*",
  "Condition": {
    "StringLike": {
      "kms:EncryptionContext:SourceArn": "arn:partition:logs:region:account:*"
    }
  }
}
```

さらに、パイプ実行ロールには `kms:GenerateDataKey` 許可が必要です。

```
{
  "Sid": "Enable log service encryption",
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::account:role/pipe-execution-role"
  },
  "Action": [
    "kms:GenerateDataKey"
  ],
  "Resource": "*",
  "Condition": {
    "StringLike": {
      "kms:EncryptionContext:SourceArn": "arn:partition:logs:region:account:*"
    }
  }
}
```

パイプ実行ロールには、以下も含める必要があります。

```
"Action": [
    "kms:GenerateDataKey"
  ],
  "Resource": "key-arn",
  "Condition": {
    "StringLike": {
      "kms:EncryptionContext:SourceArn": "arn:partition:logs:region:account:*"
    }
  }
```