이메일 또는 전화 확인 구성 - Amazon Cognito

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

이메일 또는 전화 확인 구성

메시징 탭에서 이메일 또는 전화 확인 설정을 선택할 수 있습니다. 멀티 팩터 인증(MFA)에 대한 자세한 내용은 SMS Text Message MFA(SMS 문자 메시지 MFA)를 참조하세요.

Amazon Cognito는 Amazon SNS를 사용하여 SMS 메시지를 전송합니다. 이전에 Amazon Cognito 또는 다른 AWS 서비스에서 SMS 메시지를 보낸 적이 없는 경우 Amazon SNS에서 계정을 SMS 샌드박스에 배치할 수 있습니다. 샌드박스에서 프로덕션으로 계정을 제거하기 전에 확인된 전화 번호로 테스트 메시지를 보내는 것이 좋습니다. 또한 SMS 메시지를 미국 대상 전화 번호로 보내려는 경우 Amazon Pinpoint에서 발신 또는 발신자 ID를 받아야 합니다. SMS 메시지를 사용하도록 Amazon Cognito 사용자 풀을 구성하려면 Amazon Cognito 사용자 풀의 SMS 메시지 설정 섹션을 참조하세요.

Amazon Cognito는 이메일 주소 또는 전화번호를 자동으로 확인할 수 있습니다. 이 확인 작업을 수행하기 위해 Amazon Cognito에서는 확인 코드를 보내거나 확인 링크를 보냅니다. 이메일 주소의 경우 Amazon Cognito에서 코드 또는 링크를 이메일 메시지에 넣어 보냅니다. Amazon Cognito 콘솔의 메시징 탭에서 인증 메시지 템플릿을 편집할 때 인증 유형코드 또는 링크를 선택할 수 있습니다. 자세한 내용은 이메일 확인 메시지 사용자 정의 섹션을 참조하세요.

전화번호의 경우 Amazon Cognito에서 코드를 SMS 문자 메시지에 넣어 보냅니다.

Amazon Cognito는 사용자를 확인하고 사용자가 잊어버린 암호를 복구할 수 있도록 전화 번호 또는 이메일 주소를 확인해야 합니다. 또는 사전 가입 Lambda 트리거나 AdminConfirmSignUp API 작업을 사용하여 사용자를 자동으로 확인할 수 있습니다. 자세한 내용은 사용자 계정 가입 및 확인 섹션을 참조하세요.

확인 코드나 링크는 24시간 동안 유효합니다.

이메일 주소 또는 전화 번호를 확인하도록 선택하면 사용자가 가입할 때 Amazon Cognito에서 확인 코드 또는 링크를 자동으로 보냅니다. 사용자 풀에 사용자 지정 SMS 발신자 Lambda 트리거 또는 사용자 정의 이메일 발신자 Lambda 트리거가 구성된 경우 해당 함수가 대신 호출됩니다.

주의
  • Amazon SNS는 전화 번호 확인을 위해 사용하는 SMS 문자 메시지 사용 요금을 별도로 청구합니다. 이메일 메시지는 무료로 보낼 수 있습니다. Amazon SNS 요금에 대한 자세한 내용은 전 세계 SMS 요금을 참조하세요. 현재 SMS 메시징을 사용할 수 있는 국가의 목록은 지원되는 리전 및 국가를 참조하세요.

  • Amazon Cognito에서 이메일 메시지를 생성하는 작업을 앱에서 테스트하는 경우 Amazon Cognito에서 하드 바운스 없이 연결할 수 있는 실제 이메일 주소를 사용합니다. 자세한 내용은 앱을 테스트하는 동안 이메일 전송 섹션을 참조하세요.

  • 암호 찾기 흐름에서는 사용자를 확인하기 위해 사용자의 이메일 또는 전화 번호를 요구합니다.

중요

사용자가 전화번호 및 이메일 주소 둘 다를 사용하여 가입했으며 사용자 풀 설정에서 이 두 속성의 확인을 요구하는 경우 Amazon Cognito에서 확인 코드를 SMS 메시지를 통해 전화번호로 보냅니다. Amazon Cognito에선 아직 이메일 주소를 확인하지 않았기 때문에 앱에서 GetUser를 호출하여 이메일 주소가 확인을 기다리는지 여부를 확인해야 합니다. 확인이 필요한 경우 앱에서 GetUserAttributeVerificationCode를 호출하여 이메일 확인 흐름을 시작해야 합니다. 그런 다음 VerifyUserAttribute를 호출하여 확인 코드를 제출해야 합니다.

AWS 계정 및 개별 메시지에 대한 SMS 메시지 지출 할당량을 조정할 수 있습니다. 이러한 한도는 SMS 메시지 전송 비용에만 적용됩니다. 자세한 내용은 Amazon SNS FAQ계정 수준 및 메시지 수준의 지출 할당량이란 무엇이며 어떻게 작동합니까?를 참조하세요.

Amazon Cognito는 사용자 풀이 생성된 AWS 리전 또는 다음 표에 나와 있는 레거시 Amazon SNS 대체 리전에서 Amazon SNS 리소스를 사용하여 SMS 메시지를 보냅니다. 아시아 태평양(서울) 리전에 있는 Amazon Cognito 사용자 풀은 예외입니다. 이러한 사용자 풀은 Amazon SNS 구성을 아시아 태평양(도쿄) 리전에서 사용합니다. 자세한 내용은 Amazon SNS SMS AWS 리전 메시지용 선택 섹션을 참조하세요.

Amazon Cognito 리전 레거시 Amazon SNS 대체 리전
미국 동부(오하이오) 미국 동부(버지니아 북부)
아시아 태평양(뭄바이) 아시아 태평양(싱가포르)
아시아 태평양(서울) 아시아 태평양(도쿄)
캐나다(중부) 미국 동부(버지니아 북부)
유럽(프랑크푸르트) 유럽(아일랜드)
유럽(런던) 유럽(아일랜드)

예: Amazon Cognito 사용자 풀이 아시아 태평양(뭄바이)에 있고 ap-southeast-1의 지출 한도가 늘어난 경우 ap-southeast-1의 별도 증가를 요청하지 않을 수 있습니다. 대신 Amazon SNS 리소스를 아시아 태평양(싱가포르)에서 사용할 수 있습니다.

이메일 주소 및 전화번호에 대한 업데이트 확인

이메일 주소 또는 전화번호 속성은 사용자가 값을 변경한 직후에 미확인 상태로 활성화됩니다. 또한 Amazon Cognito에서 속성을 업데이트하기 전에 사용자가 새 값을 확인하도록 요구할 수도 있습니다. 사용자가 먼저 새 값을 확인하도록 요청하는 경우 원래 값을 사용하여 로그인하고 새 값을 확인할 때까지 메시지를 수신할 수 있습니다.

사용자가 이메일 주소 또는 전화번호를 사용자 풀의 로그인 별칭으로 사용할 수 있는 경우 업데이트된 속성의 로그인 이름은 업데이트된 속성의 확인이 필요한지에 따라 달라집니다. 업데이트된 속성을 확인해야 하는 경우 사용자는 새 값을 확인할 때까지 원래 속성 값으로 로그인할 수 있습니다. 사용자가 업데이트된 속성을 확인하지 않아도 되는 경우 사용자는 새 값을 확인할 때까지 새 속성 값이나 원래 속성 값으로 로그인하거나 메시지를 받을 수 없습니다.

예를 들어, 사용자 풀은 이메일 주소 별칭으로 로그인을 허용하고 사용자가 업데이트할 때 이메일 주소를 확인해야 합니다. sue@example.com으로 로그인하는 Sue는 이메일 주소를 sue2@example.com으로 바꾸기를 원했지만, 실수로 ssue2@example.com을 입력했습니다. Sue는 확인 이메일을 받지 못하니 ssue2@example.com을 확인할 수가 없습니다. Sue는 sue@example.com으로 로그인한 후 앱에서 양식을 다시 제출하여 이메일 주소를 sue2@example.com으로 업데이트합니다. 확인 이메일을 받고 앱에 확인 코드를 입력한 그녀는 이제 sue2@example.com으로 로그인하기 시작합니다.

사용자가 속성을 업데이트하고 사용자 풀이 새 속성 값을 검증하는 경우
  • 새 값을 검증하기 위한 코드를 확인하기 전에 원래 속성 값으로 로그인할 수 있습니다.

  • 새 값을 검증하기 위한 코드를 확인한 후에만 새 속성 값으로 로그인할 수 있습니다.

  • AdminUpdateUserAttributes API 요청에서 email_verified 또는phone_number_verified를 true로 설정하면 Amazon Cognito가 전송한 코드를 확인하기 전에 로그인할 수 있습니다.

사용자가 속성을 업데이트하고 사용자 풀이 새 속성 값을 검증하지 않는 경우
  • 원래 속성 값으로 로그인하거나 메시지를 수신할 수 없습니다.

  • 새 값을 검증하기 위한 코드를 확인하기 전에는 새 속성 값으로 로그인하거나 확인 코드 이외의 메시지를 받을 수 없습니다.

  • AdminUpdateUserAttributes API 요청에서 email_verified 또는phone_number_verified를 true로 설정하면 Amazon Cognito가 전송한 코드를 확인하기 전에 로그인할 수 있습니다.

사용자가 이메일 주소 또는 전화번호를 업데이트할 때 속성 확인을 요청하려면

  1. Amazon Cognito 콘솔에 로그인합니다. 메시지가 표시되면 AWS 자격 증명을 입력합니다.

  2. 탐색 창에서 [사용자 풀(User Pools)]을 선택한 다음 편집할 사용자 풀을 선택합니다.

  3. 가입 환경(Sign-up experience) 탭의 속성 확인 및 사용자 계정 확인(Attribute verification and user account confirmation)에서 편집(Edit)을 선택합니다.

  4. 업데이트가 보류 중일 때 원래 속성 값을 활성 상태로 유지(Keep original attribute value active when an update is pending)를 선택합니다.

  5. 업데이트가 보류 중일 때 활성 속성 값(Active attribute values when an update is pending)에서 Amazon Cognito가 값을 업데이트하기 전에 사용자가 확인해야 할 속성을 선택합니다.

  6. Save changes(변경 사항 저장)를 선택합니다.

Amazon Cognito API를 사용하여 속성 업데이트를 확인하도록 하려면 UpdateUserPool 요청에 RequireAttributesVerifiedBeforeUpdate 파라미터를 설정하면 됩니다.

Amazon Cognito에 자동으로 SMS 메시지를 전송할 수 있는 권한 부여

Amazon Cognito가 자동으로 사용자에게 SMS 메시지를 보내려면 권한이 필요합니다. 이러한 권한을 부여하려면 AWS Identity and Access Management(IAM) 역할을 생성합니다. Amazon Cognito 콘솔의 메시징 탭에서 SMS에서 편집을 선택하여 역할을 설정합니다.