SMSAmazon Cognito 사용자 풀의 메시지 설정 - Amazon Cognito

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

SMSAmazon Cognito 사용자 풀의 메시지 설정

사용자 풀의 일부 Amazon Cognito 이벤트로 인해 Amazon Cognito가 사용자에게 문자 메시지를 SMS 보낼 수 있습니다. 예를 들어 전화 인증을 요구하도록 사용자 풀을 구성한 경우, 사용자가 앱에서 새 계정을 등록하거나 암호를 재설정하면 Amazon Cognito에서 SMS 문자 메시지를 보냅니다. SMS문자 메시지를 시작하는 작업에 따라 메시지에는 확인 코드, 임시 암호 또는 환영 메시지가 포함됩니다.

Amazon Cognito는 SMS 문자 메시지 전송을 위해 아마존 단순 알림 서비스 SNS (Amazon) 를 사용합니다. Amazon Cognito 또는 Amazon을 통해 처음으로 문자 메시지를 보내는 경우 SNS Amazon은 사용자를 샌드박스 SNS 환경으로 안내합니다. 샌드박스 환경에서는 애플리케이션의 SMS 문자 메시지를 테스트할 수 있습니다. 샌드박스에서 메시지는 확인된 전화 번호로만 보낼 수 있습니다.

Amazon은 SMS 문자 메시지에 대해 SNS 요금을 부과합니다. 자세한 내용은 Amazon SNS 요금을 참조하십시오.

참고

전 세계적으로 원치 않는 SMS 트래픽이 너무 많기 때문에 일부 정부는 메시지 발신자와 수신자 사이에 장벽을 부과합니다. SMS SMS메시지 대상 MFA 및 사용자 업데이트를 사용하는 경우 메시지가 제대로 전달되도록 추가 조치를 취해야 합니다. 또한 사용자가 거주할 수 있는 국가의 SMS 메시지 관련 규정을 모니터링하고 SMS 메시지 구성을 최신으로 유지해야 합니다. 자세한 내용은 Amazon 단순 알림 서비스 개발자 안내서의 모바일 문자 메시지 (SMS) 를 참조하십시오.

SMS메시지를 사용하여 사용자를 인증하고 확인하는 것은 보안 모범 사례가 아닙니다. 전화번호는 소유자를 바꿀 수 있으며, 사용자가 중요하게 여기는 요소가 될 수 있습니다. MFA 대신 앱이나 타사 IdP를 사용하여 TOTP MFA 구현하세요. 사용자 정의 인증 챌린지 Lambda 트리거를 사용하여 추가 사용자 지정 인증 요소를 생성할 수도 있습니다.

Amazon Cognito는 사용자가 입력할 수 있는 코드가 포함된 SMS 메시지를 사용자에게 보냅니다. 다음 표는 SMS 메시지를 생성할 수 있는 이벤트를 보여줍니다.

메시지 옵션

활동 API오퍼레이션 전송 옵션 포맷 옵션 사용자 지정 가능 메시지 템플릿
암호 찾기 ForgotPassword, AdminResetUserPassword 이메일, SMS code 아니요 N/A
초대 AdminCreateUser 이메일, SMS code 초대 메시지
셀프 등록 SignUp, ResendConfirmationCode 이메일, SMS 코드, 링크 확인 메시지
이메일 주소 또는 전화번호 인증 UpdateUserAttributes, AdminUpdateUserAttributes, GetUserAttributeVerificationCode 이메일, SMS code 확인 메시지
다단계 인증 () MFA AdminInitiateAuth, InitiateAuth SMS, 인증 앱 code 예¹ MFA메시지

¹ SMS 메시지용.

Amazon Cognito 사용자 풀에서 처음으로 SMS 메시지 설정

Amazon Cognito는 SNS Amazon을 사용하여 사용자 풀에 SMS 메시지를 전송합니다. a를 사용하여 자체 리소스를 사용자 지정 SMS 발신자 Lambda 트리거 사용하여 SMS 메시지를 보낼 수도 있습니다. Amazon에서 특정 AWS 리전지역에 SMS 문자 메시지를 SNS 보내도록 처음 설정하는 경우 Amazon은 해당 지역의 샌드박스에 사용자를 SNS 배치합니다. SNS Amazon은 SMS 샌드박스를 사용하여 사기 및 남용을 방지하고 규정 준수 요구 사항을 AWS 계정 충족합니다. 샌드박스에 있는 경우 AWS 계정 Amazon은 몇 가지 SNS 제한 사항을 적용합니다. 예를 들어 Amazon에서 확인한 최대 10개의 전화번호로 문자 메시지를 보낼 수 SNS 있습니다. 샌드박스에 있는 동안에는 프로덕션 중인 애플리케이션에는 Amazon SNS 구성을 사용하지 마십시오. AWS 계정 샌드박스에서는 Amazon Cognito가 사용자의 전화 번호로 메시지를 보낼 수 없습니다.

Amazon Cognito가 Amazon에 SMS 메시지를 보내는 데 사용할 수 있는 IAM 역할을 준비하십시오. SNS

사용자 풀에서 SMS 메시지를 보내면 Amazon Cognito가 계정에서 IAM 역할을 맡습니다. Amazon Cognito는 해당 역할에 할당된 sns:Publish 권한을 사용하여 사용자에게 SMS 메시지를 보냅니다. Amazon Cognito 콘솔에서는 사용자 풀의 메시징 탭에서 IAM역할을 SMS선택하거나 사용자 풀 생성 마법사 중에 역할을 선택할 수 있습니다.

다음 예제 IAM 역할 신뢰 정책은 Amazon Cognito 사용자 풀에 역할을 수임할 수 있는 제한된 권한을 부여합니다. Amazon Cognito는 다음 조건을 충족하는 경우에만 역할을 맡을 수 있습니다.

  • 역할 가정 작업은 조건의 사용자 풀을 대신하여 수행됩니다. aws:SourceArn

  • 역할 수임 작업은 조건에 따라 설정된 사용자 풀을 대신하여 수행됩니다. AWS 계정 aws:SourceAccount

  • 역할 수임 작업에는 조건에 외부 ID가 포함됩니다. sts:externalId

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "cognito-idp.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:cognito-idp:us-west-2:111122223333:userpool/us-west-2_EXAMPLE" } } } ] }

조건 값에 정확한 사용자 ARN 풀이나 와일드카드를 ARN 지정할 수 있습니다. aws:SourceArn DescribeUserPoolAPI요청을 통해 ARNs AWS Management Console OR에 있는 사용자 풀을 찾아보십시오.

다단계 인증을 위해 SMS 메시지를 보내려면 IAM 역할 신뢰 정책에 sts:ExternalId 조건이 있어야 합니다. 이 조건의 값은 사용자 SmsConfiguration풀의 ExternalId 속성과 일치해야 합니다. Amazon Cognito 콘솔에서 사용자 풀을 생성하는 과정에서 IAM 역할을 생성하면 Amazon Cognito는 역할 및 사용자 풀 설정에서 외부 ID를 구성합니다. 기존 역할을 사용할 때는 그렇지 않습니다. IAM

UpdateUserPoolAPI요청의 사용자 풀 ExternalId 파라미터를 업데이트하고 IAM 역할 신뢰 정책을 동일한 값의 sts:externalId 조건으로 업데이트해야 합니다. 를 사용하여 원래 구성을 유지하는 방식으로 사용자 풀을 API 업데이트하는 방법을 알아보려면 을 참조하십시오사용자 풀 구성 업데이트.

IAM역할 및 신뢰 정책에 대한 자세한 내용은 AWS Identity and Access Management 사용 설명서의 역할 용어 및 개념을 참조하십시오.

Amazon AWS 리전 SNS SMS 메시지용 선택

일부 AWS 리전지역에서는 Amazon Cognito SMS 메시지에 사용할 Amazon SNS 리소스가 포함된 지역을 선택할 수 있습니다. 아시아 태평양 (서울) 을 제외하고 Amazon Cognito를 사용할 수 있는 모든 AWS 리전 AWS 리전 곳에서 사용자 풀을 생성한 곳의 Amazon SNS 리소스를 사용할 수 있습니다. 지역을 선택할 수 있을 때 SMS 메시지를 더 빠르고 안정적으로 보내려면 사용자 풀과 동일한 지역의 Amazon SNS 리소스를 사용하십시오.

참고

에서는 새로운 Amazon Cognito 콘솔 환경으로 전환한 후에만 SMS 리소스의 지역을 변경할 수 있습니다. AWS Management Console

새 사용자 풀 마법사의 메시지 전송 구성 단계에서 SMS 리소스의 리전을 선택합니다. 기존 사용자 SMS풀의 메시징 탭에서 편집을 선택할 수도 있습니다.

출시 당시 일부 AWS 리전 Amazon Cognito는 대체 지역의 Amazon SNS 리소스와 함께 SMS 메시지를 보냈습니다. 선호 지역을 설정하려면 사용자 풀의 SmsConfigurationType객체 SnsRegion 파라미터를 사용하십시오. 다음 표에서 Amazon Cognito 지역에 Amazon Cognito 사용자 풀 리소스를 프로그래밍 방식으로 생성하고 파라미터를 제공하지 SnsRegion 않는 경우, 사용자 풀은 기존 Amazon 지역의 SNS Amazon 리소스로 SMS 메시지를 보낼 수 있습니다. SNS

아시아 태평양 (서울) 의 Amazon Cognito 사용자 풀은 아시아 태평양 (도쿄) 지역의 Amazon SNS 구성을 AWS 리전 사용해야 합니다.

Amazon은 모든 신규 계정의 지출 할당량을 월 1.00 달러 ($USD) 로 SNS 설정합니다. Amazon Cognito와 함께 사용하는 경우 지출 한도가 증가했을 수 있습니다. AWS 리전 Amazon SNS SMS 메시지를 변경하기 전에 AWS Support Center에서 할당량 증가 사례를 열어 새 지역의 한도를 늘리십시오. AWS 리전 자세한 내용은 Amazon Simple Notification Service 개발자 안내서의 SNS Amazon에 대한 월간 SMS 지출 할당량 증가 요청을 참조하십시오.

다음 표에 나와 있는 모든 Amazon Cognito 지역에 대한 SMS 메시지를 해당 Amazon 지역의 Amazon SNS 리소스를 사용하여 보낼 수 있습니다. SNS

Amazon Cognito 리전 아마존 SNS 지역

미국 동부(오하이오)

미국 동부(오하이오), 미국 동부(버지니아 북부)

미국 동부(버지니아 북부)

미국 동부(버지니아 북부)

미국 서부(캘리포니아 북부)

미국 서부(캘리포니아 북부)

미국 서부(오레곤)

미국 서부(오레곤)

캐나다(중부)

캐나다(중부), 미국 동부(버지니아 북부)

캐나다 서부(캘거리)

캐나다 서부(캘거리)

유럽(프랑크푸르트)

유럽(프랑크푸르트), 유럽(아일랜드)

유럽(런던)

유럽(런던), 유럽(아일랜드)

유럽(아일랜드)

유럽(아일랜드)

유럽(파리)

유럽(파리)

유럽(스톡홀름)

유럽(스톡홀름)

유럽(밀라노)

유럽(밀라노)

유럽(스페인)

유럽(스페인)

유럽(취리히)

유럽(취리히)

아시아 태평양(뭄바이)

아시아 태평양(뭄바이), 아시아 태평양(싱가포르)

아시아 태평양(하이데라바드)

아시아 태평양(하이데라바드)

아시아 태평양(홍콩)

아시아 태평양(싱가포르)

아시아 태평양(서울)

아시아 태평양(도쿄)

아시아 태평양(싱가포르)

아시아 태평양(싱가포르)

아시아 태평양(시드니)

아시아 태평양(시드니)

아시아 태평양(도쿄)

아시아 태평양(도쿄)

아시아 태평양(자카르타)

아시아 태평양(자카르타)

아시아 태평양(오사카)

아시아 태평양(오사카)

아시아 태평양(멜버른)

아시아 태평양(멜버른)

중동(바레인)

중동(바레인)

중동 (UAE)

중동 (UAE)

남아메리카(상파울루)

남아메리카(상파울루)

이스라엘(텔아비브)

이스라엘(텔아비브)

아프리카(케이프타운)

아프리카(케이프타운)

미국 전화번호로 SMS 메시지를 보내기 위한 발신자 ID 확보

미국 전화번호로 SMS 문자 메시지를 보내려는 경우 SMS 샌드박스 테스트 환경을 구축하든 프로덕션 환경을 구축하든 관계없이 원본 ID를 얻어야 합니다.

2021년 6월 1일부터 미국 이동 통신사는 미국 전화 번호로 메시지를 보낼 때 발신 자격 증명을 요구합니다. 발신 자격 증명이 아직 없는 경우 받아야 합니다. 소스 자격 증명을 얻는 방법을 알아보려면 Amazon Pinpoint 사용 설명서에서 번호 요청을 참조하세요.

다음과 같은 AWS 리전작업을 수행하는 경우 AWS Support 티켓을 열어 오리진 ID를 얻어야 합니다. 지침은 Amazon Simple Notification Service 개발자 안내서의 SMS 메시징 지원 요청을 참조하십시오.

  • 미국 동부(오하이오)

  • 유럽(스톡홀름)

  • 유럽(파리)

  • 유럽(밀라노)

  • Middle East (Bahrain)

  • 남아메리카(상파울루)

  • 미국 서부(캘리포니아 북부)

동일한 원본 ID가 두 개 이상 있는 경우 Amazon은 단축 번호 AWS 리전, 10DLC, 무료 전화 번호와 같은 우선 순위에 따라 원본 ID 유형을 SNS 선택합니다. 이 우선 순위는 변경할 수 없습니다. 자세한 내용은 Amazon을 참조하십시오 SNSFAQs.

SMS샌드박스에 있는지 확인하세요.

다음 절차를 사용하여 SMS 샌드박스에 있는지 확인하십시오. 프로덕션 Amazon Cognito 사용자 풀이 AWS 리전 있는 각 위치에 대해 반복합니다.

샌드박스에 있는지 확인하려면 SMS
  1. Amazon Cognito 콘솔로 이동합니다. 메시지가 표시되면 AWS 자격 증명을 입력합니다.

  2. [사용자 풀(User Pools)]을 선택합니다.

  3. 목록에서 기존 사용자 풀을 선택합니다.

  4. [메시징(Messaging)] 탭을 선택합니다.

  5. SMS구성 섹션에서 Amazon SNS 프로덕션 환경으로 이동을 확장합니다. 계정이 SMS 샌드박스에 있는 경우 다음 메시지가 표시됩니다.

    You are currently in the SMS Sandbox and cannot send SMS messages to unverified numbers.

    이 메시지가 표시되지 않으면 누군가 이미 계정에 SMS 메시지를 설정한 것입니다. Amazon Cognito에서 사용자 풀 설정 완료로 이동하세요.

  6. 메시지에서 Amazon SNS 링크를 선택합니다. 그러면 Amazon SNS 콘솔이 새 탭에서 열립니다.

  7. 샌드박스 환경에 있는지 확인합니다. 콘솔 메시지는 샌드박스 상태를 나타내며 AWS 리전, 다음과 같습니다.

    This account is in the SMS sandbox in US East (N. Virginia).

Amazon SNS 샌드박스 밖으로 계정 이동

앱을 테스트하는 중에 관리자가 확인할 수 있는 전화번호로만 SMS 메시지를 보내면 되는 경우에는 이 단계를 건너뛰십시오.

프로덕션 환경에서 앱을 사용하려면 계정을 SMS 샌드박스에서 벗어나 프로덕션 환경으로 이동하세요. Amazon Cognito에서 사용할 Amazon SNS 리소스가 AWS 리전 포함된 원본 ID를 구성한 후에는 샌드박스에 있는 동안 미국 전화번호를 확인할 수 AWS 계정 있습니다. SMS Amazon SNS 환경이 프로덕션 상태일 때는 Amazon에서 사용자 전화번호를 인증하지 않아도 사용자에게 SMS 메시지를 SNS 보낼 수 있습니다.

자세한 지침은 Amazon Simple Notification Service 개발자 안내서의 SMS 샌드박스 탈출을 참조하십시오.

아마존에서 아마존 Cognito의 전화번호 확인하기 SNS

계정을 SMS 샌드박스 밖으로 옮긴 경우 이 단계를 건너뛰십시오.

SMS샌드박스 상태에서는 SNS Amazon에서 확인한 모든 전화번호로 메시지를 보낼 수 있습니다.

전화 번호를 확인하려면 다음을 수행합니다.

  1. Amazon SNS 콘솔의 문자 메시지 (SMS) 섹션에 샌드박스 대상 전화번호를 추가합니다.

  2. 제공한 전화번호로 코드가 포함된 SMS 메시지를 수신합니다.

  3. Amazon SNS 콘솔에 SMS 메시지의 확인 코드를 입력합니다.

자세한 지침은 Amazon Simple Notification Service 개발자 안내서의 SMS 샌드박스에서 전화번호 추가 및 확인을 참조하십시오.

참고

Amazon은 SMS 샌드박스에 있는 동안 확인할 수 있는 대상 전화번호의 수를 SNS 제한합니다. Amazon 단순 알림 서비스 개발자 안내서의 SMS 샌드박스를 참조하십시오.

Amazon Cognito에서 사용자 풀 설정 완료

사용자 풀을 생성 또는 편집하던 브라우저 탭으로 돌아갑니다. 절차를 완료합니다. 사용자 풀에 SMS 구성을 성공적으로 추가하면 Amazon Cognito가 내부 전화번호로 테스트 메시지를 보내 구성이 제대로 작동하는지 확인합니다. Amazon은 각 테스트 SMS 메시지에 대해 SNS 요금을 부과합니다.