SMS 및 이메일 확인 메시지와 사용자 초대 메시지 구성 - Amazon Cognito

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

SMS 및 이메일 확인 메시지와 사용자 초대 메시지 구성

Amazon Cognito를 사용하면 SMS 및 이메일 확인 메시지와 사용자 초대 메시지를 사용자 지정하여 애플리케이션의 보안 및 사용자 환경을 개선할 수 있습니다. Amazon Cognito를 사용하면 애플리케이션 요구 사항에 맞게 코드 기반 또는 원클릭 링크 인증 중에서 선택할 수 있습니다. 이 주제에서는 Amazon Cognito 콘솔에서 멀티 팩터 인증 (MFA) 및 검증 통신을 개인화하는 방법을 설명합니다.

메시지 템플릿 아래의 메시지 탭에서 다음을 사용자 지정할 수 있습니다.

  • SMS 문자 메시지 멀티 팩터 인증(MFA) 메시지

  • SMS 및 이메일 확인 메시지

  • 이메일의 확인 유형(코드 또는 링크)

  • 사용자 초대 메시지

  • 사용자 풀을 통해 전송되는 이메일의 FROM 및 REPLY-TO 이메일 주소

참고

SMS 및 이메일 확인 메시지 템플릿은 [확인(Verifications)] 탭에서 전화 번호 및 이메일 확인을 요구하도록 선택한 경우에만 표시됩니다. 마찬가지로, SMS MFA 메시지 템플릿은 MFA 설정이 [필수(required)] 또는 [선택 사항(optional)]인 경우에만 표시됩니다.

메시지 템플릿

메시지 템플릿을 사용하여 해당 값이 대체하는 자리 표시자를 사용하여 메시지에 필드를 삽입할 수 있습니다.

템플릿 자리 표시자

설명

토큰

확인 코드 {####}
임시 암호 {####}
사용자 이름 {username}
참고

{username} 자리 표시자는 확인 이메일 메시지에 사용할 수 없습니다. 작업과 함께 생성하는 초대 이메일 메시지에 {username} 자리 표시자를 사용할 수 있습니다. AdminCreateUser 이러한 초대 이메일 메시지에는 두 개의 자리 표시자인 사용자 이름({username}) 및 임시 암호({####})를 사용합니다.

고급 보안 템플릿 자리 표시자를 사용하여 다음을 수행할 수 있습니다.

  • IP 주소, 도시, 국가, 로그인 시간 및 디바이스 이름과 같은 이벤트에 대한 특정 세부 정보를 포함합니다. Amazon Cognito 고급 보안 기능은 이러한 세부 정보를 분석할 수 있습니다.

  • 원클릭 링크가 유효한지 확인할 수 있습니다.

  • 이벤트 ID, 피드백 토큰, 사용자 이름을 사용하여 자체 원클릭 링크를 작성합니다.

참고

원클릭 링크를 생성하고 고급 보안 이메일 템플릿에서 {one-click-link-valid}{one-click-link-invalid} 자리 표시자를 사용하려면 이미 사용자 풀에 대한 도메인이 구성되어 있어야 합니다.

고급 보안 템플릿 자리 표시자

설명

토큰

IP 주소 {ip-address}
구/군/시 {city}
국가 {country}
로그인 시간 {login-time}
디바이스 이름 {device-name}
원클릭 링크가 유효합니다. {one-click-link-valid}
원클릭 링크가 유효하지 않습니다. {one-click-link-invalid}
이벤트 ID {event-id}
피드백 토큰 {feedback-token}

SMS 메시지 사용자 정의

참고

새 Amazon Cognito 콘솔 환경에서는 SMS 메시지를 사용자 지정할 수 있습니다.

메시징 탭의 메시지 템플릿 아래에서 다중 인증(MFA)에 대한 SMS 메시지를 사용자 지정할 수 있습니다.

중요

사용자 정의 메시지에는 {####} 자리 표시자가 포함되어야 합니다. 이 자리 표시자는 메시지를 보내기 전에 인증 코드로 대체됩니다.

Amazon Cognito에서는 인증 코드를 포함한 SMS 메시지의 최대 길이가 UTF-8 140자로 제한됩니다.

SMS 확인 메시지 사용자 정의

[SMS 확인 메시지를 사용자 지정하시겠습니까?(Do you want to customize your SMS verification messages?)]라는 머리글 아래의 템플릿을 편집하여 전화 번호 확인을 위한 SMS 메시지를 사용자 지정할 수 있습니다.

중요

사용자 정의 메시지에는 {####} 자리 표시자가 포함되어야 합니다. 이 자리 표시자는 메시지를 보내기 전에 확인 코드로 대체됩니다.

메시지의 최대 길이는 확인 코드를 포함하여 140자(UTF-8)입니다.

이메일 확인 메시지 사용자 정의

Amazon Cognito를 사용하여 사용자 풀에 있는 사용자의 이메일 주소를 확인하려면 사용자가 선택할 수 있는 링크가 포함된 이메일 메시지를 사용자에 보내거나 사용자가 입력할 수 있는 코드를 사용자에게 보냅니다.

이메일 주소 인증 메시지의 이메일 제목 및 메시지 콘텐츠를 사용자 지정하려면 사용자 풀의 메시지 탭에서 인증 메시지 템플릿을 편집합니다. 인증 메시지 템플릿을 편집할 때 인증 유형코드 또는 링크를 선택할 수 있습니다.

확인 유형으로 코드를 선택한 경우 사용자 지정 메시지에 {####} 자리 표시자가 포함되어야 합니다. 메시지를 전송할 때 이 자리 표시자는 확인 코드로 대체됩니다.

확인 유형으로 링크를 선택한 경우 사용자 지정 메시지에 {##Verify Your Email##} 형식의 자리 표시자가 포함되어야 합니다. 예를 들어 {##Click here##} 같이 자리 표시자 문자 사이의 텍스트 문자열을 변경할 수 있습니다. 이 자리 표시자는 이메일 확인(Verify Your Email)이라는 확인 링크로 대체됩니다.

이메일 확인 메시지에 대한 링크를 클릭하면 다음 예와 같은 URL로 이동합니다.

https://<your user pool domain>/confirmUser/?client_id=abcdefg12345678&user_name=emailtest&confirmation_code=123456

메시지의 최대 길이는 확인 코드(있는 경우)를 포함하여 20,000자(UTF-8)입니다. 이 메시지에 HTML 태그를 사용하여 내용을 포맷할 수 있습니다.

사용자 초대 메시지 사용자 정의

메시지 탭의 초대 메시지 템플릿을 편집하여 Amazon Cognito가 SMS 또는 이메일 메시지를 통해 새 사용자에게 보내는 사용자 초대 메시지를 사용자 정의할 수 있습니다.

중요

사용자 정의 메시지에는 {username}{####} 자리 표시자가 포함되어야 합니다. Amazon Cognito는 초대 메시지를 보낼 때 이러한 자리 표시자를 사용자의 사용자 이름과 암호로 대체합니다.

SMS 메시지의 최대 길이는 확인 코드를 포함하여 140자(UTF-8)입니다. 이메일 메시지의 최대 길이는 확인 코드를 포함하여 20,000자(UTF-8)입니다. 이메일 메시지에 HTML 태그를 사용하여 내용을 포맷할 수 있습니다.

이메일 주소 사용자 정의

기본값으로 Amazon Cognito는 사용자 풀의 사용자에게 no-reply@verificationemail.com 주소에서 이메일 메시지를 전송합니다. no-reply@verificationemail.com 대신 사용자 정의 FROM 및 REPLY-TO 이메일 주소를 지정할 수 있습니다.

FROM 및 REPLY-TO 이메일 주소를 사용자 정의하려면
  1. Amazon Cognito 콘솔로 이동하여, [사용자 풀(User Pools)]을 선택합니다.

  2. 목록에서 기존 사용자 풀을 선택하거나 사용자 풀을 생성합니다.

  3. [메시징(Messaging)] 탭을 선택합니다. [이메일(Email)]에서 [편집(Edit)]을 선택합니다.

  4. SES 리전(SES Region)을 선택합니다.

  5. 선택한 SES 리전(SES Region)의 Amazon SES로 확인한 이메일 주소 목록에서 발신 이메일 주소(FROM email address)를 선택합니다. 확인된 도메인의 이메일 주소를 사용하려면 AWS Command Line Interface 또는 AWS API에서 이메일 설정을 구성합니다. 자세한 내용은 Amazon Simple Email Service 개발자 가이드에서 Amazon SES에서 이메일 주소 및 도메인 확인을 참조하세요.

  6. 선택한 [SES 리전(SES Region)]의 구성 집합 목록에서 [구성 집합(Configuration set)]을 선택합니다.

  7. 이메일 메시지의 친숙한 [FROM 발신자 이름(FROM sender name)]을 John Stiles <johnstiles@example.com> 포맷으로 입력합니다.

  8. 회신 이메일 주소를 사용자 지정하려면 회신 이메일 주소 필드에 유효한 이메일 주소를 입력합니다.

Amazon Cognito가 사용자를 대신하여 (사용자 정의 FROM 이메일 주소에서) Amazon SES 이메일을 전송하도록 권한 부여

기본 주소 대신 사용자 정의 FROM 이메일 주소에서 이메일을 전송하도록 Amazon Cognito를 구성할 수 있습니다. 사용자 정의 주소를 사용하려면 Amazon SES 확인 자격 증명에서 이메일 메시지를 전송할 수 있는 권한을 Amazon Cognito에 부여해야 합니다. 대부분의 경우에 전송 권한 부여 정책을 생성하여 권한을 부여할 수 있습니다. 자세한 내용은 Amazon Simple Email Service 개발자 가이드에서 Amazon SES에서 전송 권한 부여 사용을 참조하세요.

이메일 메시지에 Amazon SES를 사용하도록 사용자 풀을 구성하면 Amazon Cognito는 계정에 AWSServiceRoleForAmazonCognitoIdpEmailService 역할을 생성하여 Amazon SES에 대한 액세스 권한을 부여합니다. AWSServiceRoleForAmazonCognitoIdpEmailService 서비스 연결 역할을 사용하는 경우에는 전송 권한 부여 정책이 필요하지 않습니다. 사용자 풀의 기본 이메일 기능 FROM 주소로 확인된 Amazon SES 자격 증명을 둘 다 사용하는 경우에만 전송 권한 부여 정책을 추가해야 합니다.

Amazon Cognito가 생성하는 서비스 연결 역할에 대한 자세한 내용은 Amazon Cognito에 서비스 연결 역할 사용 섹션을 참조하세요.

다음 전송 권한 부여 정책 예제는 Amazon Cognito에 Amazon SES 확인 자격 증명을 사용할 수 있는 제한적인 권한을 부여합니다. Amazon Cognito는 aws:SourceArn 조건의 사용자 풀과 aws:SourceAccount 조건의 계정을 둘 다 대신하는 경우에만 이메일 메시지를 전송할 수 있습니다. 자세한 내용은 Amazon Simple Email Service 개발자 가이드에서 Amazon SES 전송 권한 부여 정책 예제를 참조하세요.

참고

이 예제에서 "Sid" 값은 명령문을 고유하게 식별하는 임의 문자열입니다. 정책 구문에 대한 자세한 내용은 Amazon Simple Email Service 개발자 가이드에서 Amazon SES 전송 권한 부여 정책을 참조하세요.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "stmnt1234567891234", "Effect": "Allow", "Principal": { "Service": [ "email.cognito-idp.amazonaws.com" ] }, "Action": [ "SES:SendEmail", "SES:SendRawEmail" ], "Resource": "<your SES identity ARN>", "Condition": { "StringEquals": { "aws:SourceAccount": "<your account number>" }, "ArnLike": { "aws:SourceArn": "<your user pool ARN>" } } } ] }

드롭다운 메뉴에서 Amazon SES 자격 증명을 선택하면 Amazon Cognito 콘솔이 유사한 정책을 자동으로 추가합니다. CLI 또는 API를 사용하여 사용자 풀을 구성하는 경우 이전 예제와 같이 구성된 정책을 Amazon SES 자격 증명에 연결해야 합니다.