일반적인 Amazon Cognito 시나리오 - Amazon Cognito

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

일반적인 Amazon Cognito 시나리오

이 주제에서는 Amazon Cognito 사용에 대한 6가지 일반적인 시나리오를 설명합니다.

Amazon Cognito의 두 가지 주요 구성 요소는 사용자 풀과 자격 증명 풀입니다. 사용자 풀은 웹과 모바일 앱 사용자의 가입 및 로그인 옵션을 제공하는 사용자 디렉터리입니다. 자격 증명 풀은 AWS 자격 증명을 제공하여 기타 AWS 서비스에 대한 사용자 액세스 권한을 부여합니다.

사용자 풀은 Amazon Cognito의 사용자 디렉터리입니다. 앱 사용자는 사용자 풀을 통해 직접 로그인하거나 타사 자격 증명 공급자(IdP)를 통해 연동 로그인할 수 있습니다. 사용자 풀에서는 Facebook, Google 및 Apple, 그리고 Amazon을 통한 소셜 로그인에서 반환된 토큰과 OpenID Connect(OIDC) 및 SAML IdP에서 반환된 토큰의 처리 작업을 관리합니다. 사용자가 직접 또는 타사를 통해 로그인하는지 여부와 무관하게 사용자 풀의 모든 멤버는 디렉터리 프로필을 보유하며, SDK를 통해 이를 액세스할 수 있습니다.

자격 증명 풀로 사용자는 임시 AWS 자격 증명을 얻어 Amazon S3 및 DynamoDB 같은 다른 AWS 서비스에 액세스할 수 있습니다. 자격 증명 풀은 익명의 게스트 사용자를 비롯해 타사 IdP를 통한 연동을 지원합니다.

사용자 풀을 통한 인증

사용자가 사용자 풀을 사용하여 인증하도록 할 수 있습니다. 앱 사용자는 사용자 풀을 통해 직접 로그인하거나 타사 자격 증명 공급자(IdP)를 통해 연동 로그인할 수 있습니다. 사용자 풀에서는 Facebook, Google 및 Apple, 그리고 Amazon을 통한 소셜 로그인에서 반환된 토큰과 OpenID Connect(OIDC) 및 SAML IdP에서 반환된 토큰의 처리 작업을 관리합니다.

성공적인 인증 이후 웹 또는 모바일 앱은 Amazon Cognito로부터 사용자 풀 토큰을 받습니다. 이 토큰을 사용하여 앱이 기타 AWS 서비스에 액세스할 수 있도록 하는 AWS 자격 증명을 가져올 수 있습니다. 또는 이를 사용하여 서버 측 리소스 또는 Amazon API Gateway에 대한 액세스를 제어할 수 있습니다.

자세한 내용은 사용자 풀 인증 흐름사용자 풀을 통해 토큰 사용 단원을 참조하십시오.


        인증 개요

사용자 풀을 통해 서버 측 리소스 액세스

성공적인 사용자 풀 로그인 이후에 웹 또는 모바일 앱은 Amazon Cognito로부터 사용자 풀 토큰을 받습니다. 이 토큰을 사용하여 서버 측 리소스에 대한 액세스를 제어할 수 있습니다. 사용자 풀 그룹을 생성하여 권한을 관리하고 다른 유형의 사용자를 표시할 수도 있습니다. 그룹을 사용하여 리소스 액세스를 제어하는 방법은 사용자 풀에 그룹 추가 단원을 참조하십시오.


        사용자 풀을 통해 서버 측 리소스 액세스

사용자 풀에 대한 도메인이 구성되면 Amazon Cognito는 호스팅된 웹 UI를 프로비저닝하기 때문에 앱에 가입 및 로그인 페이지를 추가할 수 있습니다. 이러한 OAuth 2.0 파운데이션을 사용하여 사용자가 보호가 되는 리소스에 액세스하도록 자체 리소스 서버를 생성할 수 있습니다. 자세한 내용은 사용자 풀의 리소스 서버 정의 단원을 참조하십시오.

사용자 풀 인증에 대한 자세한 내용은 사용자 풀 인증 흐름사용자 풀을 통해 토큰 사용 단원을 참조하십시오.

사용자 풀을 통해 API 게이트웨이 및 Lambda에서 리소스 액세스

사용자가 API 게이트웨이를 통해 API에 액세스하도록 할 수 있습니다. API 게이트웨이는 성공적인 사용자 풀 인증 이후 토큰을 확인하고, 이를 사용하여 Lambda 함수를 포함한 리소스 또는 고유 API에 대한 사용자 액세스 권한을 부여합니다.

사용자 풀에 있는 그룹을 사용하여 IAM 역할로 그룹 멤버십을 매핑함으로써 API 게이트웨이를 통한 권한을 제어할 수 있습니다. 사용자가 속한 그룹은 앱 사용자가 로그인할 때 사용자 풀에서 제공한 ID 토큰에 포함됩니다. 사용자 풀 그룹에 대한 자세한 내용은 사용자 풀에 그룹 추가 단원을 참조하십시오.

Amazon Cognito 권한 부여자 Lambda 함수에 의한 확인에 대한 API 게이트웨이로의 요청을 포함하여 사용자 풀 토큰을 제출할 수 있습니다. API 게이트웨이에 대한 자세한 내용은 Amazon Cognito 사용자 풀에서API 게이트웨이 사용을 참조하십시오.


        사용자 풀을 통한 API 게이트웨이 액세스

사용자 풀 및 자격 증명 풀을 사용하여 AWS 서비스에 액세스

성공적인 사용자 풀 인증 이후에 웹 또는 모바일 앱은 Amazon Cognito로부터 사용자 풀 토큰을 받습니다. 사용자는 자격 증명 풀을 사용하여 다른 AWS 서비스에 임시 액세스하도록 이 토큰을 교환할 수 있습니다. 자세한 내용은 로그인 후 자격 증명 풀을 사용하여 AWS 서비스 액세스Amazon Cognito 자격 증명 시작하기(연동 자격 증명) 단원을 참조하십시오.


        자격 증명 풀을 포함한 사용자 풀을 사용하여 AWS 자격 증명 액세스

타사를 통한 인증 및 자격 증명 풀을 통한 AWS 서비스 액세스

사용자가 자격 증명 풀을 통해 AWS 서비스에 액세스하도록 할 수 있습니다. 자격 증명 풀에는 타사 자격 증명 공급자에 의해 인증된 사용자의 IdP 토큰이 필요합니다(또는 익명 게스트인 경우에는 아무 것도 필요하지 않음). 그 대신 자격 증명 풀은 일시 AWS 자격 증명을 부여하고, 이를 사용하여 기타 AWS 서비스에 액세스할 수 있습니다. 자세한 내용은 Amazon Cognito 자격 증명 시작하기(연동 자격 증명) 단원을 참조하십시오.


        자격 증명 풀을 포함한 타사 자격 증명 공급자를 사용하여 AWS 자격 증명 액세스

Amazon Cognito를 사용한 AWS AppSync 리소스 액세스

사용자 풀 또는 자격 증명 풀에서 성공적인 Amazon Cognito 인증 이후에 토큰을 사용하여 사용자에게 AWS AppSync 리소스에 대한 액세스 권한을 부여할 수 있습니다. 자세한 내용은 사용자 풀 또는 연동 자격 증명을 사용하여 AWS AppSync 및 데이터 원본 액세스 단원을 참조하십시오.


        사용자 풀 또는 자격 증명 풀을 사용하여 AWS AppSync 리소스 액세스