✅ Domain 3: 보안 아키텍처 설계 - 서비스 간 비교, 활용 맥락, 추천 설계 방식


✅ 3. 보안 및 접근 제어 관련 핵심 개념과 서비스

🔒 핵심 목표

  • 리소스에 대한 최소 권한 원칙(Least Privilege)
  • 인증(Authentication)과 권한 부여(Authorization) 구분
  • 데이터 보호(암호화, 접근 통제)

📌 자주 출제되는 보안 관련 서비스 및 개념

IAM (Identity and Access Management)

  • AWS 사용자/그룹/역할/정책을 관리
  • 정책(Policy)을 통해 리소스 접근 제어 (JSON 형식)
  • 유형:
    • 사용자(User): 사람 계정
    • 그룹(Group): 사용자 묶음
    • 역할(Role): 다른 서비스나 사용자에게 임시 권한 부여
    • 정책(Policy): 권한을 정의 (예: S3 접근 가능)

📌 예시 문제:
“EC2 인스턴스가 S3에 접근해야 할 때 가장 안전한 방식은?”
정답: IAM 역할(Role)을 인스턴스에 할당


IAM Policy

  • JSON 문서로 구성
  • 두 종류:
    • 관리형 정책(Managed Policy): AWS 또는 사용자가 만든 정책
    • 인라인 정책(Inline Policy): 특정 사용자/그룹/역할에 직접 연결된 정책

🔍 Policy 예시

{ "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::my-bucket/*" }
 

IAM Role + AssumeRole

  • EC2, Lambda 등 AWS 리소스가 다른 리소스에 접근할 수 있도록 역할을 부여
  • AssumeRole: 다른 계정이나 서비스가 일시적으로 역할을 "가정"할 수 있음

Amazon KMS (Key Management Service)

  • 데이터 암호화 및 키 관리 서비스
  • S3, EBS, RDS, Lambda 등에서 **기본 또는 고객 관리형 키(CMK)**로 암호화 가능
  • CloudTrail과 함께 키 사용 이력 추적 가능

📌 출제 포인트:

  • 어떤 암호화 방식/키 사용이 가장 적절한지 선택

S3 버킷 정책 vs ACL

  • 버킷 정책(Bucket Policy): JSON 기반, S3 리소스에 대한 권한 부여
  • ACL(Access Control List): 세부적인 객체 수준 권한 (구식 방식 – 가급적 피해야 함)
  • 블록 퍼블릭 액세스 설정: 실수로 퍼블릭 공개 방지

보안 그룹(Security Group) vs NACL(Network ACL)

항목 Security Group NACL
작동 방식 상태 저장(Stateful) 상태 비저장(Stateless)
적용 대상 EC2 인스턴스 등 서브넷
규칙 방향 Inbound/Outbound 모두 명시 Inbound/Outbound 각각 설정 필요
특징 허용 규칙만 있음 허용/거부 모두 가능
 

📌 문제 예시:

Q. 보안 그룹은 상태 저장인가요, 상태 비저장인가요?

정답: 상태 저장 (Stateful)


AWS WAF (Web Application Firewall)

  • 웹 애플리케이션을 SQL Injection, XSS 등의 공격으로부터 보호
  • CloudFront, ALB, API Gateway와 연동 가능

AWS Shield / AWS Shield Advanced

  • DDoS 공격 보호
  • 기본 Shield는 모든 고객에게 자동 제공 (무료)
  • Advanced는 더 강력한 보호 + SLA + 실시간 대응 지원

AWS Organizations + SCP (Service Control Policies)

  • 여러 계정 관리를 위한 통합 서비스
  • SCP로 각 계정의 리소스 사용 제약 가능 (예: 특정 계정에서 S3만 허용)

CloudTrail / CloudWatch

  • CloudTrail: AWS 계정의 API 호출 로그 기록 (감사 및 추적용)
  • CloudWatch Logs: EC2, Lambda 등에서 애플리케이션 로그 모니터링 가능
  • 보안 사건 추적과 분석에 자주 사용됨

 

🔹 IAM 정책 및 최소 권한 원칙 (Least Privilege)

항목설명 활용 포인트
IAM User/Group사용자 단위 접근 제어최소 권한 원칙 구현 시 기본 단위
IAM Role리소스에 부여하는 임시 권한EC2, Lambda 등 AWS 서비스가 다른 서비스에 접근할 때 사용
IAM PolicyJSON 형식 권한 문서서비스, 리소스, 작업(Action) 단위로 세밀한 제어
SCP (Service Control Policy)조직 계정 전체에 제한AWS Organizations 사용 시 루트 계정까지 정책 적용 가능

🔹 암호화 관련 서비스 비교

항목 KMS S3 RDS EBS
암호화 방법CMK 기반 서버 측 암호화SSE-KMS, SSE-S3, SSE-C생성 시 암호화 적용 (AES-256)자동 암호화 가능
활용 방식직접 호출하거나 연동PUT 시 암호화 설정DB 자동 암호화 및 키 관리볼륨 단위 암호화
추천 설계표준 키 관리 및 감사중요 파일 저장 시 필수민감 DB, 로그 저장용로그, 루트 볼륨 등 민감한 볼륨 보호

🔹 네트워크 보안: Security Group vs NACL

항목 Security Group NACL (Network ACL)
작동 레벨인스턴스 단위서브넷 단위
상태상태 저장(Stateful)상태 비저장(Stateless)
방향성인바운드/아웃바운드 분리포트별로 허용/거부 설정 가능
추천 설계EC2 또는 RDS 접근 제어전체 서브넷의 공통 규칙 설정 시

🔹 로깅 및 감시: CloudTrail vs AWS Config

 

항목 AWS CloudTrail AWS Config
기능API 호출 추적 및 기록리소스 구성 변경 기록
범위계정/서비스/리전 전반특정 리소스 중심
활용보안 감시, 포렌식 분석컴플라이언스, 보안 정책 검사
예시“누가 S3 버킷 삭제했는가?”“EC2 인스턴스 유형 변경 여부 기록”

🔹 인증 및 접근 제어 서비스 요약

서비스 용도
MFA계정 보안 강화 (2차 인증)
STS임시 보안 자격 증명 발급
Cognito사용자 인증/로그인 및 소셜 인증 연동
Secrets ManagerDB 비밀번호, API 키 등 민감 정보 저장 및 주기적 교체

 

✅ 사례 1: 최소 권한 원칙 위반 방지

문제
한 개발자가 실수로 회사의 모든 S3 버킷에 대한 읽기 및 쓰기 권한을 가진 IAM 정책을 요청했다. 보안팀은 최소 권한 원칙을 따르기를 원한다. 어떻게 대응하는 것이 가장 적절한가?
정답: ✅ IAM 정책을 수정하여 특정 S3 리소스에만 제한
해설

  • IAM 정책은 리소스별로 권한을 세밀하게 제어 가능
  • 최소 권한 원칙(Least Privilege)은 AWS 보안의 핵심 원칙

추천 설계

  • Resource 항목에 특정 버킷 ARN만 명시
  • 필요 없는 s3:* 권한은 제거

✅ 사례 2: 암호화된 데이터 저장 요구

문제
보안 규정상 모든 데이터는 저장 시 암호화되어야 한다. S3, EBS, RDS에서 이 요구를 만족하려면 어떻게 해야 하는가?
정답: ✅ SSE-KMS for S3, Encryption at Rest for RDS/EBS
해설

  • S3는 SSE-KMS를 통해 KMS 키 기반 서버측 암호화 가능
  • RDS, EBS는 생성 시 암호화 옵션으로 AES-256 자동 암호화 가능

추천 설계

  • KMS 키를 정의해 CMK 기반 통일된 암호화 관리
  • CloudTrail로 키 사용 내역 로깅

✅ 사례 3: 웹 애플리케이션 보안 제어

문제
EC2 기반 웹 애플리케이션이 외부에서 공격받고 있다. 트래픽을 제한하려고 할 때, 가장 먼저 점검해야 할 것은?
정답: ✅ Security Group 설정
해설

  • Security Group은 인스턴스 단위 가상 방화벽
  • 상태 저장이므로 응답 트래픽은 자동 허용

추천 설계

  • 특정 IP만 80/443 포트 접근 허용
  • SSH(22번)는 사내 IP로 제한

✅ 사례 4: 감사 로그 수집

문제
감사팀이 "누가 S3 버킷을 삭제했는지" 확인하려고 한다. 어떤 서비스를 사용해야 할까?
정답: ✅ AWS CloudTrail
해설

  • CloudTrail은 AWS API 호출을 추적
  • S3 버킷 생성/삭제/조회 모두 로깅 가능

추천 설계

  • 로그를 S3에 저장 + CloudWatch와 연동
  • 특정 이벤트 발생 시 알림 전송 설정 (SNS 연동)

✅ 사례 5: 사용자 인증 통합

문제
모바일 앱에서 Google, Facebook 계정으로 로그인 기능을 제공하고 싶다. 어떤 서비스를 활용할 수 있을까?
정답: ✅ Amazon Cognito
해설

  • Cognito는 사용자 인증, 소셜 로그인, 사용자 풀 관리 지원
  • AWS 서비스 접근 권한 연동 가능

추천 설계

  • Cognito User Pool 생성 + Federation 연동
  • 앱에서 Cognito 토큰으로 인증 처리

 

'자격증 > aws' 카테고리의 다른 글

saa핵심요약(5)  (1) 2025.06.03
saa핵심요약(4)  (0) 2025.06.03
saa 핵심 요약(2)  (1) 2025.06.03
saa 핵심 요약(1)  (0) 2025.06.03
기타 서비스  (0) 2025.06.02

+ Recent posts