AWS Cognito 이해

AWS Cognito 이해

AWS에서 제공하는 Amazon Cognito를 이해해보자.


Amazon Cognito 개요

AWS에서의 Amazon Cognito에 대한 설명을 보면

Amazon Cognito웹 및 모바일 앱에 대한 인증, 권한 부여사용자 관리제공합니다.
사용자는 사용자 이름과 암호를 사용하여 직접 로그인하거나 Facebook, Amazon, Google 또는 Apple 같은 타사를 통해 로그인할 수 있습니다.

Amazon Cognito권한 부여, 사용자 관리 뿐만 아니라 내부, 외부에서 웹 및 모바일 앱에 액세스 할 수 있도록 해주는 서비스입니다.


Amazon Cognito 구성 요소

Amazon Cognito두 가지 주요 구성 요소사용자 풀자격 증명 풀입니다.

사용자 풀은 앱 사용자의 가입 및 로그인 옵션을 제공하는 사용자 디렉터리입니다.
자격 증명 풀은 사용자에게 기타 AWS 서비스에 액세스할 수 있는 권한을 부여합니다.

이 둘은 별도로 또는 함께 사용할 수 있습니다.
함께 사용할 경우 아래 시나리오 다이어그램을 따릅니다.

Scenario_Diagram

시나리오의 목표사용자 인증 이후 다른 AWS 서비스에 대한 사용자 액세스 권한을 부여하는 것입니다.

  1. 첫 번째 단계에서 앱 사용자는 사용자 풀을 통해 로그인하여 인증 성공 이후 풀 토큰을 받습니다.
  2. 다음으로 앱은 자격 증명 풀을 통해 사용자 풀 토큰을 AWS 자격 증명으로 교환합니다.
  3. 마지막으로 앱 사용자는 AWS 자격 증명을 사용하여 Amazon S3, Dynamo DB 등 다른 AWS 서비스에 액세스할 수 있습니다.

Amazon Cognito 기능

1. 사용자 풀

사용자 풀은 Amazon Cognito의 사용자 디렉터리입니다.
사용자 풀에서 사용자는 Amazon Cognito를 통해, 또는 서드 파티 자격 증명 공급자(IdP)를 통해 페더레이션(Federation)하여 웹 또는 모바일 앱에 로그인할 수 있습니다.
사용자가 직접 또는 타사를 통해 로그인하는지 여부와 무관하게 사용자 풀의 모든 멤버는 디렉터리 프로필을 보유하며, SDK(sw개발킷)를 통해 액세스할 수 있습니다.

아래는 사용자 풀 제공 사항입니다.

  • 가입 및 로그인 서비스

  • 사용자 로그인을 위한 내장 사용자 지정 웹 UI

  • Facebook, Google, Login with Amazon 및 Sign in with Apple을 통한 소셜 로그인사용자 풀의 SAMLOIDC 자격 증명 공급자를 통한 로그인

  • 사용자 디렉터리 관리사용자 프로필

  • 멀티 팩터 인증(MFA), 이상 있는 자격 증명 확인, 계정 탈취 보호, 전화 및 이메일 확인과 같은 보안 기능

  • AWS Lanbda 트리거를 통한 사용자 지정 워크플로우사용자 마이그레이션

2. 자격 증명 풀

자격 증명 풀로 사용자는 임시 AWS 자격 증명을 얻어 Amazon S3, DynamoDB 등의 다른 AWS 서비스에 액세스할 수 있습니다. 자격 증명 풀익명 게스트 사용자는 물론 자격 증명에 대한 사용자 인증에 사용할 수 있는 다음 자격 증명 공급자를 지원합니다.

  • Amazon Cognito user pools

  • Facebook, Google, Login with AmazonSign in with Apple을 통한 소셜 로그인

  • OpenID Connect(OIDC) 공급자

  • SAML 자격 증명 공급자

  • 개발자 인증 자격 증명

사용자 프로필 정보를 저장하려면 자격 증명 풀이 사용자 풀에 통합되어야 합니다.



© 2022. All rights reserved. 신동민의 블로그