본문 바로가기

Stack/AWS

[AWS DEA] 문제로 공부하기 9 - Secrets Manager

반응형
AWS DEA-C01 자격 증명 자동 교체 | Secrets Manager vs Parameter Store 완전 정리

RDS SQL Server 자격 증명 자동 교체 — Secrets Manager가 정답인 이유

AWS DEA-C01 시험에 자주 나오는 자격 증명 보안 관리 문제입니다. AWS Secrets Manager만이 RDS 자격 증명의 자동 교체를 네이티브로 지원합니다. Parameter Store는 자동 교체 미지원, IAM DB 인증은 SQL Server 미지원, STS는 노출 위험 제거 불가. 4가지 서비스의 특징 차이를 도식으로 비교 정리합니다.

📋 문제

회사에서는 Amazon RDS for Microsoft SQL Server 데이터베이스 기반 Amazon EC2 인스턴스에서 클라우드 기반 소프트웨어 애플리케이션을 실행하고 있다. 애플리케이션에서는 데이터베이스의 자격 증명 정보 및 레코드를 수집, 처리 및 저장한다.

회사는 자격 증명 노출 위험을 완화하려고 한다. 솔루션은 기본적으로 30일마다 자격 증명이 자동으로 교체되어야 한다.

다음 중 이 요구 사항을 충족하는 솔루션은 무엇인가?

✅ 핵심 요구사항 분석

  • 🔑
    자격 증명 보안 저장
    DB 아이디/비밀번호를 코드나 환경 변수에 하드코딩하지 않고 안전하게 관리
  • 🔄
    30일마다 자동 교체 (핵심 조건)
    수동 개입 없이 주기적으로 패스워드가 교체되어 노출 위험 최소화
  • 🗄️
    RDS for Microsoft SQL Server 호환
    솔루션이 SQL Server 엔진에서 실제로 작동해야 함 (엔진 제약 확인 필요)

🔍 4가지 서비스 특징 비교

🔐
AWS Secrets Manager ⭐
자격증명 저장 ✅ 지원
자동 교체 ✅ 네이티브 지원
교체 주기 설정 ✅ 30일 기본값
SQL Server ✅ 지원
Lambda 통합 ✅ 자동 구성
✅ 모든 요건 충족 — 정답
📦
SSM Parameter Store
자격증명 저장 ✅ 가능 (SecureString)
자동 교체 ❌ 미지원
교체 주기 설정 ❌ 없음
SQL Server ✅ 무관
비용 ✅ 무료 (Standard)
⚠️ 저장 가능하나 자동 교체 불가
🪪
IAM 데이터베이스 인증
자격증명 저장 ❌ IAM 토큰 방식
자동 교체 ✅ 토큰 15분 만료
MySQL/PostgreSQL ✅ 지원
SQL Server ❌ 미지원
MariaDB ✅ 지원
❌ SQL Server 미지원 — 탈락
🎫
AWS STS
목적 임시 AWS 자격증명
DB 자격증명 ❌ 해당 없음
자동 교체 ❌ 별도 구성 필요
노출 위험 완화 ❌ 불완전
SQL Server ❌ 해당 없음
❌ RDS DB 인증용이 아님
⚠️ 핵심 함정: IAM 데이터베이스 인증은 MySQL, MariaDB, PostgreSQL만 지원합니다. Microsoft SQL Server, Oracle은 지원하지 않습니다.

🗄️ IAM 데이터베이스 인증 — 지원 엔진

IAM 데이터베이스 인증은 아래 엔진에서만 동작합니다. 시험에 자주 출제되는 함정 포인트입니다.

🐬
MySQL
✅ 지원
🐘
PostgreSQL
✅ 지원
🐟
MariaDB
✅ 지원
☁️
Aurora
MySQL/PG
✅ 지원
🪟
SQL Server
❌ 미지원
🏛️
Oracle
❌ 미지원
🗄️
DB2
❌ 미지원
🔴
Custom
SQL Server
❌ 미지원

🔄 Secrets Manager 자동 교체 동작 흐름

30일 주기 자동 교체 — 무중단으로 비밀번호 교체

Secrets Manager
Lambda 교체 함수 호출
30일마다 자동 트리거
Lambda
새 비밀번호 생성
RDS SQL Server에 적용
Secrets Manager
새 자격 증명 버전 저장
이전 버전도 일정 기간 유지
EC2 애플리케이션
Secrets Manager API 호출
최신 자격 증명 반환
💡 핵심: 애플리케이션이 매번 Secrets Manager에서 자격 증명을 가져오기 때문에 코드에 비밀번호가 하드코딩되지 않고, 교체 시 애플리케이션 재배포도 불필요합니다.

📝 선택지 해설

각 항목을 클릭하면 해설이 펼쳐집니다.

💡 IAM 데이터베이스 인증은 Microsoft SQL Server에서 작동하지 않습니다. MySQL, MariaDB, PostgreSQL, Aurora(MySQL/PG) 엔진에서만 지원하는 기능입니다. 문제 조건이 SQL Server인데, 이 솔루션은 기술적으로 아예 구성 자체가 불가능합니다. 시험에서 엔진 종류와 지원 서비스의 매핑 관계를 정확히 암기해야 합니다.
💡 Parameter Store는 SecureString 타입으로 암호화된 자격 증명을 안전하게 저장할 수 있습니다. 그러나 자동 교체(Automatic Rotation) 기능이 없습니다. 자격 증명을 교체하려면 수동으로 값을 업데이트하거나 별도 Lambda 함수를 직접 구현해야 합니다. 문제 조건인 "30일마다 자동 교체"를 네이티브로 충족하지 못합니다.
💡 AWS STS(Security Token Service)는 IAM 사용자나 역할에게 제한된 권한의 임시 AWS 자격 증명(액세스 키 + 세션 토큰)을 발급합니다. AWS 서비스 API 호출 권한을 임시로 부여하는 용도이며, RDS 데이터베이스의 DB 사용자 아이디/비밀번호를 관리하거나 교체하는 기능이 아닙니다. 자격 증명 노출 위험을 근본적으로 제거할 수 없습니다.
💡 정답. AWS Secrets Manager는 RDS 자격 증명 관리에 특화된 서비스입니다. ① 자동 교체(Automatic Rotation)를 기본 30일 주기로 네이티브 지원합니다. ② 내부적으로 Lambda 함수를 자동 생성·실행하여 RDS 비밀번호를 교체하고 Secrets Manager에 새 버전을 저장합니다. ③ SQL Server를 포함한 모든 RDS 엔진을 지원합니다. ④ 애플리케이션이 SDK를 통해 최신 자격 증명을 동적으로 가져오므로 코드에 하드코딩이 필요 없습니다.

정답: D — AWS Secrets Manager

이 문제의 핵심 구분 포인트는 두 가지입니다. ① 자동 교체 지원 여부: Secrets Manager만 네이티브 지원, Parameter Store는 미지원. ② SQL Server와 IAM DB 인증 호환 여부: IAM DB 인증은 MySQL/PostgreSQL/MariaDB 전용.

# Secrets Manager vs Parameter Store 핵심 차이 항목 Secrets Manager Parameter Store ─────────────────────────────────────────────────────── 자격증명 저장 ✅ 지원 ✅ 지원 (SecureString) 자동 교체 ✅ 네이티브 지원 ❌ 미지원 (직접 구현 필요) 교체 주기 설정 ✅ 30일 기본값 ❌ 없음 RDS 통합 ✅ Lambda 자동 생성 ❌ 없음 비용 유료 ($0.40/암호) 무료 (Standard 티어) SQL Server 지원 ✅ 모든 엔진 가능 무관 # IAM 데이터베이스 인증 지원 엔진 지원 ✅: MySQL, MariaDB, PostgreSQL, Aurora(MySQL/PG) 미지원 ❌: SQL Server, Oracle, DB2

📊 선택지 비교 요약

선택지 서비스 자격증명 저장 자동 교체 SQL Server 호환 결론
A IAM DB 인증 토큰 방식 15분 만료 ❌ 미지원 탈락
B Parameter Store ✅ SecureString ❌ 미지원 무관 ✅ 탈락
C AWS STS ❌ DB용 아님 ❌ 해당 없음 ❌ 해당 없음 탈락
D ⭐ Secrets Manager ✅ 전용 지원 ✅ 네이티브 ✅ 모든 엔진 정답
#AWS_DEA-C01 #AWS데이터엔지니어 #SecretsManager #ParameterStore #IAM데이터베이스인증 #자격증명자동교체 #RDSSQLServer #AWS보안 #AWSSTS #데이터보안 #AWS자격증 #보안암호교체
반응형