Amazon Cognito란?
Amazon Cognito
는 웹 및 모바일 앱에 대한 인증, 권한 부여 및 사용자 관리를 제공한다. 사용자는 사용자 이름과 암호를 사용하여 직접 로그인 하거나 Facebook
, Amazon
, Google
또는 Apple
같은 타사를 통해 로그인 할 수 있다.Amazon Cognito
의 2가지 주요 구성 요소는 사용자 풀
과 자격 증명 풀
이다.사용자 풀
: 앱 사용자의 가입 및 로그인 옵션을 제공하는 사용자 디렉터리자격 증명 풀
: 자격증명 풀을 통해 사용자에게 기타 AWS
서비스에 엑세스 할 수 있는 권한을 부여할 수 있다.Amazon Cognito 사용자 풀 및 자격 증명 풀을 함께 사용
위의 일반적인 시나리오 다이어그램을 보자.
목표는 사용자 인증 이후 다른 AWS 서비스에 대한 사용자 엑세스 권한을 부여하는 것이다.
1. 첫 번째 단계에서 앱 사용자는 사용자 풀을 통해 로그인 하여 인증 성공 이후 사용자 풀 토큰을 받습니다.
2. 다음으로 앱은 자격 증명 풀을 통해 사용자 풀 토큰을 AWS 자격 증명으로 교환한다.
3. 마지막으로 앱 사용자는 AWS 자격 증명을 사용하여 Amazon S3
, DynamoDB
등 다른 AWS
서비스에 엑세스 할 수 있다.
사용자 풀
Amazon Cognito
의 사용자 디렉터리이다. 사용자 풀에서 사용자는 Amazon Cognito
를 통해, 또는 서드 파티 자격 증명 공급자(IdP)를 통해 페더레이션 하여 웹 또는 모바일 앱에 로그인할 수 있다. 사용자가 직접 또는 타사를 통해 로그인하는지 여부와 무관하게 사용자 풀의 모든 멤버는 디렉터리 프로필을 보유하며, SDK
를 통해 엑세스 할 수 있다.사용자 풀 제공 사항:
SAML
및 OIDC
자격 증명 공급자를 통한 로그인AWS Lambda
트리거를 통한 사용자 지정 워크플로우 및 사용자 마이그레이션자격 증명 풀
AWS
자격 증명을 얻어 Amazon S3
,DynamoDB
등의 다른 AWS 서비스에 엑세스 할 수 있다. 자격증명 풀은 익명 게스트 사용자는 물론 자격 증명에 대한 사용자 인증에 사용할 수 있는 다음 자격 증명 공급자를 지원한다.