[SAA-C03] Secret Management
[SAA-C03] Secret Management — #개발자의도구들 #AWSSecret #AWSSecretmanager #AWSSystemManagerParameterstore #AWSK...
#SAA-C03#Naver Blog
#개발자의도구들 #AWSSecret #AWSSecretmanager #AWSSystemManagerParameterstore #AWSKMS
\* AWS SAA 도전기 목록: https://blog.naver.com/jword\_/224028873217
🧭 AWS 비밀 관리(Secrets Management) 관련 주요 서비스
| 구분 | 서비스명 | 주요 목적 | 대표 사용 사례 |
|---|---|---|---|
| 🔐 Secret 관리(비밀번호/ API Key) | AWS Secret Manager | DB, API, 토큰 등 비밀번호 중심의 비밀 저장 및 자동 Rotation | RDS 비밀번호, 서드파티 AP key |
| ⚙️ 설정값 및 민감정보 | AWS Systems Manager Parameter Store | 애플리케이션 환경 변수, 설정값, key-value 관리(암호화 기능) | 환경변수, 설정값, 버전 관리 |
| 🔑 암호화 키 관리 | AWS KMS | 비밀값을 직접 저장하지 않음.암호화/복호화 용 key관리 | Secrets Manager /Parameter Store 암호화 백엔드 |
| 🧰서버 구성 및 인증서 | AWS Certificate Manager(ACM) | SSL/TLS 인증서 자동 관리 및 배포 | HTTPS 인증서, CloudFront/ALB |
| 🧱 외부 솔루션 | HashCorp Vault | 멀티클라우드 비밀 관리 및 접근 제어 | 멀티클라우드 환경, 온프레미스 통합 |
🧩 서비스별 비교표
| 항목 | Secrets Manager | Parameter Store | KMS | ACM |
|---|---|---|---|---|
| 저장 대상 | 비밀번호, API key, 토큰 | 설정값key-value 데이터 | 암호화 키 | SSL/TLS 인증서 |
| 자동 Rotation | ✅ 지원 (Lambda 기반) | ❌ 직접구현 | ❌ | ✅ 자동갱신(ACM-manged) |
| 암호화 방식 | KMS 기반 자동 암호화 | KMS 기반 (선택적) | CMK 직접 관리 | KMS 아님 (인증서가 자체적으로 암호하) |
| API 호출 한도 / 성능 | 5000 QPS 수준 | 40 QPS,고속모드 존재 | ||
| Multi-Region 지원 | ✅ 지원(복제 기능 내장) | ❌ 리전별별도 생성 필요 | 키 복제 가능(단, 독립적) | ✅글롭러(엣지 배포) |
| 요금 | 저장 + API 호출+ Rotation | 무료고급 파라미터는 유료 | KMS 요청당 소액 | 인증서 무료(ACM 관리형) |
| 적합한 시나리오 | 민감한 자격 증명 관리 | 설정값,환경 변수 관리 | 암호화 전용 | HTTPS 인증서 자동 관리 |
🌍 Multi-Region 관점
Secret Manager
- 완전 지원
- 자동 복제
Primary Secret -> Replica Secrets로 비동기 복제, 각 리전의 KMS key로 암호화
단, 회전읜 Primary에서만, Replica는 Read-Only
Parameter Store
- 수동 동기화 해야함
- 각 리전별 독립 관리
- Lambda/EventBridge로 직접 동기화가 가능하다.
KSM
- ⚠️부분 지원
- Key Material은 리전 단위
- 단, Multi-Region Key가 존재한다.
- CMK 생성시에 옵션으로 사용가능
ACM
- 전세계 배포현 인증서
- CloudFront/Global Accelerator 등 글로벌 엣지에 배포
- 인증서는 리전 제한 X (글로벌 서비스용)
multi-Region 시나리오별 정리
| 시나리오 | 권장 서비스 | 이유 |
|---|---|---|
| 다중 리전에 배포된 애플리케이션이 동일한 DB 비밀번호 사용 | Secrets Manager(Multi-Region Replication) | Primary → Replica 자동 복제, 리전 장애 대비 |
| 리전별 환경변수가 조금씩 다른 애플리케이션 설정 관리 | Parameter Store (리전별 독립 관리) | 리전마다 다른 값 유지 가능 |
| 다중 리전 앱에서 동일 암호화 키로 데이터 암호화 필요 | KMS Multi-Region Key | 동일한 Key Material을 복제 리전에 생성 |
| 전세계 사용자 대상 HTTPS 통신용 인증서 관리 | ACM (CloudFront용) | 글로벌 엣지 인증서 자동 관리 |
| 온프레미스 + AWS 통합 보안 비밀 관리 | Vault (자체) | 클라우드 간 통합 접근제어 가능 |
목적 관점에서 비교
| 항목 | Secrets Manager | Parameter Store | KMS | ACM |
|---|---|---|---|---|
| 자동 회전 | ✅ 지원 (Lambda 기반) | ❌ 직접 스크립트 필요 | ❌ | ✅ 지원 (ACM-managed certs) |
| Rotation 대상 | RDS, Redshift, custom secret | N/A | N/A | 인증서 자동 갱신 |
| Rotation 주기 | 1~365일 설정 가능 | - | - | 만료 전 자동 재발급 |
| SDK 지원 | ✅ 완벽 지원 | ✅ 완벽 지원 | ✅ 완벽 지원 | ✅ 자동 통합(CloudFront, ALB 등) |
암호화 및 보안 관점
| 항목 | Secrets Manager | Parameter Store | KMS | ACM |
|---|---|---|---|---|
| 기본 암호화 | ✅ AWS KMS 기반 자동 암호화 | ✅ KMS 기반 (옵션 선택 가능) | 🔑 자체 암호화 키 저장 | 🔐 인증서 자체 암호화 |
| IAM 통합 | ✅ | ✅ | ✅ | ✅ |
| CloudTrail 로그 | ✅ Secret 접근/변경 로깅 | ✅ Parameter 접근 로깅 | ✅ 키 사용 로그 | ✅ 인증서 요청 로그 |
| 데이터 접근 제어 | IAM 정책 + Resource Policy | IAM 정책 | Key Policy + IAM | ACM 전용 정책 없음 (리소스 권한 기반) |
여러 시나리오별
| 시나리오 | 정답 서비스 | 근거 |
|---|---|---|
| RDS 비밀번호를 자동으로 바꾸고 싶다 | Secrets Manager | 자동 Rotation 기능 지원 |
| EC2 환경변수, API Endpoint를 관리 | Parameter Store | Key-Value 저장 중심 |
| 데이터 암호화/복호화 수행 | KMS | CMK(Key) 기반 암호화 |
| HTTPS 인증서 자동 배포 | ACM | 자동 발급 및 갱신 |
| 멀티리전 앱에서 동일한 Secret 사용 | Secrets Manager (Multi-Region) | Primary → Replica 복제 |
| 멀티리전 암호화 키 사용 | KMS Multi-Region Key | 동일 키 Material 복제 |
| 온프레미스와 클라우드 통합 보안 Vault | HashiCorp Vault | 자체 구축형, 하이브리드 지원 |
| 예산 절약을 우선하면서 수동 Rotation 가능 | Parameter Store + Lambda | 간단하고 저비용 구조 |