Amazon Data Firehose의 데이터 보호
Amazon Data Firehose는 TLS 프로토콜을 사용하여 전송 중인 모든 데이터를 암호화합니다. 또한 처리 중에 임시 스토리지에 저장된 데이터에 대해 Amazon Data Firehose는 AWS Key Management Service를 사용하여 데이터를 암호화하고 체크섬(checksum) 검증을 사용하여 데이터 무결성을 확인합니다.
민감한 데이터가 있는 경우, Amazon Data Firehose를 사용할 때 서버 측 데이터 암호화를 활성화할 수 있습니다. 이 작업은 데이터 소스에 따라 다릅니다.
참고
명령행 인터페이스 또는 API를 통해 AWS에 액세스할 때 FIPS 140-2 검증된 암호화 모듈이 필요한 경우, FIPS 엔드포인트를 사용합니다. 사용 가능한 FIPS 엔드포인트에 대한 자세한 내용은 Federal Information Processing Standard(FIPS) 140-2
Kinesis Data Streams를 사용한 서버 측 암호화
데이터 생산자로부터 데이터 스트림으로 데이터를 전송할 때 Kinesis Data Streams는 AWS Key Management Service(AWS KMS) 키를 사용하여 데이터를 암호화한 후 유휴 상태로 데이터를 저장합니다. Firehose 스트림이 사용자 데이터 스트림의 데이터를 읽으면 Kinesis Data Streams은 먼저 데이터를 복호화한 다음 Amazon 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을 지정합니다.
CUSTOMER_MANAGED_CMK
의 유형이 CMK이고 KMSNotFoundException
, KMSInvalidStateException
, KMSDisabledException
또는 KMSAccessDeniedException
으로 인해 Amazon Data Firehose 서비스가 레코드를 암호 해독할 수 없는 경우 이 서비스는 사용자가 해당 문제를 해결할 때까지 최대 24시간(보존 기간) 동안 대기합니다. 보존 기간을 초과하여 문제가 지속되는 경우 서비스에서는 보존 기간이 경과했으며 암호 해독할 수 없는 레코드를 건너뛴 다음 데이터를 삭제합니다. Amazon Data Firehose는 다음 네 가지 CloudWatch 지표를 제공하는데, 이를 네 가지 AWS KMS 예외를 추적하는 데 사용할 수 있습니다.
-
KMSKeyAccessDenied
-
KMSKeyDisabled
-
KMSKeyInvalidState
-
KMSKeyNotFound
이러한 4가지 지표에 대한 자세한 내용은 CloudWatch 지표를 사용하여 Amazon Data Firehose 모니터링 섹션을 참조하세요.
중요
Firehose 스트림을 암호화하려면 대칭 CMK를 사용합니다. Amazon Data Firehose는 비대칭 CMK를 지원하지 않습니다. 대칭 및 비대칭 CMK에 대한 자세한 내용을 알아보려면 AWS Key Management Service 개발자 안내서의 대칭 및 비대칭 CMK 정보를 참조하세요.
참고
고객 관리형 키(CUSTOMER_MANAGED_CMK)를 사용하여 Firehose 스트림에 대한 서버 측 암호화(SSE)를 사용하도록 설정하면 Firehose 서비스는 키를 사용할 때마다 암호화 컨텍스트를 설정합니다. 이 암호화 컨텍스트는 AWS 계정 소유의 키가 사용된 경우를 나타내므로 AWS 계정에 대한 AWS CloudTrail 이벤트 로그의 일부로 기록됩니다. 이 암호화 컨텍스트는 Firehose 서비스에 의해 시스템에서 생성됩니다. 애플리케이션은 Firehose 서비스가 설정한 암호화 컨텍스트의 형식이나 내용에 대해 어떠한 가정도 해서는 안 됩니다.