View a markdown version of this page

데이터 전송을 위한 보안 - Amazon Kinesis Data Streams

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

데이터 전송을 위한 보안

이 주제를 사용하여 암호화, 액세스 제어 및 감사 로깅을 포함하여 Amazon Kinesis Data Streams의 데이터 전송에 대한 보안 기능과 모범 사례에 대해 알아봅니다.

전송 중 암호화

데이터 전송과 대상 간의 모든 통신은 TLS 1.2 이상을 사용하여 전송 중에 암호화됩니다. 여기에는 Apache Iceberg 및 범용 Amazon S3 버킷의 스트리밍 테이블로 전송되는 데이터와 AWS Glue Schema Registry 및 배달 못한 편지 대기열과의 통신이 포함됩니다.

저장 시 암호화

스트리밍 테이블 및 Amazon S3 전송 저장소는 Amazon S3에서 데이터를 전송했습니다. 전송된 모든 데이터는 유휴 시 서버 측에서 암호화됩니다. 이는 Apache Iceberg의 스트리밍 테이블과 범용 Amazon S3 버킷 모두 Amazon S3에 데이터를 저장하므로 두 대상 유형에 모두 적용됩니다. 전송된 데이터를 암호화하기 위해 별도의 조치를 취할 필요가 없습니다.

미사용 중 암호화 옵션

전송된 데이터에 대해 다음 암호화 옵션 중 하나를 선택할 수 있습니다.

  • SSE-S3(기본값) - Amazon S3 관리형 키를 사용한 서버 측 암호화입니다. 고객 관리형 키가 지정되지 않은 경우 기본값입니다. 추가 구성은 필요하지 않습니다.

  • 고객 관리형 키를 사용하는 SSE-KMS - 소유하고 관리하는 대칭 고객 관리형 AWS KMS 키를 사용한 서버 측 암호화입니다.

유휴 암호화에 고객 관리형 키 사용

전송된 데이터는 두 대상 유형 모두에 대해 Amazon S3에 저장되므로 저장 데이터 암호화는 AWS KMS 키 사용 방법, 필요한 키 권한, 암호화 컨텍스트 및 감사를 포함하여 Amazon S3 서버 측 암호화와 동일한 방식으로 작동합니다. 대칭 암호화 AWS KMS 키만 지원됩니다. Amazon S3가 서버 측 암호화에 AWS KMS 키를 사용하는 방법에 대한 자세한 내용은 Amazon S3 사용 설명서의 AWS KMS 키를 사용한 서버 측 암호화(SSE-KMS) 사용을 참조하세요.

고객 관리형 키로 전송된 데이터를 암호화하려면를 사용하여 전송을 생성할 때 EncryptionConfiguration 파라미터에 키를 지정합니다CreateChannel. 자세한 내용은 Amazon Kinesis Data Streams API 참조의 CreateChannel 작업을 참조하세요. Amazon Kinesis 전송이 생성된 후에는 암호화 구성을 변경할 수 없습니다. 변경하려면 전송을 삭제하고 새 전송을 생성합니다.

서비스 실행 역할이 고객 관리형 키를 사용하는 데 필요한 특정 AWS KMS 권한은 섹션을 참조하세요데이터 전송을 위한 IAM 권한.

참고

대상 암호화에는 고객 관리형 AWS KMS 키를 사용해야 합니다. AWS 관리형 키 (aws/kinesis별칭)은 지원되지 않습니다. 로 암호화된 소스 스트림 AWS 관리형 키 도 지원되지 않습니다. 단원을 참조하십시오소스 스트림 암호화.

AWS KMS 상호 작용 모니터링

고객 관리형 키를와 함께 사용하는 방법을 감사할 수 있습니다 AWS CloudTrail. AWS KMS GenerateDataKey 및와 같이 전송된 객체를 암호화하고 해독하는 암호화 작업이 CloudTrail 이벤트 기록에 Decrypt표시됩니다. AWS KMS 이벤트 검색에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 AWS KMS 키 사용 감사를 참조하세요.

소스 스트림 암호화

중요

Kinesis 데이터 스트림이 AWS 관리형 키 (aws/kinesis별칭)로 암호화된 경우 전송을 생성할 수 없습니다.는 로 암호화된 스트림에 대해 동기적으로 CreateChannel 실패합니다 AWS 관리형 키.

암호화된 스트림에서 스트리밍 테이블 또는 Amazon S3 전송을 사용하려면 스트림 암호화에 고객 관리형 키를 사용합니다. 를 사용하여 기존 스트림의 암호화 키를 변경할 수 있습니다StartStreamEncryption. 고객 관리형 키로 암호화된 스트림은 완전히 지원됩니다.

IAM 액세스 제어

데이터 전송을 통한 IAM 액세스 제어에 대한 다음 모범 사례를 따르세요.

  • 최소 권한 - 서비스 실행 역할에 필요한 최소 권한만 부여합니다. 와일드카드를 사용하는 대신 특정 버킷 및 접두사에 대한 Amazon S3 권한 범위를 지정합니다.

  • 특정 리소스 범위 - 전송이 쓰는 특정 버킷, 테이블 버킷 또는 테이블에 대한 권한을 제한합니다. Resource: "*" 사용은 피하십시오.

  • 혼동된 대리자 방지 - 다른 서비스 또는 계정이 실행 역할을 수임하지 못하도록 신뢰 정책에 항상 aws:SourceArn 및 aws:SourceAccount 조건을 포함합니다.

AWS CloudTrail 로깅

모든 전송 API 호출은에서 로깅합니다 AWS CloudTrail. 여기에는 CreateChannel, UpdateChannel, DeleteChannelDescribeChannel, 및가 포함됩니다ListChannels. AWS CloudTrail 로그를 사용하여 전송 리소스를 생성, 수정 또는 삭제한 사람과 이러한 작업이 발생한 시기를 감사할 수 있습니다.