TIL - 20260402

juni·6일 전

TIL

목록 보기
310/316

0402 AWS SAA 자격증 대비 (6/N): 보안, 자격 증명 및 규정 준수


✅ 1. IAM (Identity and Access Management) 심화

  • IAM은 AWS 리소스에 대한 접근을 안전하게 제어하는 서비스로, "누가(Who) 무엇을(What) 할 수 있는지"를 정의합니다.

➕ 시험에 자주 나오는 IAM 개념

개념역할 및 핵심 포인트
IAM 정책 (Policy)• 권한(Permission)을 정의한 JSON 문서.
자격 증명 기반 정책: 사용자, 그룹, 역할에 연결.
리소스 기반 정책: 리소스(S3 버킷 등) 자체에 연결.
IAM 역할 (Role)• EC2 인스턴스, Lambda 함수 등 AWS 서비스에게 임시 권한을 부여하는 가장 안전한 메커니즘.
시험 포인트: EC2에서 S3에 접근해야 할 때 가장 안전한 방법은? → IAM 역할을 사용한다. (액세스 키 하드코딩 X)
IAM 연동 (Federation)• 외부 자격 증명(온프레미스 Active Directory, 소셜 로그인 등)을 사용하여 AWS에 임시로 접근할 수 있도록 하는 기능.
SAML 2.0, OpenID Connect(OIDC)와 같은 표준을 사용.

✅ 2. AWS Organizations

  • Organizations는 여러 AWS 계정을 중앙에서 통합 관리하고 제어할 수 있는 서비스입니다.
  • 핵심 특징:
    • 통합 결제 (Consolidated Billing): 모든 계정의 비용을 마스터 계정에서 통합하여 결제하고, 볼륨 할인을 받을 수 있습니다.
    • 조직 단위 (OU - Organizational Unit): 계정들을 부서나 환경(개발, 운영)별로 그룹화하여 계층적으로 관리할 수 있습니다.
    • 서비스 제어 정책 (SCP - Service Control Policy): 가장 중요한 기능. 조직 전체 또는 특정 OU에 속한 계정들이 사용할 수 있는 AWS 서비스와 작업의 최대 권한을 제한하는 "가드레일" 역할을 합니다.
  • 시험 포인트:
    • "여러 부서의 AWS 계정을 중앙에서 관리하고 비용을 통합하고 싶다" → AWS Organizations
    • "개발자 계정에서는 특정 리전(Region)을 사용하지 못하도록 강제로 막고 싶다" → SCP를 사용한다. (SCP는 허용(Allow)은 하지 않고, 오직 거부(Deny)만으로 권한을 제한함)

✅ 3. AWS Cognito

  • Cognito는 웹 및 모바일 애플리케이션에 대한 인증, 인가 및 사용자 관리를 쉽고 안전하게 추가할 수 있는 서비스입니다.

➕ Cognito의 두 가지 주요 기능

  1. 사용자 풀 (User Pools):

    • 역할: 애플리케이션의 사용자 디렉터리 역할을 합니다.
    • 기능:
      • 가입 및 로그인: 이메일/비밀번호 기반의 가입 및 로그인 기능을 제공.
      • 소셜 로그인 연동: Facebook, Google, Apple 등 소셜 자격 증명 공급자와의 간편한 연동.
      • MFA (다중 인증) 지원.
    • 결과물: 로그인 성공 시, JWT(ID Token, Access Token, Refresh Token)를 발급.
  2. 자격 증명 풀 (Identity Pools):

    • 역할: 사용자에게 임시 AWS 자격 증명을 부여하여, AWS 서비스(S3, DynamoDB 등)에 직접 접근할 수 있는 권한을 제공합니다.
    • 기능: Cognito 사용자 풀, 소셜 로그인, SAML 등 다양한 자격 증명 공급자를 통해 인증된 사용자에게 IAM 역할을 매핑해줍니다.
  • 시험 포인트:
    • "모바일 앱에 자체적인 사용자 가입/로그인 기능과 소셜 로그인 기능을 빠르게 추가하고 싶다" → Cognito 사용자 풀
    • "로그인한 사용자가 자신의 S3 폴더에만 파일을 업로드하도록 권한을 부여하고 싶다" → Cognito 자격 증명 풀

✅ 4. 기타 주요 보안 서비스

서비스이름역할 및 핵심 포인트
비밀 관리AWS Secrets Manager• 데이터베이스 자격 증명, API 키 등 비밀(Secret)을 중앙에서 안전하게 저장하고 관리.
자동 순환(Rotation) 기능을 통해 주기적으로 비밀번호를 자동으로 변경하여 보안을 강화.
시험 포인트: "애플리케이션 코드에서 DB 비밀번호를 제거하고, 주기적으로 자동 교체하고 싶다" → Secrets Manager
키 관리AWS KMS (Key Management Service)• 데이터를 암호화하는 데 사용되는 암호화 키를 생성하고 제어하는 관리형 서비스.
• S3, EBS, RDS 등 다른 AWS 서비스와 통합되어 데이터 암호화를 간편하게 수행.
웹 방화벽AWS WAF (Web Application Firewall)웹 애플리케이션을 대상으로 하는 일반적인 공격(SQL 인젝션, XSS 등)으로부터 보호하는 7계층 방화벽.
• CloudFront, ALB 등과 연동하여 사용.
DDoS 방어AWS ShieldDDoS(분산 서비스 거부) 공격으로부터 애플리케이션을 보호하는 관리형 서비스.
Standard: 모든 AWS 고객에게 무료로 제공되는 기본 보호.
Advanced: 더 정교하고 대규모의 공격에 대한 고급 보호 기능 제공 (유료).

📌 오늘의 핵심 요약 (Solutions Architect 관점)

  • IAM은 AWS 보안의 근간이며, 특히 IAM 역할(Role)은 리소스에 대한 권한 부여의 모범 사례이다.
  • AWS OrganizationsSCP를 사용하면 여러 계정에 대한 중앙 거버넌스강제적인 보안 정책을 적용할 수 있다.
  • Cognito는 애플리케이션의 사용자 인증(User Pools)AWS 서비스 접근 권한 부여(Identity Pools)를 위한 서버리스 솔루션이다.
  • 코드에서 민감한 정보를 분리하기 위해, DB 자격 증명은 Secrets Manager에, 암호화 키는 KMS에 저장하고 관리하는 것이 안전한 아키텍처이다.
  • WAF애플리케이션 공격을, ShieldDDoS 공격을 방어하는 특화된 보안 서비스이다.

0개의 댓글