기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon Cognito 자격 증명 풀 AWS 서비스 을 사용하여 ASP.NET Core 앱에서 액세스
제작: Bibhuti Sahu(AWS)와 Marcelo Barbosa(AWS)
요약
이 패턴은 Amazon Cognito 사용자 풀 및 자격 증명 풀을 구성한 다음 인증 성공 후 ASP.NET Core 앱이 AWS 리소스에 액세스할 수 있도록 하는 방법을 설명합니다.
Amazon Cognito는 웹 및 모바일 애플리케이션에 대한 인증, 권한 부여 및 사용자 관리를 제공합니다. Amazon Cognito의 두 가지 주요 구성 요소는 사용자 풀과 자격 증명 풀입니다.
사용자 풀은 Amazon Cognito의 사용자 디렉터리입니다. 사용자 풀이 있으면 사용자는 Amazon Cognito를 통해 웹 또는 모바일 앱에 로그인할 수 있습니다. 또한 사용자는 Google, Facebook, Amazon 또는 Apple과 같은 소셜 자격 증명 공급자를 통해서 그리고 SAML 자격 증명 공급자를 통해 로그인할 수 있습니다.
Amazon Cognito 자격 증명 풀(페더레이션 자격 증명)을 사용하여 사용자의 고유한 자격 증명을 만들고 자격 증명 공급자와 페더레이션할 수 있습니다. 자격 증명 풀을 사용하면 다른에 액세스할 수 있는 제한된 권한의 임시 AWS 자격 증명을 얻을 수 있습니다 AWS 서비스. 새 Amazon Cognito 자격 증명 풀 사용을 시작하려면 먼저 하나 이상의 AWS Identity and Access Management (IAM) 역할을 할당하여 애플리케이션 사용자가 AWS 리소스에 대해 보유할 액세스 수준을 결정해야 합니다. 자격 증명 풀에서는 인증 및 미인증의 두 가지 자격 증명 유형을 정의합니다. IAM에서 각 ID 유형에 고유한 역할을 할당할 수 있습니다. 인증 자격 증명은 퍼블릭 로그인 공급자(Amazon Cognito 사용자 풀, Facebook, Google, SAML 또는 OpenID Connect 공급자) 또는 개발자 공급자(자체 백엔드 인증 프로세스)에 속하지만, 인증되지 않은 ID는 일반적으로 게스트 사용자에게 속합니다. Amazon Cognito가 사용자 요청을 받으면 서비스는 요청의 인증 여부와 해당 인증 유형과 연결된 역할을 확인한 다음, 해당 역할에 연결된 정책을 사용하여 요청에 응답합니다.
사전 조건 및 제한 사항
사전 조건
Amazon Cognito 및 IAM 권한이 AWS 계정 있는
사용하려는 AWS 리소스에 대한 액세스
ASP.NET Core 2.0.0 이상
아키텍처
기술 스택
Amazon Cognito
ASP.NET Core
대상 아키텍처

도구
도구, SDKs 및 AWS 서비스
Visual Studio 또는 Visual Studio Code
Amazon.AspNetCore.Identity.Cognito (1.0.4)
– NuGet 패키지 AWSSDK.S3 (3.3.110.32)
– NuGet 패키지
코드
첨부된 .zip 파일에는 다음을 설명하는 샘플 파일이 포함되어 있습니다.
로그인한 사용자의 액세스 토큰을 검색하는 방법
액세스 토큰을 AWS 자격 증명으로 교환하는 방법
AWS 자격 증명을 사용하여 Amazon Simple Storage Service(Amazon S3) 서비스에 액세스하는 방법
인증된 자격 증명에 대한 IAM 역할
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"mobileanalytics:PutEvents",
"cognito-sync:*",
"cognito-identity:*",
"s3:ListAllMyBuckets*"
],
"Resource": [
"*"
]
}
]
}
에픽
작업 | 설명 | 필요한 기술 |
---|---|---|
사용자 풀을 생성합니다. |
| 개발자 |
앱 클라이언트를 추가합니다. | 앱을 생성하여 사용자 가입 및 로그인에 대해 내장 웹 페이지를 사용할 수 있습니다.
| 개발자 |
작업 | 설명 | 필요한 기술 |
---|---|---|
자격 증명 풀을 생성합니다. |
| 개발자 |
자격 증명 풀에 대한 IAM 역할을 할당합니다. | 인증된 사용자 및 인증되지 않은 사용자의 IAM 역할을 편집하거나 기본값을 유지하고 허용을 선택할 수 있습니다. 이 패턴의 경우 인증된 IAM 역할을 편집하고 | 개발자 |
자격 증명 풀 ID를 복사합니다. | 이전 단계에서 허용을 선택하면 Amazon Cognito 시작하기 페이지가 표시됩니다. 이 페이지에서 AWS 보안 인증 정보 가져오기 섹션에서 자격 증명 풀 ID를 복사하거나 오른쪽 상단에서 자격 증명 풀 편집을 선택하고 표시된 화면에서 자격 증명 풀 ID를 복사할 수 있습니다. | 개발자 |
작업 | 설명 | 필요한 기술 |
---|---|---|
샘플 ASP.NET Core 웹 앱을 복제합니다. |
| 개발자 |
종속성을 추가합니다. | ASP.NET Core 애플리케이션에 | 개발자 |
구성 키와 값을에 추가합니다 |
| 개발자 |
새 사용자를 생성하고 로그인합니다. | Amazon Cognito 사용자 풀에 새 사용자를 생성하고 해당 사용자가 사용자 풀의 사용자 및 그룹에 있는지 확인합니다. | 개발자 |
라는 새 Razor 페이지를 생성합니다 | 샘플 앱에 새 ASP.NET Core Razor Page를 추가하고 첨부된 샘플의 | 개발자 |
문제 해결
문제 | Solution |
---|---|
GitHub 리포지토리에서 샘플 애플리케이션을 연 후 Samples 프로젝트에 NuGet 패키지를 추가하려고 하면 오류가 발생합니다. |
|
관련 리소스
첨부
이 문서와 관련된 추가 콘텐츠에 액세스하려면 attachment.zip 파일의 압축을 풉니다.