Amazon Data Firehose のデータ保護 - Amazon Data Firehose

Amazon Data Firehose のデータ保護

Amazon Data Firehose は TLS プロトコルを使用して転送中のすべてのデータを暗号化します。さらに、処理中に中間ストレージに保存されたデータについては、Amazon Data Firehose は AWS Key Management Service を使用してデータを暗号化し、チェックサム検証を使用してデータの整合性を検証します。

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

注記

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

Kinesis Data Streams を使用したサーバー側の暗号化

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

Kinesis Data Streams でサーバー側の暗号化を有効にする方法については、Amazon Kinesis Data Streams 開発者ガイドの「サーバー側の暗号化の使用」を参照してください。

Direct PUT または他のデータソースを使用したサーバー側の暗号化

PutRecord または PutRecordBatch を使用してデータを Firehose ストリームに送信した場合や、AWS IoT、Amazon CloudWatch Logs、または CloudWatch Events を使用してデータを送信した場合、StartDeliveryStreamEncryption オペレーションを使用してサーバー側の暗号化を有効にできます。

サーバー側の暗号化を停止するには、StopDeliveryStreamEncryption オペレーションを使用します。

Firehose ストリームを作成するときに SSE を有効にすることもできます。それを行うには、CreateDeliveryStream を呼び出すときに、DeliveryStreamEncryptionConfigurationInput を指定します。

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

  • KMSKeyAccessDenied

  • KMSKeyDisabled

  • KMSKeyInvalidState

  • KMSKeyNotFound

これら 4 つのメトリクスの詳細については、「CloudWatch メトリクスを使用して Amazon Data Firehose をモニタリングする」を参照してください。

重要

Firehose ストリームを暗号化するには、対称 CMK を使用します。Amazon Data Firehose は非対称 CMK をサポートしていません。対称 CMK と非対称 CMK の詳細については、AWS Key Management Service 開発者ガイドの「対称 CMK と非対称 CMK について」を参照してください。

注記

カスタマーマネージドキー (CUSTOMER_MANAGED_CMK) を使用して Firehose ストリームのためにサーバー側の暗号化 (SSE) を有効にすると、Firehose サービスは、キーを使用するたびに暗号化コンテキストを設定します。この暗号化コンテキストは、AWS アカウントによって所有されるキーが使用されたことを表すため、AWS アカウントの AWS CloudTrail イベントログの一部としてログ記録されます。この暗号化コンテキストは、Firehose サービスによって生成されたシステムです。アプリケーションは、Firehose サービスによって設定された暗号化コンテキストの形式やコンテンツについて、いかなる想定もすべきではありません。