Q36. AWS 다중 리전 데이터 암호화 - KMS 키 활용 전략

AWS 자격증을 준비하는 여러분, 안녕하세요. 오늘은 다중 리전 환경에서 데이터를 안전하게 암호화하는 방법에 대해 알아보겠습니다. 특히 AWS Key Management Service(KMS)를 활용한 암호화 전략을 중점적으로 다룰 예정입니다.

문제 상황

Q1:
회사는 AWS 클라우드에서 애플리케이션을 구축하고 있습니다. 애플리케이션은 두 AWS 리전의 Amazon S3 버킷에 데이터를 저장합니다. 회사는 AWS Key Management Service(AWS KMS) 고객 관리형 키를 사용하여 S3 버킷에 저장된 모든 데이터를 암호화해야 합니다. 두 S3 버킷의 데이터는 동일한 KMS 키로 암호화 및 복호화해야 합니다. 데이터와 키는 두 지역 각각에 저장되어야 합니다.
최소한의 운영 오버헤드로 이러한 요구 사항을 충족하는 솔루션은 무엇입니까?

<small>A company is building an application in the AWS Cloud. The application stores data in Amazon S3 buckets in two AWS Regions. The company must encrypt all data that is stored in the S3 buckets by using AWS Key Management Service (AWS KMS) customer managed keys. The data in both S3 buckets must be encrypted and decrypted with the same KMS key. The data and the key must be stored in each of the two Regions.
Which solution will meet these requirements with the LEAST operational overhead?</small>

선택지

A. 각 리전에서 S3 버킷을 생성합니다. Amazon S3 관리형 암호화 키(SSE-S3)와 함께 서버 측 암호화를 사용하도록 S3 버킷을 구성합니다. S3 버킷 간의 복제를 구성합니다.
<small>Create an S3 bucket in each Region. Configure the S3 buckets to use server-side encryption with Amazon S3 managed encryption keys (SSE-S3). Configure replication between the S3 buckets.</small>

B. 고객 관리형 다중 지역 KMS 키를 생성합니다. 각 리전에서 S3 버킷을 생성합니다. S3 버킷 간의 복제를 구성합니다. 클라이언트 측 암호화와 함께 KMS 키를 사용하도록 애플리케이션을 구성합니다.
<small>Create a customer managed multi-Region KMS key. Create an S3 bucket in each Region. Configure replication between the S3 buckets. Configure the application to use the KMS key with client-side encryption.</small>

C. 각 리전에서 고객 관리형 KMS 키와 S3 버킷을 생성합니다. Amazon S3 관리형 암호화 키(SSE-S3)와 함께 서버 측 암호화를 사용하도록 S3 버킷을 구성합니다. S3 버킷 간의 복제를 구성합니다.
<small>Create a customer managed KMS key and an S3 bucket in each Region. Configure the S3 buckets to use server-side encryption with Amazon S3 managed encryption keys (SSE-S3). Configure replication between the S3 buckets.</small>

D. 각 리전에서 고객 관리형 KMS 키와 S3 버킷을 생성합니다. AWS KMS 키(SSE-KMS)로 서버 측 암호화를 사용하도록 S3 버킷을 구성합니다. S3 버킷 간의 복제를 구성합니다.
<small>Create a customer managed KMS key and an S3 bucket in each Region. Configure the S3 buckets to use server-side encryption with AWS KMS keys (SSE-KMS). Configure replication between the S3 buckets.</small>

정답 및 해설

정답은 B입니다.

이 문제의 핵심 요구사항은 다음과 같습니다:

  1. 두 AWS 리전의 S3 버킷에 데이터 저장
  2. AWS KMS 고객 관리형 키로 모든 데이터 암호화
  3. 두 S3 버킷의 데이터는 동일한 KMS 키로 암호화/복호화
  4. 데이터와 키는 각 리전에 저장
  5. 최소한의 운영 오버헤드

이러한 요구사항을 가장 잘 충족하는 솔루션은 고객 관리형 다중 리전 KMS 키를 사용하는 것입니다.

AWS KMS의 다중 리전 키는 여러 AWS 리전에서 동일한 키 ID와 키 자료를 가진 상호 교환 가능한 KMS 키 세트입니다. 이를 통해 한 리전에서 데이터를 암호화하고 다른 리전에서 복호화할 수 있으며, 각 리전에서 독립적으로 키를 관리할 수 있습니다.

클라이언트 측 암호화를 사용하면 데이터가 AWS에 전송되기 전에 암호화되므로 end-to-end 암호화를 제공합니다. 이는 높은 수준의 보안을 제공하며, AWS가 암호화되지 않은 데이터에 접근할 수 없게 합니다.

S3 버킷 간 복제를 구성하면 두 리전 간에 데이터를 자동으로 동기화할 수 있습니다.

이 접근 방식은 모든 요구사항을 충족하면서도 운영 오버헤드를 최소화합니다. 다중 리전 키를 사용하면 각 리전에서 별도의 키를 관리할 필요가 없어 관리 부담이 줄어듭니다.

오답 설명

A. SSE-S3는 AWS에서 관리하는 키를 사용하므로 고객 관리형 키 요구사항을 충족하지 않습니다.

C. SSE-S3를 사용하므로 A와 동일한 이유로 부적합합니다. 또한, 각 리전에서 별도의 KMS 키를 생성하는 것은 운영 오버헤드를 증가시킵니다.

D. 각 리전에서 별도의 KMS 키를 생성하는 것은 운영 오버헤드를 증가시키며, 두 S3 버킷의 데이터를 동일한 KMS 키로 암호화/복호화해야 한다는 요구사항을 충족하지 않습니다.

결론

이 문제는 AWS의 다중 리전 데이터 관리와 암호화 전략에 대한 이해를 테스트합니다. 다중 리전 KMS 키와 클라이언트 측 암호화를 조합하여 사용하면 높은 보안성을 유지하면서도 운영 오버헤드를 최소화할 수 있습니다. AWS 솔루션 아키텍트로서 이러한 고급 기능을 이해하고 적절히 활용하는 것이 중요합니다.

원본 문제 링크

댓글

이 블로그의 인기 게시물

Windows Git 설치 및 GitHub 활용 방법

Anaconda-Python 환경 VSCode에서 사용하기