

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon Cognito란 무엇입니까?
<a name="what-is-amazon-cognito"></a>

Amazon Cognito는 웹 및 모바일 앱을 위한 자격 증명 플랫폼입니다. Amazon Cognito는 OAuth 2.0 액세스 토큰 및  AWS  보안 인증을 위한 사용자 디렉터리, 인증 서버, 인증 서비스입니다. Amazon Cognito를 사용하면 기본 제공 사용자 디렉터리, 엔터프라이즈 디렉터리, Google 및 Facebook 같은 소비자 ID 제공업체의 사용자를 인증하고 권한을 부여할 수 있습니다.

**Topics**
+ [사용자 풀](#what-is-amazon-cognito-user-pools)
+ [ID 풀](#what-is-amazon-cognito-identity-pools)
+ [Amazon Cognito의 기능](#what-is-amazon-cognito-features)
+ [Amazon Cognito 사용자 풀과 자격 증명 풀 비교](#what-is-amazon-cognito-features-comparison)
+ [Amazon Cognito 시작하기](#getting-started-overview)
+ [리전별 가용성](#getting-started-regional-availability)
+ [Amazon Cognito 요금](#pricing-for-amazon-cognito)
+ [일반적인 Amazon Cognito 용어 및 개념](cognito-terms.md)
+ [시작하기 AWS](cognito-getting-started-account-iam.md)

다음 두 가지 구성 요소가 Amazon Cognito를 구성합니다. 이들은 사용자의 액세스 요구 사항에 따라 독립적으로 또는 함께 작동합니다.

## 사용자 풀
<a name="what-is-amazon-cognito-user-pools"></a>

![\[Amazon Cognito user pool authentication flow with app, identity provider, and API/Database.\]](http://docs.aws.amazon.com/ko_kr/cognito/latest/developerguide/images/user-pools-overview.png)


앱 또는 API에 사용자를 인증하고 권한을 부여하려는 경우 사용자 풀을 생성하세요. 사용자 풀은 셀프 서비스 및 관리자 기반 사용자 생성, 관리, 인증을 모두 갖춘 사용자 디렉터리입니다. 사용자 풀은 독립 디렉터리 및 OIDC ID 제공업체(idP)일 수 있고, 직원 및 고객 자격 증명 서드 파티 공급자에 대한 중간 서비스 공급자(SP)일 수 있습니다. 사용자 풀을 갖춘 SAML 2.0 및 OIDC IdP에 있는 조직의 직원 ID에 대한 Single Sign-On(SSO)을 앱에 제공할 수 있습니다. 퍼블릭 OAuth 2.0 ID 스토어인 Amazon, Google, Apple, Facebook의 조직 고객 ID를 위한 SSO를 앱에 제공할 수도 있습니다. 고객 ID 및 액세스 관리(CIAM)에 대한 자세한 내용은 [CIAM이란 무엇인가요?](https://aws.amazon.com/what-is/ciam/) 섹션을 참조하십시오.

사용자 풀은 자격 증명 풀과의 통합이 필요하지 않습니다. 사용자 풀에서 인증된 JSON 웹 토큰(JWT)을 앱, 웹 서버 또는 API에 직접 발급할 수 있습니다.

## ID 풀
<a name="what-is-amazon-cognito-identity-pools"></a>

![\[Diagram showing Amazon Cognito federated identities flow between app, identity pool, provider, and STS.\]](http://docs.aws.amazon.com/ko_kr/cognito/latest/developerguide/images/identity-pools-overview.png)


인증된 사용자 또는 익명 사용자가 AWS 리소스에 액세스할 수 있도록 권한을 부여하려면 Amazon Cognito 자격 증명 풀을 설정합니다. 자격 증명 풀은 앱이 사용자에게 리소스를 제공할 수 있도록 AWS 자격 증명을 발급합니다. 사용자 풀 또는 SAML 2.0 서비스 같은 신뢰할 수 있는 ID 제공업체를 사용하여 사용자를 인증할 수 있습니다. 필요한 경우 게스트 사용자의 보안 인증도 발급할 수 있습니다. 자격 증명 풀은 역할 기반 액세스 제어와 속성 기반 액세스 제어를 모두 사용하여 AWS 리소스에 대한 사용자의 액세스 권한을 관리합니다.

자격 증명 풀은 사용자 풀과의 통합이 필요하지 않습니다. 자격 증명 풀은 직원 ID 제공업체와 소비자 ID 제공업체 모두로부터 인증된 클레임을 직접 수락할 수 있습니다.

**Amazon Cognito 사용자 풀과 자격 증명 풀을 함께 사용**

이 주제를 시작하는 다이어그램에서는 Amazon Cognito를 사용하여 사용자를 인증한 다음 사용자에게  AWS 서비스 액세스 권한을 부여합니다.

1. 앱 사용자는 사용자 풀을 통해 로그인하고 OAuth 2.0 토큰을 받습니다.

1. 앱은 사용자 풀 토큰을 자격 증명 풀과 교환하여 AWS APIs 및 AWS Command Line Interface ()와 함께 사용할 수 있는 임시 AWS 자격 증명을 찾습니다AWS CLI.

1. 앱은 사용자에게 자격 증명 세션을 할당하고 Amazon S3 및 Amazon DynamoDB와 AWS 서비스 같은에 대한 권한 있는 액세스를 제공합니다.

자격 증명 풀과 사용자 풀을 사용하는 더 많은 예제는 [일반적인 Amazon Cognito 시나리오](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-scenarios.html)를 참조하세요.

Amazon Cognito에서 [공동 책임 모델](https://aws.amazon.com/compliance/shared-responsibility-model/)의 *클라우드 자체 보안* 의무는 SOC 1-3, PCI DSS, ISO 27001을 준수하며, HIPA-BAA 적격입니다. Amazon Cognito에서 *클라우드 내 보안*이 SOC1-3, ISO 27001, HIPAA-BAA를 준수하도록 설계할 수 있습니다. 단, PCI DSS는 준수하지 않습니다. 자세한 내용은 [범위 내AWS 서비스](https://aws.amazon.com/compliance/services-in-scope/)를 참조하세요. [리전 데이터 고려 사항](https://docs.aws.amazon.com/cognito/latest/developerguide/security-cognito-regional-data-considerations.html)도 참조하세요.

## Amazon Cognito의 기능
<a name="what-is-amazon-cognito-features"></a>

### 사용자 풀
<a name="what-is-amazon-cognito-features-user-pools"></a>

Amazon Cognito 사용자 풀은 사용자 디렉터리입니다. 사용자 풀을 사용하면 사용자는 Amazon Cognito를 통해, 또는 서드 파티 IdP를 통해 페더레이션하여 웹 또는 모바일 앱에 로그인할 수 있습니다. 사용자 풀에는 페더레이션 사용자와 로컬 사용자의 사용자 프로필이 있습니다.

로컬 사용자는 가입했거나 사용자 풀에서 직접 생성한 사용자입니다. AWS Management Console, AWS SDK 또는 AWS Command Line Interface ()에서 이러한 사용자 프로필을 관리하고 사용자 지정할 수 있습니다AWS CLI.

Amazon Cognito 사용자 풀은 서드 파티 IdP로부터 토큰과 어설션을 수락하고, 앱에 발급하는 JWT에 사용자 속성을 수집합니다. Amazon Cognito가 IdP와의 상호 작용을 처리하여 해당 클레임을 중앙 토큰 형식에 매핑하는 동안 하나의 JWT 세트에서 앱을 표준화할 수 있습니다.

Amazon Cognito 사용자 풀은 독립 실행형 IdP일 수 있습니다. Amazon Cognito는 OpenID Connect(OIDC) 표준을 기반으로 인증 및 권한 부여를 위한 JWT를 생성합니다. 로컬 사용자를 로그인하면 해당 사용자는 사용자 풀을 신뢰할 수 있습니다. 로컬 사용자를 인증할 때 다음 기능에 액세스할 수 있습니다.
+ Amazon Cognito 사용자 풀 API를 호출하여 사용자를 인증, 권한 부여, 관리하는 자체 웹 프런트엔드를 구현합니다.
+ 사용자 다중 인증(MFA)을 설정합니다. Amazon Cognito는 시간 기반 일회용 암호(TOTP) 및 SMS 메시지 MFA를 지원합니다.
+ 악의적으로 제어되는 사용자 계정의 액세스로부터 보호합니다.
+ 자체 사용자 지정 다단계 인증 흐름을 생성합니다.
+ 다른 디렉터리에서 사용자를 찾아 Amazon Cognito로 마이그레이션합니다.

또한 Amazon Cognito 사용자 풀은 IdP에 대한 서비스 공급자(SP)이자 앱에 대한 IdP로서 이중의 역할을 수행할 수 있습니다. Amazon Cognito 사용자 풀은 Facebook과 Google 같은 소비자 IdP나 Okta와 Active Directory Federation Services(ADFS) 같은 직원 IdP에 연결할 수 있습니다.

Amazon Cognito 사용자 풀이 발급하는 OAuth 2.0 및 OpenID Connect(OIDC) 토큰을 사용하면 다음과 같은 작업을 수행할 수 있습니다.
+ 사용자를 인증하고 사용자 프로필을 설정하는 데 필요한 정보를 제공하는 ID 토큰을 앱에서 수락합니다.
+ 사용자의 API 호출을 승인하는 OIDC 범위를 사용하여 API에서 액세스 토큰을 수락합니다.
+ Amazon Cognito 자격 증명 풀에서 AWS 자격 증명을 검색합니다.


| 
| 
| 기능 | 설명 | 
| --- |--- |
| OIDC identity provider | Issue ID tokens to authenticate users | 
| Authorization server | Issue access tokens to authorize user access to APIs | 
| SAML 2.0 service provider | Transform SAML assertions into ID and access tokens | 
| OIDC relying party | Transform OIDC tokens into ID and access tokens | 
| Social provider relying party | Transform ID tokens from Apple, Facebook, Amazon, or Google to your own ID and access tokens | 
| Authentication frontend service | Sign up, manage, and authenticate users with managed login | 
| API support for your own UI | Create, manage and authenticate users through authentication API requests in supported AWS SDKs¹ | 
| Multi-factor authentication | Use SMS messages, TOTPs, or your user's device as an additional authentication factor¹ | 
| Security monitoring & response | Secure against malicious activity and insecure passwords¹ | 
| Customize authentication flows | Build your own authentication mechanism, or add custom steps to existing flows² | 
| Groups | Create logical groupings of users, and a hierarchy of IAM role claims when you pass tokens to identity pools | 
| Customize tokens | Customize your ID and access tokens with new, modified, and suppressed claims | 
| Customize user attributes | Assign values to user attributes and add your own custom attributes | 

¹ 페더레이션 사용자는 기능을 사용할 수 없습니다.

² 페더레이션 및 관리형 로그인 사용자는 기능을 사용할 수 없습니다.

사용자 풀에 대한 자세한 내용은 [사용자 풀 시작하기](getting-started-user-pools.md) 및 [Amazon Cognito 사용자 풀 API 참조](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/)를 참조하세요.

### ID 풀
<a name="what-is-amazon-cognito-features-identity-pools"></a>

자격 증명 풀은 사용자 또는 게스트에게 할당하고 임시 AWS 자격 증명을 수신할 수 있는 권한을 부여하는 고유 식별자 또는 자격 증명의 모음입니다. SAML 2.0, OpenID Connect(OIDC) 또는 OAuth 2.0 소셜 ID 제공업체(idP)의 신뢰할 수 있는 클레임 형태로 자격 증명 풀에 인증 증명을 제시하면 사용자가 자격 증명 풀의 자격 증명에 연결됩니다. 자격 증명 풀이 자격 증명에 대해 생성하는 토큰은 AWS Security Token Service ()에서 임시 세션 자격 증명을 검색할 수 있습니다AWS STS.

인증된 자격 증명을 보완하기 위해 IdP 인증 없이 AWS 액세스를 승인하도록 자격 증명 풀을 구성할 수도 있습니다. [개발자 인증 자격 증명](developer-authenticated-identities.md)을 사용하여 사용자 지정 인증 증명을 제공할 수 있습니다. [인증되지 않은 ID](identity-pools.md#authenticated-and-unauthenticated-identities)를 사용하여 게스트 사용자에게 임시 AWS 자격 증명을 부여할 수 있습니다.

ID 풀을 사용하면 AWS 계정에서 두 가지 방법으로 IAM 정책과 통합할 수 있습니다. 이 두 기능은 함께 사용하거나 개별적으로 사용할 수 있습니다.

**역할 기반 액세스 제어**  
사용자가 자격 증명 풀에 클레임을 전달하면 Amazon Cognito는 자격 증명 풀이 요청하는 IAM 역할을 선택합니다. 역할의 권한을 필요에 맞게 사용자 지정하려면 각 역할에 IAM 정책을 적용합니다. 예를 들어 마케팅 부서에 소속되어 있음을 입증하는 사용자는 마케팅 부서 액세스 요구 사항에 맞게 조정된 정책이 포함된 역할의 보안 인증을 받게 됩니다. Amazon Cognito는 기본 역할, 사용자의 클레임을 쿼리하는 규칙에 기반한 역할 또는 사용자 풀의 사용자 그룹 멤버십에 기반한 역할을 요청할 수 있습니다. IAM이 임시 세션 생성을 위해 자격 증명 풀만 신뢰하도록 역할 신뢰 정책을 구성할 수도 있습니다.

**액세스 제어를 위한 속성**  
자격 증명 풀은 사용자의 클레임에서 속성을 읽고 이를 사용자 임시 세션의 보안 주체 태그에 매핑합니다. 그런 다음 IAM 리소스 기반 정책을 구성하여 자격 증명 풀에서 세션 태그를 전달하는 IAM 보안 주체를 기반으로 리소스에 대한 액세스를 허용하거나 거부할 수 있습니다. 예를 들어 사용자가 마케팅 부서에 있음을 입증하면는 세션에 AWS STS 태그를 지정합니다`Department: marketing`. Amazon S3 버킷은 `Department` 태그에 `marketing` 값이 필요한 [aws:PrincipalTag](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principaltag) 조건에 따라 읽기 작업을 허용합니다.


| 
| 
| 기능 | 설명 | 
| --- |--- |
| Amazon Cognito user pool relying party | Exchange an ID token from your user pool for web identity credentials from AWS STS | 
| SAML 2.0 service provider | Exchange SAML assertions for web identity credentials from AWS STS | 
| OIDC relying party | Exchange OIDC tokens for web identity credentials from AWS STS | 
| Social provider relying party | Exchange OAuth tokens from Amazon, Facebook, Google, Apple, and Twitter for web identity credentials from AWS STS | 
| Custom relying party | With AWS credentials, exchange claims in any format for web identity credentials from AWS STS | 
| Unauthenticated access | Issue limited-access web identity credentials from AWS STS without authentication | 
| Role-based access control | Choose an IAM role for your authenticated user based on their claims, and configure your roles to only be assumed in the context of your identity pool | 
| Attribute-based access control | Convert claims into principal tags for your AWS STS temporary session, and use IAM policies to filter resource access based on principal tags | 

자격 증명 풀에 대한 자세한 내용은 [Amazon Cognito ID 풀 시작](getting-started-with-identity-pools.md) 및 [Amazon Cognito 자격 증명 풀 API 참조](https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/)를 참조하세요.



## Amazon Cognito 사용자 풀과 자격 증명 풀 비교
<a name="what-is-amazon-cognito-features-comparison"></a>


| 
| 
| 기능 | 설명 | 사용자 풀 | ID 풀 | 
| --- |--- |--- |--- |
| OIDC identity provider | Issue OIDC ID tokens to authenticate app users | ✓ |  | 
| User directory | Store user profiles for authentication | ✓ |  | 
| Authorize API access | Issue access tokens to authorize user access to APIs (including user profile self-service API operations), databases, and other resources that accept OAuth scopes | ✓ |  | 
| IAM web identity authorization | Generate tokens that you can exchange with AWS STS for temporary AWS credentials |  | ✓ | 
| SAML 2.0 service provider & OIDC identity provider | Issue customized OIDC tokens based on claims from a SAML 2.0 identity provider | ✓ |  | 
| OIDC relying party & OIDC identity provider | Issue customized OIDC tokens based on claims from an OIDC identity provider | ✓ |  | 
| OAuth 2.0 relying party & OIDC identity provider | Issue customized OIDC tokens based on scopes from OAuth 2.0 social providers like Apple and Google | ✓ |  | 
| SAML 2.0 service provider & credentials broker | Issue temporary AWS credentials based on claims from a SAML 2.0 identity provider |  | ✓ | 
| OIDC relying party & credentials broker | Issue temporary AWS credentials based on claims from an OIDC identity provider |  | ✓ | 
| Social provider relying party & credentials broker | Issue temporary AWS credentials based on JSON web tokens from developer applications with social providers like Apple and Google |  | ✓ | 
| Amazon Cognito user pool relying party & credentials broker | Issue temporary AWS credentials based on JSON web tokens from Amazon Cognito user pools |  | ✓ | 
| Custom relying party & credentials broker | Issue temporary AWS credentials to arbitrary identities, authorized by developer IAM credentials |  | ✓ | 
| Authentication frontend service | Sign up, manage, and authenticate users with managed login | ✓ |  | 
| API support for your own authentication UI | Create, manage and authenticate users through API requests in supported AWS SDKs¹ | ✓ |  | 
| MFA | Use SMS messages, TOTPs, or your user's device as an additional authentication factor¹ | ✓ |  | 
| Security monitoring & response | Protect against malicious activity and insecure passwords¹ | ✓ |  | 
| Customize authentication flows | Build your own authentication mechanism, or add custom steps to existing flows¹ | ✓ |  | 
| User groups | Create logical groupings of users, and a hierarchy of IAM role claims when you pass tokens to identity pools | ✓ |  | 
| Customize tokens | Customize your ID and access tokens with new, modified, and suppressed claims and scopes | ✓ |  | 
| AWS WAF web ACLs | Monitor and control requests to your authentication front end with AWS WAF | ✓ |  | 
| Customize user attributes | Assign values to user attributes and add your own custom attributes | ✓ |  | 
| Unauthenticated access | Issue limited-access web identity credentials from AWS STS without authentication |  | ✓ | 
| Role-based access control | Choose an IAM role for your authenticated user based on their claims, and configure your role trust to limit access to web identity users |  | ✓ | 
| Attribute-based access control | Transform user claims into principal tags for your AWS STS temporary session, and use IAM policies to filter resource access based on principal tags |  | ✓ | 

¹ 페더레이션 사용자는 기능을 사용할 수 없습니다.

## Amazon Cognito 시작하기
<a name="getting-started-overview"></a>

사용자 풀 애플리케이션의 예는 [사용자 풀 시작하기](getting-started-user-pools.md) 섹션을 참조하세요.

ID 풀에 대한 소개는 [Amazon Cognito ID 풀 시작](getting-started-with-identity-pools.md) 섹션을 참조하세요.

사용자 풀 및 ID 풀을 사용한 설정 환경 안내에 대한 링크는 [Amazon Cognito용 설정 옵션 안내](cognito-guided-setup.md) 섹션을 참조하세요.

 AWS SDK를 시작하려면 [AWS 개발자 도구를](https://aws.amazon.com/products/developer-tools) 참조하세요. Amazon Cognito와 관련된 개발자 리소스는 [Amazon Cognito 개발자 리소스](https://aws.amazon.com/cognito/dev-resources/)를 참조하세요.

Amazon Cognito를 사용하려면 AWS 계정이 있어야 합니다. 자세한 내용은 [시작하기 AWS](cognito-getting-started-account-iam.md) 단원을 참조하십시오.

## 리전별 가용성
<a name="getting-started-regional-availability"></a>

Amazon Cognito는 전 세계 여러 AWS 리전에서 사용할 수 있습니다. 각 리전에서 Amazon Cognito는 다수의 가용 영역으로 배포됩니다. 이러한 가용 영역은 물리적으로 서로 분리되어 있지만, 지연 시간이 짧고 처리량과 중복성이 우수한 프라이빗 네트워크 연결로 통합됩니다. 이러한 가용 영역을 통해 AWS 는 Amazon Cognito를 비롯한 서비스에 매우 높은 수준의 가용성과 중복성을 제공하는 동시에 지연 시간을 최소화할 수 있습니다.

Amazon Cognito를 현재에서 사용할 수 있는지 확인하려면 [AWS 리전별 서비스를](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) AWS 리전참조하세요.

리전 API 서비스 엔드포인트에 대한 자세한 내용은 *Amazon Web Services 일반 참조*의 [AWS 리전 및 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html##cognito_identity_region)를 참조하세요.

각 리전에서 사용할 수 있는 가용 영역 수에 대한 자세한 내용은 [AWS 글로벌 인프라](https://aws.amazon.com/about-aws/global-infrastructure/)를 참조하세요.

## Amazon Cognito 요금
<a name="pricing-for-amazon-cognito"></a>

Amazon Cognito 요금에 대한 자세한 내용은 [Amazon Cognito 요금](https://aws.amazon.com/cognito/pricing/)을 참조하세요.

# 일반적인 Amazon Cognito 용어 및 개념
<a name="cognito-terms"></a>

Amazon Cognito는 웹 및 모바일 앱에 대한 자격 증명을 제공합니다. *ID 및 액세스 관리*에서 일반적인 용어를 사용하고 이를 기반으로 구축됩니다. 범용 ID 및 액세스 조건에 대한 많은 가이드를 사용할 수 있습니다. 다음은 몇 가지 예시입니다.
+ IDPro 지식 본문의 [용어](https://bok.idpro.org/article/id/41/)
+ [AWS ID 서비스](https://aws.amazon.com/identity/)
+ NIST CSRC의 [용어집](https://csrc.nist.gov/glossary)

다음 목록은 Amazon Cognito에 고유하거나 Amazon Cognito에 특정 컨텍스트가 있는 용어를 설명합니다.

**Topics**
+ [일반](#cognito-terms-general)
+ [사용자 풀](#cognito-terms-user-pools)
+ [ID 풀](#cognito-terms-identity-pools)

## 일반
<a name="cognito-terms-general"></a>

이 목록의 용어는 Amazon Cognito에만 국한되지 않으며 ID 및 액세스 관리 실무자 사이에서 널리 인식됩니다. 다음은 용어의 전체 목록이 아니며 이 안내서의 특정 Amazon Cognito 컨텍스트에 대한 안내서입니다.

**액세스 토큰**  <a name="terms-accesstoken"></a>
정보 시스템에 액세스하기 위한 엔터티의 [권한 부여](#terms-authorization)에 대한 정보가 포함된 JSON 웹 토큰(JWT)입니다.

**앱, 애플리케이션**  
일반적으로 모바일 애플리케이션입니다. 이 가이드에서 *앱*은 Amazon Cognito에 연결하는 웹 애플리케이션 또는 모바일 앱의 약어인 경우가 많습니다.

**속성 기반 액세스 제어(ABAC)**  <a name="terms-abac"></a>
앱이 사용자의 직함 또는 부서 등 사용자 속성을 기반으로 리소스에 대한 액세스를 결정하는 모델입니다. ABAC를 적용하는 Amazon Cognito 도구에는 사용자 풀의 ID 토큰과 ID 풀의 [보안 주체 태그](#term-afac)가 포함됩니다.

**인증**  <a name="terms-authentication"></a>
정보 시스템에 액세스하기 위해 실제 ID를 설정하는 프로세스입니다. Amazon Cognito는 타사 ID 공급자의 인증 증명을 수락하며 소프트웨어 애플리케이션에 대한 인증 공급자 역할을 합니다.

**승인**  <a name="terms-authorization"></a>
리소스에 권한을 부여하는 프로세스입니다. 사용자 풀 [액세스 토큰](#terms-accesstoken)에는 애플리케이션이 사용자 및 시스템이 리소스에 액세스하도록 허용하는 데 사용할 수 있는 정보가 포함되어 있습니다.

**권한 부여 서버**  <a name="term-authzserver"></a>
[JSON 웹 토큰](#terms-jwt)을 생성하는 OAuth 또는 OpenID Connect(OIDC) 시스템입니다. Amazon Cognito 사용자 풀 [관리형 인증 서버](#terms-managedauthorizationserver)는 사용자 풀의 두 인증 및 권한 부여 방법의 권한 부여 서버 구성 요소입니다. 사용자 풀은 [SDK 인증](#terms-upapi)에서 API 문제-응답 흐름도 지원합니다.

**기밀 앱, 서버 측 앱**  
사용자가 애플리케이션 서버의 코드와 보안 암호에 대한 액세스를 사용하여 원격으로 연결하는 애플리케이션입니다. 이는 일반적으로 웹 애플리케이션입니다.

**ID 제공업체(IdP)**  <a name="terms-idp"></a>
사용자 ID를 저장하고 확인하는 서비스입니다. Amazon Cognito는 [외부 제공업체](#terms-externalprovider)로부터 인증을 요청할 수 있으며 앱에 대한 IdP가 될 수 있습니다.

**JSON 웹 토큰(JWT)**  <a name="terms-jwt"></a>
인증된 사용자에 대한 클레임이 포함된 JSON 형식 문서입니다. ID 토큰은 사용자를 인증하고, 액세스 토큰은 사용자에게 권한을 부여하며, 새로 고침 토큰은 자격 증명을 업데이트합니다. Amazon Cognito는 [외부 제공업체](#terms-externalprovider)로부터 토큰을 수신하고 앱 또는 AWS STS에 토큰을 발급합니다.

**기계 간(M2M) 인증**  <a name="terms-m2m"></a>
웹 서버 애플리케이션 계층과 같은 사용자 상호 작용이 불가능한 머신 엔터티에 대한 API 엔드포인트에 대한 요청을 승인하는 프로세스입니다. 사용자 풀은 [액세스 토큰](#terms-accesstoken)의 OAuth 2.0 범위를 사용하여 클라이언트 자격 증명 권한 부여에서 M2M 권한 부여를 제공합니다.

**멀티 팩터 인증(MFA)**  <a name="terms-mfa"></a>
사용자가 사용자 이름과 암호를 제공한 후 추가 인증을 제공해야 하는 요구 사항입니다. Amazon Cognito 사용자 풀에는 [로컬 사용자](#terms-localuser)를 위한 MFA 기능이 있습니다.

**OAuth 2.0(소셜) 제공업체**  <a name="terms-oauth"></a>
[JWT](#terms-jwt) 액세스 및 새로 고침 토큰을 제공하는 사용자 풀 또는 ID 풀에 대한 IdP입니다. Amazon Cognito 사용자 풀은 사용자가 인증한 후 소셜 제공업체와의 상호 작용을 자동화합니다.

**OpenID Connect(OIDC) 제공업체**  
사용자 풀 또는 ID 풀에 대한 IdP로 [OAuth](#terms-oauth) 사양을 확장하여 ID 토큰을 제공합니다. Amazon Cognito 사용자 풀은 사용자가 인증한 후 OIDC 제공업체와의 상호 작용을 자동화합니다.

**패스키, WebAuthn**  
사용자 디바이스의 암호화 키 또는 패스키가 인증 증명을 제공하는 인증의 한 형태입니다. 사용자는 하드웨어 또는 소프트웨어 인증자에 생체 인식 또는 PIN 코드 메커니즘이 있는지 확인합니다. 패스키는 피싱에 강하며 특정 웹 사이트/앱에 바인딩되어 암호 없는 안전한 환경을 제공합니다. Amazon Cognito 사용자 풀은 패스키로 로그인을 지원합니다.

**암호 없음**  
사용자가 암호를 입력할 필요가 없는 인증의 한 형태입니다. 암호 없는 로그인 방법에는 이메일 주소와 전화번호 및 패스키로 전송된 일회용 암호(OTP)가 포함됩니다. Amazon Cognito 사용자 풀은 OTP 및 패스키를 사용한 로그인을 지원합니다.

**퍼블릭 앱**  
코드가 로컬에 저장되고 보안 암호에 대한 액세스 권한이 없는 디바이스에 자체 포함된 애플리케이션입니다. 일반적으로 모바일 앱입니다.

**리소스 서버**  
액세스 제어 기능이 있는 API입니다. Amazon Cognito 사용자 풀은 *리소스 서버*를 사용하여 API와 상호 작용하기 위한 구성을 정의하는 구성 요소를 설명합니다.

**역할 기반 액세스 제어(RBAC)**  
사용자의 기능 지정을 기반으로 액세스 권한을 부여하는 모델입니다. Amazon Cognito ID 풀은 IAM 역할 간의 차별화를 통해 RBAC를 구현합니다.

**서비스 제공업체(SP), 신뢰 당사자(RP)**  <a name="terms-relyingparty"></a>
IdP를 사용하여 사용자가 신뢰할 수 있다고 주장하는 애플리케이션입니다. Amazon Cognito는 외부 IdP에 대한 SP 역할을 하며 앱 기반 SP에 대한 IdP 역할을 합니다.

**SAML 공급자**  
사용자가 Amazon Cognito에 전달하는 디지털 서명 어설션 문서를 생성하는 사용자 풀 또는 ID 풀에 대한 IdP입니다.

**범용 고유 식별자(UUID)**  <a name="terms-uuid"></a>
개체에 적용되는 128비트 레이블입니다. Amazon Cognito UUID는 사용자 풀 또는 ID 풀마다 고유하지만 특정 UUID 형식을 준수하지 않습니다.

**사용자 디렉터리**  <a name="terms-userdirectory"></a>
해당 정보를 다른 시스템에 제공하는 사용자 및 해당 속성의 모음입니다. Amazon Cognito 사용자 풀은 사용자 디렉터리이며 외부 사용자 디렉터리에서 사용자를 통합하기 위한 도구이기도 합니다.

## 사용자 풀
<a name="cognito-terms-user-pools"></a>

이 가이드의 다음 목록에 용어가 표시되면 사용자 풀의 특정 기능 또는 구성을 나타냅니다.

**적응형 인증**  <a name="terms-adaptiveauthentication"></a>
잠재적 악성 활동을 감지하고 [사용자 프로필](#terms-userprofile)에 추가 보안을 적용하는 [고급 보안](#term-advancedsecurity) 기능입니다.

**앱 클라이언트**  <a name="term-appclient"></a>
사용자 풀에 대한 설정을 하나의 앱에 대한 IdP로 정의하는 구성 요소입니다.

**콜백 URL, 리디렉션 URI, 반환 URL**  <a name="term-callbackurl"></a>
[앱 클라이언트](#term-appclient)의 설정과 사용자 풀의 [권한 부여 서버](#terms-managedauthorizationserver)에 대한 요청의 파라미터입니다. 콜백 URL은 [앱](#term-app)에서 인증된 사용자의 초기 대상입니다.

**선택 기반 인증**  <a name="terms-choicebasedauthentication"></a>
사용자 풀을 사용한 API 인증의 한 형태로, 각 사용자는 로그인을 선택할 수 있습니다. MFA를 사용하거나 사용하지 않는 사용자 이름 및 암호, 패스키 로그인 또는 이메일 또는 SMS 메시지 일회용 암호를 사용한 암호 없는 로그인을 선택할 수 있습니다. 애플리케이션은 인증 옵션 목록을 요청하거나 기본 옵션을 선언하여 사용자의 선택 프로세스를 구성할 수 있습니다.  
[클라이언트 기반 인증](#terms-declarativeauthentication)과 비교합니다.

**클라이언트 기반 인증**  <a name="terms-declarativeauthentication"></a>
AWS SDK로 빌드된 사용자 풀 API 및 애플리케이션 백엔드를 사용한 인증의 한 형태입니다. 선언적 인증에서는 애플리케이션이 사용자가 수행해야 하는 로그인 유형을 독립적으로 결정하고 해당 유형을 미리 요청합니다.  
[선택 기반 인증](#terms-choicebasedauthentication)과 비교합니다.

**손상된 보안 인증**  
공격자가 알고 있을 수 있는 사용자 암호를 탐지하고 [사용자 프로필](#terms-userprofile)에 추가 보안을 적용하는 [고급 보안](#term-advancedsecurity) 기능입니다.

**확인**  <a name="terms-confirmation"></a>
새로운 사용자가 로그인할 수 있도록 하는 전제 조건이 충족되었는지 확인하는 프로세스입니다. 확인은 일반적으로 이메일 주소 또는 전화번호 [확인](#terms-verification)을 통해 이루어집니다.

**사용자 지정 인증**  
[Lambda 트리거](#terms-triggers)를 사용한 인증 프로세스의 확장으로 추가 사용자 문제 및 응답을 정의합니다.

**디바이스 인증**  
신뢰할 수 있는 장치의 ID를 사용하여 로그인하는 방식으로 [MFA](#terms-mfa)를 대체하는 인증 프로세스입니다.

**도메인, 사용자 풀 도메인**  <a name="terms-domain"></a>
AWS에서 [관리형 로그인 페이지](#terms-managedlogin)를 호스팅하는 웹 도메인입니다. 소유한 도메인에서 DNS를 설정하거나 AWS 소유의 도메인에서 식별 하위 도메인 접두사를 사용할 수 있습니다.

**Essentials 플랜**  <a name="terms-essentialsplan"></a>
사용자 풀의 최신 개발이 포함된 [기능 플랜](#terms-featureplan)입니다. Essentials 플랜에는 [Plus 플랜](#terms-plusplan)의 자동 학습 보안 기능이 포함되지 않습니다.

**외부 제공업체, 타사 제공업체**  <a name="terms-externalprovider"></a>
사용자 풀과 신뢰 관계가 있는 IdP입니다. 사용자 풀은 외부 공급자와 애플리케이션 간의 중간 엔터티 역할을 하여 SAML 2.0, OIDC 및 소셜 공급자를 통한 인증 프로세스를 관리합니다. 사용자 풀은 외부 공급자 인증 결과를 단일 IdP로 통합하여 애플리케이션이 단일 OIDC 신뢰 당사자 라이브러리로 많은 사용자를 처리할 수 있도록 합니다.

**기능 플랜**  <a name="terms-featureplan"></a>
사용자 풀에 대해 선택할 수 있는 기능 그룹입니다. 기능 플랜은 AWS 청구서에서 비용이 다릅니다. 새 사용자 풀은 기본적으로 [Essentials 플랜](#terms-essentialsplan)으로 설정됩니다.  

**현재 플랜**
+ [Lite 플랜](#terms-liteplan)
+ [Essentials 플랜](#terms-essentialsplan)
+ [Plus 플랜](#terms-plusplan)

**페더레이션 사용자, 외부 사용자**  <a name="terms-federateduser"></a>
[외부 제공업체](#terms-externalprovider)에서 인증한 사용자 풀의 사용자입니다.

**호스트형 UI(클래식), 호스트형 UI 페이지**  <a name="terms-hostedui"></a>
사용자 풀 도메인에서 인증 프런트 엔드, 신뢰 당사자 및 ID 공급자 서비스의 초기 버전입니다. 호스트형 UI는 기본 기능 세트를 포함하며 디자인이 간소화되었습니다. 로고 이미지 파일과 미리 결정된 CSS 스타일 세트가 있는 파일을 업로드하여 호스트형 UI 브랜딩을 적용할 수 있습니다. [관리형 로그인](#terms-managedlogin)과 비교합니다.

**Lambda 트리거**  <a name="terms-triggers"></a>
사용자 풀이 사용자 인증 프로세스의 주요 지점에서 자동으로 호출할 수 있는 AWS Lambda의 함수입니다. Lambda 트리거를 사용하여 인증 결과를 사용자 지정할 수 있습니다.

**로컬 사용자**  <a name="terms-localuser"></a>
[외부 제공업체](#terms-externalprovider)에 대한 인증으로 생성되지 않은 사용자 풀 [사용자 디렉터리](#terms-userdirectory)의 [사용자 프로필](#terms-userprofile)입니다.

**연결된 사용자**  <a name="terms-linkeduser"></a>
ID가 [로컬 사용자](#terms-localuser)와 병합된 [외부 제공업체](#terms-externalprovider)의 사용자입니다.

**Lite 플랜**  <a name="terms-liteplan"></a>
사용자 풀로 원래 시작한 기능이 포함된 [기능 플랜](#terms-featureplan)입니다. Lite 플랜에는 [Essentials 플랜](#terms-essentialsplan)의 새 기능 또는 [Plus 플랜](#terms-plusplan)의 자동 학습 보안 기능이 포함되지 않습니다.

**관리형 권한 부여 서버, 호스트형 UI 권한 부여 서버, 권한 부여 서버**  <a name="terms-managedauthorizationserver"></a>
[사용자 풀 도메인](#terms-domain)의 IdP 및 앱과 상호 작용하기 위한 서비스를 호스팅하는 [관리형 로그인](#terms-managedlogin)의 구성 요소입니다. [호스트형 UI](#terms-hostedui)는 제공하는 사용자 대화형 기능의 관리형 로그인과 다르지만 권한 부여 서버 기능은 동일합니다.

**관리형 로그인, 관리형 로그인 페이지**  <a name="terms-managedlogin"></a>
사용자 인증을 위해 서비스를 호스팅하는 [사용자 풀 도메인](#terms-domain)의 웹 페이지 세트입니다. 이러한 서비스에는 [IdP](#terms-idp)로 작동하기 위한 함수, 타사 IdP의 [신뢰 당사자](#terms-relyingparty), 사용자 대화형 인증 UI의 서버가 포함됩니다. 사용자 풀에 대한 도메인을 설정하면 Amazon Cognito는 모든 관리형 로그인 페이지를 온라인으로 가져옵니다.  
애플리케이션은 사용자의 브라우저를 호출하고 가입, 로그인, 암호 관리 및 기타 인증 작업을 위해 관리형 로그인 UI로 전달하는 OIDC 라이브러리를 가져옵니다. 인증 후 OIDC 라이브러리는 인증 요청의 결과를 처리할 수 있습니다.

**관리형 로그인 인증**  <a name="terms-managedloginauthentication"></a>
사용자 대화형 브라우저 페이지 또는 HTTPS API 요청을 사용하여 [사용자 풀 도메인](#terms-domain)의 서비스로 로그인합니다. 애플리케이션은 OpenID Connect(OIDC) 라이브러리를 사용하여 관리형 로그인 인증을 처리합니다. 이 프로세스에는 [외부 공급자](#terms-externalprovider)와의 로그인, 대화형 관리형 로그인 페이지로 로컬 사용자 로그인, [M2M 권한 부여](#terms-m2m)가 포함됩니다. 클래식 [호스트형 UI](#terms-hostedui)를 사용한 인증도 이 용어에 속합니다.  
[AWS SDK 인증](#terms-upapi)과 비교합니다.

**Plus 플랜**  <a name="terms-plusplan"></a>
사용자 풀의 최신 개발 및 고급 보안 기능이 포함된 [기능 플랜](#terms-featureplan)입니다.

**SDK 인증, AWS SDK 인증**  
AWS SDK를 사용하여 애플리케이션 백엔드에 추가할 수 있는 인증 및 권한 부여 API 작업 세트입니다. 이 인증 모델에는 사용자 지정 로그인 메커니즘이 필요합니다. API는 [로컬 사용자](#terms-localuser) 및 [연결된 사용자](#terms-linkeduser)에 로그인할 수 있습니다.  
[관리형 로그인 인증](#terms-managedloginauthentication)과 비교합니다.

**위협 방지, 고급 보안 기능**  <a name="term-advancedsecurity"></a>
사용자 풀에서 위협 보호는 인증 및 권한 부여 메커니즘에 대한 위협을 완화하도록 설계된 기술을 말합니다. 적응형 인증, 손상된 자격 증명 탐지 및 IP 주소 차단 목록은 위협 방지 범주에 속합니다.

**토큰 사용자 지정**  
런타임 시 사용자의 ID 또는 액세스 토큰을 수정하는 사전 토큰 생성 [Lambda 트리거](#terms-triggers)의 결과입니다.

**사용자 풀, Amazon Cognito ID 제공업체, `cognito-idp`, Amazon Cognito 사용자 풀**  
OIDC IdP와 함께 작동하는 애플리케이션을 위한 인증 및 권한 부여 서비스를 제공하는 AWS 리소스입니다.

**Verification(확인)**  <a name="terms-verification"></a>
사용자가 이메일 주소 또는 전화번호를 소유하고 있는지 확인하는 프로세스입니다. 사용자 풀은 새 이메일 주소 또는 전화번호를 입력한 사용자에게 코드를 보냅니다. Amazon Cognito에 코드를 제출하면 메시지 대상의 소유권을 확인하고 사용자 풀에서 추가 메시지를 받을 수 있습니다. [확인](#terms-confirmation) 섹션도 참조하세요.

**사용자 프로필, 사용자 계정**  <a name="terms-userprofile"></a>
[사용자 디렉터리](#terms-userdirectory)의 사용자 항목입니다. 타사 IdP의 사용자를 포함한 모든 사용자는 사용자 풀에 프로필이 있습니다.

## ID 풀
<a name="cognito-terms-identity-pools"></a>

이 가이드의 다음 목록에 용어가 표시되면 ID 풀의 특정 기능 또는 구성을 나타냅니다.

**액세스 제어를 위한 속성**  <a name="term-afac"></a>
ID 풀에서 [속성 기반 액세스 제어](#terms-abac) 구현입니다. ID 풀은 사용자 속성을 사용자 자격 증명에 태그로 적용합니다.

**기본(클래식) 인증**  
[사용자 자격 증명](#terms-usercredentials)에 대한 요청을 사용자 지정할 수 있는 인증 프로세스입니다.

**개발자 인증 자격 증명**  
[개발자 자격 증명](#terms-developercredentials)을 사용하여 ID 풀 [사용자 자격 증명](#terms-usercredentials)을 승인하는 인증 프로세스입니다.

**개발자 자격 증명**  <a name="terms-developercredentials"></a>
ID 풀 관리자의 IAM API 키입니다.

**향상된 인증**  
IAM 역할을 선택하고 ID 풀에서 정의한 로직에 따라 보안 주체 태그를 적용하는 인증 흐름입니다.

**자격 증명**  
앱 사용자와 해당 [사용자 자격 증명](#terms-usercredentials)을 ID 풀과 신뢰 관계가 있는 외부 [사용자 디렉터리](#terms-userdirectory)의 프로필에 연결하는 [UUID](#terms-uuid)입니다.

**ID 풀, Amazon Cognito 페더레이션 ID, Amazon Cognito ID, `cognito-identity` **  
[임시 AWS 자격 증명](#terms-usercredentials)을 사용하는 애플리케이션에 대한 인증 및 권한 부여 서비스가 포함된 AWS 리소스입니다.

**인증되지 않은 자격 증명**  
ID 풀 IdP를 사용하여 로그인하지 않은 사용자입니다. 사용자가 인증하기 전에 단일 IAM 역할에 대해 제한된 사용자 자격 증명을 생성하도록 허용할 수 있습니다.

**사용자 보안 인증**  <a name="terms-usercredentials"></a>
사용자가 ID 풀 인증 후 받는 임시 AWS API 키입니다.

# 시작하기 AWS
<a name="cognito-getting-started-account-iam"></a>

Amazon Cognito 작업을 시작하기 전에 몇 가지 필수 AWS 리소스를 설정합니다. 이미에 로그인할 수 있는 경우이 섹션을 건너뛸 AWS 계정수 있습니다. 가입 및 AWS 자격 증명으로 로그인에 대한 정보를 찾고 있다면 계속 읽어보세요. 충분한 AWS Identity and Access Management (IAM) 권한이 있는 자격 증명이 있으면 [사용자 풀](getting-started-user-pools.md) 및 [자격 증명 풀을 시작할 수 있습니다](getting-started-with-identity-pools.md).

## 에 가입 AWS 계정
<a name="sign-up-for-aws"></a>

이 없는 경우 다음 단계를 AWS 계정완료하여 생성합니다.

**에 가입하려면 AWS 계정**

1. [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)을 엽니다.

1. 온라인 지시 사항을 따르세요.

   등록 절차 중 전화 또는 텍스트 메시지를 받고 전화 키패드로 확인 코드를 입력하는 과정이 있습니다.

   에 가입하면 AWS 계정*AWS 계정 루트 사용자*이 생성됩니다. 루트 사용자에게는 계정의 모든 AWS 서비스 및 리소스에 액세스할 권한이 있습니다. 보안 모범 사례는 사용자에게 관리 액세스 권한을 할당하고, 루트 사용자만 사용하여 [루트 사용자 액세스 권한이 필요한 작업](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)을 수행하는 것입니다.

AWS 는 가입 프로세스가 완료된 후 확인 이메일을 보냅니다. 언제든지 [https://aws.amazon.com/](https://aws.amazon.com/)으로 이동하고 **내 계정**을 선택하여 현재 계정 활동을 확인하고 계정을 관리할 수 있습니다.

## 관리자 액세스 권한이 있는 사용자 생성
<a name="create-an-admin"></a>

에 가입한 후 일상적인 작업에 루트 사용자를 사용하지 않도록 관리 사용자를 AWS 계정보호 AWS IAM Identity Center, AWS 계정 루트 사용자활성화 및 생성합니다.

**보안 AWS 계정 루트 사용자**

1.  **루트 사용자를** 선택하고 AWS 계정 이메일 주소를 입력하여 계정 소유자[AWS Management Console](https://console.aws.amazon.com/)로에 로그인합니다. 다음 페이지에서 비밀번호를 입력합니다.

   루트 사용자를 사용하여 로그인하는 데 도움이 필요하면 *AWS Sign-In 사용 설명서*의 [루트 사용자로 로그인](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)을 참조하세요.

1. 루트 사용자의 다중 인증(MFA)을 활성화합니다.

   지침은 *IAM 사용 설명서*의 [AWS 계정 루트 사용자(콘솔)에 대한 가상 MFA 디바이스 활성화를 참조하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html).

**관리자 액세스 권한이 있는 사용자 생성**

1. IAM Identity Center를 활성화합니다.

   지침은 *AWS IAM Identity Center 사용 설명서*의 [AWS IAM Identity Center설정](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)을 참조하세요.

1. IAM Identity Center에서 사용자에게 관리 액세스 권한을 부여합니다.

   를 자격 증명 소스 IAM Identity Center 디렉터리 로 사용하는 방법에 대한 자습서는 사용 *AWS IAM Identity Center 설명서*[의 기본값으로 사용자 액세스 구성을 IAM Identity Center 디렉터리](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) 참조하세요.

**관리 액세스 권한이 있는 사용자로 로그인**
+ IAM IDentity Center 사용자로 로그인하려면 IAM Identity Center 사용자를 생성할 때 이메일 주소로 전송된 로그인 URL을 사용합니다.

  IAM Identity Center 사용자를 사용하여 로그인[하는 데 도움이 필요하면 사용 설명서의 AWS 액세스 포털에 로그인](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)을 참조하세요. *AWS Sign-In * 

**추가 사용자에게 액세스 권한 할당**

1. IAM Identity Center에서 최소 권한 적용 모범 사례를 따르는 권한 세트를 생성합니다.

   지침은 *AWS IAM Identity Center 사용 설명서*의 [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)를 참조하세요.

1. 사용자를 그룹에 할당하고, 그룹에 Single Sign-On 액세스 권한을 할당합니다.

   지침은 *AWS IAM Identity Center 사용 설명서*의 [그룹 추가](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)를 참조하세요.