반응형
S3 암호화 + Redshift COPY 접근 — SSE-KMS가 정답인 이유
AWS DEA-C01 시험에 자주 나오는 암호화 문제 유형입니다. Amazon S3 데이터를 암호화하면서 동시에 Amazon Redshift COPY 명령이 해당 데이터에 접근할 수 있어야 할 때, SSE-KMS / SSE-C / 클라이언트 측 암호화 중 어떤 방식을 선택해야 하는지 도식과 함께 정리합니다.
📋 문제
한 회사에서는 Amazon S3를 사용하여 데이터를 저장하고
Amazon Redshift를 데이터 웨어하우스로 사용한다.
이 회사에서는 S3 데이터를 암호화해야 한다.
하지만 Amazon Redshift COPY 명령이 S3 데이터에
액세스할 수 있도록 허용해야 한다.
다음 중 이러한 요구 사항을 충족하는 솔루션은 무엇인가?
📐 암호화 방식 비교
🔒 서버 측 암호화 (SSE)
앱 (클라이언트)
평문(원본) 데이터 전송
▼ 평문으로 전송
☁️ Amazon S3
S3가 암호화 · 복호화 담당
▼ IAM Role 권한 위임
Redshift
자동 복호화 후 COPY 성공 ✅
🔐 클라이언트 측 암호화 (CSE)
앱 (클라이언트)
앱이 직접 암호화 후 전송
▼ 암호문(Ciphertext)으로 전송
☁️ Amazon S3
암호문만 저장 (키 없음)
▼ 키 없음 → 복호화 불가
Redshift
원문 접근 불가 — COPY 실패 ❌
🔑 SSE 방식별 키 관리 주체
SSE-S3
AWS가 키 자동 생성 · 관리
SSE-KMS ⭐
KMS 키 + IAM Role 권한 위임
SSE-C
고객이 요청마다 키 직접 전달
📝 선택지 해설
각 항목을 클릭하면 해설이 펼쳐집니다.
💡 정답. SSE-KMS는 KMS 키에 대한 접근 권한을 IAM Role을 통해 위임할 수 있습니다.
Redshift 클러스터에 KMS 키 사용 권한이 있는 IAM Role을 연결하면, COPY 명령 실행 시
AWS가 백그라운드에서 자동으로 복호화하여 데이터를 읽을 수 있습니다.
암호화 + Redshift 접근 두 조건을 모두 충족합니다.
💡 SSE-C는 S3에 요청을 보낼 때마다 고객이 키를 HTTP 헤더로 직접 전달해야 합니다.
Redshift는 COPY 명령 실행 시 키를 자동으로 전달할 방법이 없기 때문에 접근이 불가합니다.
💡 클라이언트 측 암호화는 데이터가 S3로 전송되기 전에 애플리케이션 단에서 이미 암호화됩니다.
S3에는 암호문(Ciphertext)만 저장되며, Redshift는 복호화 키를 갖고 있지 않아 원문을 읽을 수 없습니다.
💡 고객이 비대칭 키의 비밀키(Private Key)를 직접 보관합니다.
AWS나 Redshift가 이 비밀키에 접근할 방법이 없어 복호화 자체가 불가합니다.
정답: A — SSE-KMS
SSE-KMS는 IAM Role을 통해 Redshift에 KMS 키 사용 권한을 위임할 수 있는 유일한 방식입니다.
Redshift 클러스터에 해당 IAM Role을 연결하면, COPY 명령 실행 시 별도 키 전달 없이
AWS가 자동으로 S3 객체를 복호화하여 데이터를 로드합니다.
# 흐름 요약
S3 객체 (SSE-KMS 암호화)
└─ KMS 키 사용 권한
└─ IAM Role (Redshift에 연결)
└─ COPY 명령 실행 → 자동 복호화 → 적재 성공 ✅
S3 객체 (SSE-KMS 암호화)
└─ KMS 키 사용 권한
└─ IAM Role (Redshift에 연결)
└─ COPY 명령 실행 → 자동 복호화 → 적재 성공 ✅
📊 방식별 비교 요약
| 방식 | 암호화 주체 | 키 관리 | Redshift COPY |
|---|---|---|---|
| SSE-S3 | S3 (서버) | AWS 자동 관리 | ✅ 가능 |
| SSE-KMS ⭐ | S3 (서버) | KMS + IAM Role 위임 | ✅ 가능 |
| SSE-C | S3 (서버) | 고객이 매 요청마다 전달 | ❌ 불가 |
| CSE (KMS) | 앱 (클라이언트) | 앱이 직접 암호화 | ❌ 불가 |
| CSE (비대칭키) | 앱 (클라이언트) | 고객 비밀키 직접 보관 | ❌ 불가 |
반응형
'Stack > AWS' 카테고리의 다른 글
| [AWS DEA] 문제로 공부하기 4 - 노드 RAM 볼륨 (0) | 2026.03.09 |
|---|---|
| [AWS DEA] 문제로 공부하기 3 - Lambda · EFS (0) | 2026.03.09 |
| [AWS DEA] 실무에서 경험했던 데이터 플랫폼 스택, AWS와 매핑하기 (0) | 2026.03.08 |
| [AWS DEA] 아키텍처 플레이북 (feat. NotebookLM) (0) | 2026.03.07 |
| [AWS DEA] AWS DEA 시험 핵심 도식 (0) | 2026.03.07 |