콘텐츠로 이동

👤 Amazon Cognito 정리

1️⃣ Amazon Cognito란?

Amazon Cognito는 AWS에서 제공하는 인증(Authentication) & 권한 관리(Authorization) 서비스입니다.
웹/모바일 애플리케이션에 로그인 기능을 쉽게 구현할 수 있도록 도와줍니다.

👉 쉽게 말해,
“앱에 로그인·회원가입·소셜 로그인 기능을 빠르게 붙여주는 서비스” 입니다.


2️⃣ 주요 기능

  • 🔑 사용자 풀(User Pools)

    • 사용자 계정을 관리 (회원가입, 로그인, MFA, 비밀번호 정책 등)
  • 🛡️ 연합 인증(Federated Identity)

    • Google, Facebook, Apple, Amazon 같은 소셜 로그인 지원

    • SAML, OpenID Connect(OIDC) 연동 가능

  • 🎟️ 임시 AWS 자격 증명 발급

    • 로그인한 사용자에게 S3, DynamoDB 등 AWS 리소스 접근 권한 부여 가능
  • 📱 멀티 플랫폼 지원

    • iOS, Android, Web SDK 제공 → 앱에 바로 적용 가능

3️⃣ 아키텍처 시각화

flowchart TD
    User["User (Mobile/Web)"] --> Cognito["Amazon Cognito User Pool"]
    Cognito -->|Authentication Success| Token["JWT Token Issued"]

    User -->|Login Request| Cognito
    Token --> App["Application (Frontend)"]
    App --> APIGW["Amazon API Gateway"]
    APIGW --> Authorizer["Cognito Authorizer (Validate Token)"]
    Authorizer --> Lambda["AWS Lambda"]
    Lambda --> Resource["AWS Resources (S3, DynamoDB, etc.)"]

    User --> SocialLogin["Social Login (Google/Facebook/Apple)"]
    SocialLogin --> Cognito
image


4️⃣ 특징

  • 회원 관리 기능 내장 (회원가입, 로그인, 비밀번호 재설정)

  • 소셜 로그인 및 기업용 IdP와 통합 가능

  • MFA(다중 인증), 비밀번호 정책 지원

  • 보안 토큰 기반 인증 (JWT, OAuth 2.0, SAML)

  • 서버리스 아키텍처와 쉽게 연동


5️⃣ 현업 활용 사례

  • 📱 모바일 앱 로그인 → 소셜 로그인 + 자체 회원 가입 혼합 사용

  • 🛒 이커머스 웹사이트 → Cognito User Pool로 고객 계정 관리

  • 🏢 기업 내부 시스템 → SAML 기반 사내 IdP와 통합해 사원 인증

  • ☁️ 서버리스 백엔드 → API Gateway + Lambda와 연동하여 인증 처리


✅ 정리

  • Amazon Cognito = AWS의 인증·인가 서비스

  • 사용자 풀(User Pools) + 연합 인증(Federated Identity)

  • AWS 리소스 접근용 임시 자격 증명 발급 가능

  • 현업에서는 앱 로그인, 소셜 로그인, 기업 인증 통합에 활용

👉 한마디로, “AWS 기반 앱의 로그인 담당 서비스” 입니다.