본문 바로가기
Amazon Web Serivce 자격증 쉽게 공부하기/AWS Solutions Architect Associate 핵심

SAA-C03 핵심 #32, Cognito

by 네트워크 엔지니어 환영 2024. 1. 22.
반응형

Cognito

  • 웹 그리고 모바일 앱에 대한 사용자 인증, 액세스 권한 부여, 사용자 관리를 제공하는 서비스
    • 앱 로그인, 유저 권한 제공 등
  • SAML 또는 OpenID COnnet를 지원하는 외부 자격 증명 공급자, 소셜 자격 증명 공급자(Facebook, Twitter, Amazon) 등과 연동 가능
  • 개발자가 손쉽게 앱에 사용자 관리와 사용자의 디바이스 간 데이터 동기화 기능을 제공할 수 있음
  • User Pool과 Identity Pool로 나뉨
  • AWS 리소스에 대한 액세스를 제공할 수 있는 임시 보안 자격 증명을 생성하여 신뢰할 수 있는 사용자에 제공

 

User Pool(사용자 풀)

  • Cognito의 사용자 정보 저장소(디렉토리)
  • User Pool이 있으면 사용자는 Cognito를 통해 웹 혹은 앱에 로그인 가능
  • Cognito의 User Pool로 사용자를 생성하고 로그인을 허용할 수 있으며, 소셜 자격 증명(Google, Facebook, Amazon) 혹은 SAML 자격 증명 공급자를 통해서도 로그인 가능
  • 사용자 인증 후, Cognito는 JSON 웹 토큰(JWT)를 발행하며 이를 사용하여 API에 대한 액세스, 자격 증명을 수행하거나 AWS 자격 증명으로 교환 가능

 

Identity Pool(자격 증명 풀)

  • 사용자 혹은 게스트에게 AWS 서비스에 액세스할 수 있는 임시 자격 증명 제공
  • 사용자가 익명이든 로그인 상태든 S3 Bucket 또는 Dynamo DB 테이블과 같은 AWS 리소스에 대한 액세스 권한을 부여할 수 있음
  • User Pool의 사용자를 비롯하여 외부 자격 증명 공급자, 소셜 자격 증명 공급자(Facebook, Twitter, Amazon) 등과 연동하여 임시 자격 증명 제공 가능
  • AWS IAM를 통해 사용자의 권한을 제어할 수 있음
  • 인증되지 않은 사용자(Guest)에게도 권한 부여가 가능하며 IAM을 통해 권한 범위를 정할 수 있음
  • 자격 증명 풀이 자격 증명을 위해 생성하는 토큰은 AWS Security Token Service(AWS STS)에서 확인 가능

 

User Pool vs Identity Pool

  • User Pool은 인증(자격 증명 확인)을 위한 서비스이지만, Identity Pool은 권한 부여(액세스 제어)를 위한 서비스
반응형

댓글