SMS Amazon Cognito 사용자 풀에 대한 메시지 설정 - Amazon Cognito

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

SMS Amazon Cognito 사용자 풀에 대한 메시지 설정

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

Amazon Cognito는 Amazon Simple Notification Service(Amazon SNS)를 사용하여 SMS 문자 메시지를 전송합니다. Amazon Cognito 또는 Amazon을 통해 문자 메시지를 SNS 처음 보내는 경우 Amazon은 사용자를 샌드박스 환경에 SNS 배치합니다. 샌드박스 환경에서 애플리케이션에 SMS 텍스트 메시지가 있는지 테스트할 수 있습니다. 샌드박스에서 메시지는 확인된 전화 번호로만 보낼 수 있습니다.

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

참고

전 세계 원치 않는 SMS 트래픽의 양으로 인해 일부 정부는 SMS 메시지 발신자와 수신자 간에 장벽을 부과합니다. MFA 및 사용자 업데이트에 SMS 메시지를 사용하는 경우 메시지가 전달되도록 추가 단계를 수행해야 합니다. 또한 사용자가 살 수 있는 국가의 규정을 모니터링하고 SMS-message-related SMS 메시지 구성을 최신 상태로 유지해야 합니다. 자세한 내용은 Amazon Simple Notification Service 개발자 안내서의 모바일 문자 메시징(SMS)을 참조하세요.

메시지를 사용하여 사용자를 SMS 인증하고 확인하는 것은 보안 모범 사례가 아닙니다. 전화번호는 소유자를 변경할 수 있으며 사용자에게 요인이 있는 것을 안정적으로 나타내지 못할 수 MFA 있습니다. 대신 앱 또는 타사 IdP TOTPMFA를 사용하여 를 구현합니다. 사용자 정의 인증 챌린지 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 예1 MFA 메시지

1 SMS 메시지의 경우.

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

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

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

{ "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" } } } ] }

aws:SourceArn 조건 값에 정확한 사용자 풀 ARN 또는 와일드카드ARN를 지정할 수 있습니다. DescribeUserPool API 요청으로 AWS Management Console 또는 에서 사용자 풀ARNs의 를 조회합니다.

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

UpdateUserPool API 요청에서 사용자 풀 ExternalId 파라미터를 업데이트하고 IAM 역할 신뢰 정책을 동일한 값의 sts:externalId 조건으로 업데이트해야 합니다. API 를 사용하여 원래 구성을 보존하는 방식으로 사용자 풀을 업데이트하는 방법을 알아보려면 섹션을 참조하세요사용자 풀 및 앱 클라이언트 구성 업데이트.

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

Amazon SNS SMS 메시지 AWS 리전 용 을 선택합니다.

일부 에서는 Amazon Cognito SMS 메시지에 사용할 Amazon SNS 리소스가 포함된 리전을 선택할 AWS 리전수 있습니다. 아시아 태평양(서울)을 제외하고 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 SNS 리소스와 함께 SMS 메시지를 보낼 수 있습니다.

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

Amazon은 모든 신규 계정에 대한 지출 할당량을 매월 $1.00(USD)로 SNS 설정합니다. Amazon Cognito 에 사용하는 에서 지출 한도를 늘렸 AWS 리전 을 수 있습니다. Amazon SNS SMS 메시지에 AWS 리전 대한 를 변경하기 전에 AWS 지원 센터에서 할당량 증가 사례를 열어 새 리전에서 한도를 늘립니다. 자세한 내용은 Amazon Simple Notification Service 개발자 안내서의 Amazon에 대한 월별 SMS 지출 할당량 증가 요청을 참조하세요SNS.

다음 표의 모든 Amazon Cognito 리전에 대해 해당 Amazon 리전 의 Amazon SNS 리소스와 함께 SMS 메시지를 보낼 수 SNS 있습니다.

Amazon Cognito 리전 Amazon SNS 리전

미국 동부(오하이오)

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

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

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

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

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

미국 서부(오레곤)

미국 서부(오레곤)

캐나다(중부)

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

캐나다 서부(캘거리)

캐나다 서부(캘거리)

유럽(프랑크푸르트)

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

유럽(런던)

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

유럽(아일랜드)

유럽(아일랜드)

유럽(파리)

유럽(파리)

유럽(스톡홀름)

유럽(스톡홀름)

유럽(밀라노)

유럽(밀라노)

유럽(스페인)

유럽(스페인)

유럽(취리히)

유럽(취리히)

아시아 태평양(뭄바이)

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

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

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

아시아 태평양(홍콩)

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

아시아 태평양(서울)

아시아 태평양(도쿄)

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

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

아시아 태평양(시드니)

아시아 태평양(시드니)

아시아 태평양(도쿄)

아시아 태평양(도쿄)

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

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

아시아 태평양(오사카)

아시아 태평양(오사카)

아시아 태평양(멜버른)

아시아 태평양(멜버른)

중동(바레인)

중동(바레인)

중동(UAE)

중동(UAE)

남아메리카(상파울루)

남아메리카(상파울루)

이스라엘(텔아비브)

이스라엘(텔아비브)

아프리카(케이프타운)

아프리카(케이프타운)

미국 전화번호로 SMS 메시지를 전송하기 위한 발신 자격 증명 획득

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

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

다음 에서 작업하는 경우 AWS Support 티켓을 열어 오리진 자격 증명을 얻어야 AWS 리전합니다. 지침은 Amazon Simple Notification Service 개발자 안내서 SMS 메시징 지원 요청을 참조하세요.

  • 미국 동부(오하이오)

  • 유럽(스톡홀름)

  • 유럽(파리)

  • 유럽(밀라노)

  • Middle East (Bahrain)

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

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

동일한 에 두 개 이상의 오리진 자격 증명이 있는 경우 Amazon은 단축 코드 AWS 리전, 10DLC, 수신자 부담 전화번호의 우선 순위 순서로 오리진 자격 증명 유형을 SNS 선택합니다. 이 우선 순위는 변경할 수 없습니다. 자세한 내용은 Amazon SNS FAQs을 참조하세요.

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 리전 오리진 자격 증명을 구성한 후에는 가 SMS샌드박스에 AWS 계정 있는 동안 미국 전화번호를 확인할 수 있습니다. Amazon SNS 환경이 프로덕션 상태인 경우 사용자에게 SMS 메시지를 보내기 SNS 위해 Amazon의 사용자 전화번호를 확인할 필요가 없습니다.

자세한 지침은 Amazon Simple Notification Service 개발자 안내서의 SMS Sandbox 밖으로 이동을 참조하세요.

Amazon에서 Amazon Cognito의 전화번호 확인 SNS

SMS 샌드박스에서 계정을 이동한 경우 이 단계를 건너뜁니다.

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

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

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

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

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

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

참고

Amazon은 SMS샌드박스에 있는 동안 확인할 수 있는 대상 전화번호 수를 SNS 제한합니다. Amazon Simple Notification Service 개발자 안내서의 SMS샌드박스를 참조하세요.

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

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