

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

# Amazon Data Firehose のデータ保護
<a name="encryption"></a>

Amazon Data Firehose は TLS プロトコルを使用して転送中のすべてのデータを暗号化します。さらに、処理中に中間ストレージに保存されたデータについては、Amazon Data Firehose は [AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) を使用してデータを暗号化し、チェックサム検証を使用してデータの整合性を検証します。

機密データがある場合、Amazon Data Firehose を使用するときにサーバー側のデータ暗号化を有効にすることができます。これを行う方法は、データソースによって異なります。

**注記**  
コマンドラインインターフェイスまたは API AWS を介して にアクセスするときに FIPS 140-2 検証済みの暗号化モジュールが必要な場合は、FIPS エンドポイントを使用します。利用可能な FIPS エンドポイントの詳細については、「[連邦情報処理規格 (FIPS) 140-2](https://aws.amazon.com/compliance/fips/)」を参照してください。

## Kinesis Data Streams を使用したサーバー側の暗号化
<a name="sse-with-data-stream-as-source"></a>

データプロデューサーからデータストリームにデータを送信すると、Kinesis Data Streams は保管中のデータを保存する前に AWS Key Management Service (AWS KMS) キーを使用してデータを暗号化します。Firehose ストリームがデータストリームからデータを読み取ると、Amazon Data Streams はまずデータを復号してから Amazon Data Firehose に送信します。Amazon Data Firehose は、指定したバッファリングのヒントに基づいてデータをメモリにバッファリングします。その後、暗号化されていないデータを保存することなく、送信先に配信します。

Kinesis Data Streams でサーバー側の暗号化を有効にする方法については、*Amazon Kinesis Data Streams 開発者ガイド*の「[サーバー側の暗号化の使用](https://docs.aws.amazon.com/streams/latest/dev/server-side-encryption.html)」を参照してください。

## Direct PUT または他のデータソースを使用したサーバー側の暗号化
<a name="sse-with-direct-put"></a>

[PutRecord](https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecord.html) または [PutRecordBatch](https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html) を使用して Firehose ストリームにデータを送信する場合、または AWS IoT、Amazon CloudWatch Logs、または CloudWatch Events を使用してデータを送信する場合は、[StartDeliveryStreamEncryption](https://docs.aws.amazon.com/firehose/latest/APIReference/API_StartDeliveryStreamEncryption.html) オペレーションを使用してサーバー側の暗号化を有効にできます。

サーバー側の暗号化を停止するには、[StopDeliveryStreamEncryption](https://docs.aws.amazon.com/firehose/latest/APIReference/API_StopDeliveryStreamEncryption.html) オペレーションを使用します。

Firehose ストリームを作成するときに SSE を有効にすることもできます。それを行うには、[CreateDeliveryStream](https://docs.aws.amazon.com/firehose/latest/APIReference/API_CreateDeliveryStream.html) を呼び出すときに、[DeliveryStreamEncryptionConfigurationInput](https://docs.aws.amazon.com/firehose/latest/APIReference/API_DeliveryStreamEncryptionConfigurationInput.html) を指定します。

を正常に使用するには`CUSTOMER_MANAGED_CMK`、発信者の IAM ポリシーと KMS キーポリシーの両方が `kms:GenerateDataKey` および `kms:Decrypt`オペレーションを許可する必要があります。Firehose は、`CUSTOMER_MANAGED_CMK`暗号化を使用して PutRecord または PutRecordBatch を呼び出すときに、これらのアクセス許可を検証します。さらに、`CUSTOMER_MANAGED_CMK`暗号化を使用して CreateDeliveryStream または StartDeliveryStreamEncryption を呼び出す場合は、 アクセス`kms:CreateGrant`許可が必要です。

CMK のタイプが `CUSTOMER_MANAGED_CMK` のときに、`KMSNotFoundException`、`KMSInvalidStateException`、`KMSDisabledException`、または `KMSAccessDeniedException` のエラーのために Amazon Data Firehose サービスがレコードを復号できない場合、問題が解決されるまでサービスは最大 24 時間 (保持期間) 待機します。保持期間を超えて問題が解決されない場合、サービスは、保持期間を超えて復号できなかったレコードをスキップし、データを破棄します。Amazon Data Firehose には、4 つの AWS KMS 例外を追跡するために使用できる次の 4 つの CloudWatch メトリクスが用意されています。
+ `KMSKeyAccessDenied`
+ `KMSKeyDisabled`
+ `KMSKeyInvalidState`
+ `KMSKeyNotFound`

これら 4 つのメトリクスの詳細については、「[CloudWatch メトリクスを使用して Amazon Data Firehose をモニタリングする](monitoring-with-cloudwatch-metrics.md)」を参照してください。

**重要**  
Firehose ストリームを暗号化するには、対称 CMK を使用します。Amazon Data Firehose は非対称 CMK をサポートしていません。対称 CMKs「対称 CMK [と非対称 CMKs](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-concepts.html)」を参照してください。 AWS Key Management Service 

**注記**  
[カスタマーマネージドキー](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) (CUSTOMER\$1MANAGED\$1CMK) を使用して Firehose ストリームのためにサーバー側の暗号化 (SSE) を有効にすると、Firehose サービスは、キーを使用するたびに暗号化コンテキストを設定します。この暗号化コンテキストは、 AWS アカウントが所有するキーが使用された出現を表すため、 AWS アカウントの AWS CloudTrail イベントログの一部として記録されます。この暗号化コンテキストは、Firehose サービスによって生成されたシステムです。アプリケーションは、Firehose サービスによって設定された暗号化コンテキストの形式やコンテンツについて、いかなる想定もすべきではありません。