

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

# 사용자 생성을 위한 정책 구성
<a name="user-pool-settings-admin-create-user-policy"></a>

사용자 풀에서 사용자가 가입하도록 허용하거나 사용자를 관리자로 생성할 수 있습니다. 또한 가입 후 인증 및 확인 프로세스를 사용자에게 맡기는 정도를 제어할 수 있습니다. 예를 들어, 가입을 검토하고 외부 검증 프로세스에 따라 가입을 수락하고 싶을 수 있습니다. 이 구성 또는 *관리자로 사용자 생성 정책*은 또한 사용자가 더 이상 사용자 계정을 확인할 수 없을 때까지의 시간을 설정합니다.

Amazon Cognito는 소프트웨어를 위한 고객 ID 및 액세스 관리(CIAM) 플랫폼으로서 일반 고객의 요구를 충족할 수 있습니다. 관리형 로그인의 유무에 관계없이 가입을 수락하고 앱 클라이언트가 있는 사용자 풀은 공개적으로 검색 가능한 앱 클라이언트 ID와 가입 요청을 아는 인터넷 상의 모든 사용자를 위한 사용자 프로필을 생성합니다. 가입한 사용자 프로필은 액세스 및 ID 토큰을 받을 수 있으며 앱에 대해 승인된 리소스에 액세스할 수 있습니다. 사용자 풀에서 가입을 활성화하기 전에 옵션을 검토하고 구성이 보안 표준을 준수하는지 확인하십시오. 다음 절차에 설명된 대로 **자체 등록 활성화** 및 `AllowAdminCreateUserOnly`를 주의해서 설정하십시오.

------
#### [ AWS Management Console ]

사용자 풀의 **가입** 메뉴에는 사용자 풀에 있는 사용자의 가입 및 관리 생성을 위한 몇 가지 설정이 포함되어 있습니다.

**가입 환경 구성**

1. **Cognito 지원 검증 및 확인**에서 **Cognito가 검증 및 확인을 위한 메시지를 자동으로 보내도록 허용** 여부를 선택합니다. 이 설정을 활성화하면 Amazon Cognito는 사용자 풀에 제시해야 하는 코드가 포함된 이메일 또는 SMS 메시지를 새 사용자에게 보냅니다. 이렇게 하면 이메일 주소 또는 전화 번호의 소유권을 확인하고, 동등한 속성을 확인된 것으로 설정하고, 로그인할 사용자 계정을 확인합니다. 선택한 **확인할 속성**에 따라 확인 메시지의 전달 방법 및 대상이 결정됩니다.

1. 사용자를 생성할 때 **속성 변경 확인**은 중요하지 않지만, 이는 속성 확인과 관련이 있습니다. [로그인 속성](user-pool-settings-attributes.md#user-pool-settings-aliases.title)을 변경했지만 아직 확인하지 않은 사용자가 새 속성 값이나 원래 속성으로 계속 로그인하도록 허용할 수 있습니다. 자세한 내용은 [사용자가 이메일 또는 전화 번호를 변경하는 경우 확인](signing-up-users-in-your-app.md#verifying-when-users-change-their-email-or-phone-number) 단원을 참조하십시오.

1. **필수 속성**에는 사용자가 가입하거나 사용자를 생성하기 전에 값을 제공해야 하는 속성이 표시됩니다. 사용자 풀을 생성할 때 필수 속성만 설정할 수 있습니다.

1. **사용자 지정 속성**은 사용자를 처음 만들 때만 *변경할 수 없는* 사용자 지정 속성의 값을 설정할 수 있기 때문에 사용자 생성 및 가입 프로세스에서 중요합니다. 사용자 지정 속성에 대한 자세한 내용은 [사용자 지정 속성](user-pool-settings-attributes.md#user-pool-settings-custom-attributes) 섹션을 참조하십시오.

1. 사용자가 [인증되지 않은](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pools-API-operations.html#user-pool-apis-auth-unauth) `SignUp` API로 새 계정을 생성할 수 있도록 하려면 **셀프 서비스 가입**에서 **자체 등록 활성화**를 선택하세요. 자체 등록을 비활성화하면 Amazon Cognito 콘솔에서 또는 [AdminCreateUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminCreateUser.html) API 요청으로 새 사용자만 관리자로 생성할 수 있습니다. 자체 등록이 비활성화된 사용자 풀에서는 [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html) API 요청이 `NotAuthorizedException`을 반환하고 관리형 로그인에 **가입** 링크가 표시되지 않습니다.

사용자를 관리자로 생성하려는 사용자 풀의 경우 **관리자가 설정한 임시 암호 만료 기간**의 **인증 방법** 메뉴에서 임시 암호의 사용 기간을 구성할 수 있습니다.

사용자를 관리자로서 생성할 때 고려해야 할 또 다른 중요한 요소는 초대 메시지입니다. 새 사용자를 생성하면 Amazon Cognito에서 앱 링크가 포함된 메시지를 전송하여 사용자가 처음으로 로그인할 수 있도록 합니다. **메시지 템플릿**의 **인증 방법** 메뉴에서 이 메시지 템플릿을 사용자 지정합니다.

앱 클라이언트 보안 암호가 없으면 가입을 방지하는 클라이언트 보안 암호를 사용하여 [기밀 앱 클라이언트](user-pool-settings-client-apps.md#user-pool-settings-client-app-client-types.title)(일반적으로 웹 애플리케이션)를 구성할 수 있습니다. 보안 모범 사례에 따라 공용 앱 클라이언트(일반적으로 모바일 앱)에서 앱 클라이언트 보안 암호를 배포하지 마세요. Amazon Cognito 콘솔의 **앱 클라이언트** 메뉴에서 클라이언트 보안 암호를 사용하여 앱 클라이언트를 생성할 수 있습니다.

------
#### [ Amazon Cognito user pools API ]

[CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) 또는 [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) API 요청에서 사용자 풀의 사용자 생성을 위한 파라미터를 프로그래밍 방식으로 설정할 수 있습니다.

[AdminCreateUserConfig](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html#CognitoUserPools-CreateUserPool-request-AdminCreateUserConfig) 요소는 사용자 풀의 다음 속성에 대한 값을 설정합니다.

1. 셀프 서비스 가입 활성화

1. 새 관리자 생성 사용자에게 보내는 초대 메시지

다음 예시를 전체 API 요청 본문에 추가하면 셀프 서비스 가입이 비활성화되고 기본 초대 이메일이 포함된 사용자 풀을 설정합니다.

```
"AdminCreateUserConfig": { 
      "AllowAdminCreateUserOnly": true,
      "InviteMessageTemplate": { 
         "EmailMessage": "Your username is {username} and temporary password is {####}.",
         "EmailSubject": "Welcome to ExampleApp",
         "SMSMessage": "Your username is {username} and temporary password is {####}."
      }
   }
```

[CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) 또는 [UpdateUserPool API](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) 요청의 다음 추가 파라미터는 새 사용자 생성을 제어합니다.

[AutoVerifiedAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html#CognitoUserPools-CreateUserPool-request-AutoVerifiedAttributes)  
새 사용자를 등록할 때 [메시지를 자동으로 전송](user-pool-settings-email-phone-verification.md#user-pool-settings-email-phone-verification.title)하려는 속성, 이메일 주소 또는 전화번호입니다.

[정책](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html#CognitoUserPools-CreateUserPool-request-Policies)  
사용자 풀 [암호 정책](managing-users-passwords.md#user-pool-settings-policies.title)입니다.

[스키마](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html#CognitoUserPools-CreateUserPool-request-Schema)  
사용자 풀 [사용자 지정 특성](user-pool-settings-attributes.md#user-pool-settings-custom-attributes.title)입니다. 이들은 사용자를 처음 만들 때만 *변경할 수 없는* 사용자 지정 속성의 값을 설정할 수 있기 때문에 사용자 생성 및 가입 프로세스에서 중요합니다.  
또한 이 파라미터는 사용자 풀에 필요한 속성을 설정합니다. 다음 텍스트를 전체 API 요청 본문의 `Schema` 요소에 삽입한 후 필요에 따라 `email` 속성을 설정합니다.  

```
{
            "Name": "email",
            "Required": true
}
```

------