본문 바로가기
AWS/Cognito

Cognito란?

by drinkdog 2024. 12. 22.
반응형
- AWS Cognito는 아마존 웹 서비스(AWS)에서 제공하는 사용자 인증 및 권한 부여 서비스입니다.
- 웹 및 모바일 애플리케이션을 구축할 때 사용자 계정을 효과적으로 관리하고, 인증 및 권한 부여 프로세스를 간소화하는 데 도움이 됩니다.

1. 사용자 풀(User Pool)

 

  • 기능
    - 사용자 풀은 자체 사용자 디렉터리로서, 셀프 서비스 및 관리자 주도의 사용자 생성, 관리, 인증을 지원합니다.
    - 또한, SAML 2.0 및 OIDC ID 공급자와의 통합을 통해 조직의 워크포스 및 고객 ID에 대한 싱글 사인온(SSO)을 제공합니다.
  • 특징
    - 사용자 풀은 독립적인 디렉터리이자 OIDC ID 공급자로 기능하며, 타사 워크포스 및 고객 ID 공급자와의 중간 서비스 제공자 역할도 수행할 수 있습니다.

AWS 제공

2. 자격 증명 풀(Identity Pool)

  • 기능
    - 자격 증명 풀은 인증된 사용자나 익명 사용자에게 AWS 리소스에 대한 액세스를 허용하기 위해 임시 AWS 자격 증명을 발급합니다.
    - 신뢰할 수 있는 ID 공급자(예: 사용자 풀 또는 SAML 2.0 서비스)를 통해 사용자 인증을 수행하며, 게스트 사용자에 대한 자격 증명도 선택적으로 발급할 수 있습니다.
  • 특징
    - 역할 기반 및 속성 기반 액세스 제어를 통해 AWS 리소스에 대한 사용자의 권한을 관리합니다.

AWS 제공

 

3. 사용 사례 

  • 상황
    - 한 쇼핑몰에서 모바일 앱을 개발하고 있습니다.
    - 사용자는 앱을 통해 회원가입, 로그인, 구매를 진행하며, 각 사용자가 자신의 데이터(예: 장바구니, 주문 기록)에만 접근할 수 있어야 합니다.
  • AWS Cognito로 해결
    1. 사용자 풀(User Pool) 활용
      - 앱에서 회원가입 및 로그인 기능 제공
      - Facebook이나 Google 계정을 활용한 소셜 로그인 지원
      - MFA를 통해 계정 보안 강화

    2. 자격 증명 풀(Identity Pool) 활용
      - 인증된 사용자가 Amazon S3에 저장된 개인 데이터를 접근할 수 있도록 임시 AWS 자격 증명 제공
      - 예시: 사용자가 자신의 장바구니나 과거 구매 내역을 조회

기본적인 구조에 대해서 정리해봤고, 이후에는 실습을 하면서 공부를 할 예정입니다.

출처

https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html

반응형