SMS と E メール検証メッセージおよびユーザー招待メッセージの設定 - Amazon Cognito

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SMS と E メール検証メッセージおよびユーザー招待メッセージの設定

Amazon Cognito では、SMS および E メール検証メッセージとユーザー招待メッセージをカスタマイズして、アプリケーションのセキュリティとユーザーエクスペリエンスを向上させることができます。Amazon Cognito では、アプリケーションのニーズに応じて、コードベースのリンク検証またはワンクリックリンク検証を選択できます。このトピックでは、Amazon Cognito コンソールで多要素認証 (MFA) および検証通信をパーソナライズする方法について説明します。

[メッセージング] タブの [メッセージテンプレート] で、以下をカスタマイズできます。

  • SMS テキストメッセージ多要素認証 (MFA) メッセージ

  • SMS と E メールの検証メッセージ

  • E メールの検証タイプ (コードまたはリンク)

  • ユーザーの招待メッセージ

  • ユーザープールを介するメールの FROM および REPLY-TO E メールアドレス

注記

SMS と電子メールの確認メッセージのテンプレートは、[検証] タブで電話番号と E メールの確認を要求するよう選択した場合にのみ表示されます。同様に、SMS MFA メッセージのテンプレートは、MFA 設定が [required] (必要) または [optional] (任意) の場合にのみ表示されます。

メッセージテンプレート

メッセージテンプレートを使用すると、対応する値が置き換わるプレースホルダーを使用して、メッセージにフィールドを挿入することができます。

テンプレートのプレースホルダー

説明

トークン

確認コード {####}
一時パスワード {####}
ユーザー名 {username}
注記

検証 E メールメッセージに {username} プレースホルダーを使用することはできません。{username} プレースホルダーは、 AdminCreateUserオペレーションで生成する招待 E メールメッセージで使用できます。これらの招待 E メールメッセージには 2 つのプレースホルダーを使用します。{username} というユーザー名、{####} という一時パスワードです。

アドバンスドセキュリティのテンプレートのプレースホルダーを使用して、以下を行うことができます。

  • IP アドレス、市、国、サインイン時間、デバイス名など、イベントに関する具体的な詳細を記載します。Amazon Cognito のアドバンスドセキュリティ機能は、これらの詳細を分析できます。

  • ワンクリックリンクが有効であるかどうかを確認します。

  • イベント ID、フィードバックトークン、およびユーザー名を使用して独自のワンクリックリンクを構築します。

注記

ワンクリックリンクを生成し、アドバンスドセキュリティ E メールテンプレートで {one-click-link-valid} および {one-click-link-invalid} プレースホルダーを使用するには、ユーザープール用にドメインが既に設定されている必要があります。

アドバンスドセキュリティのテンプレートのプレースホルダー

説明

トークン

IP アドレス {ip-address}
City {city}
Country {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 メッセージの最大長を 140 文字 (認証コードを含む) の UTF-8 文字に設定しています。

SMS 検証メッセージのカスタマイズ

[SMS 検証メッセージをカスタマイズしますか?] ヘッダーの下のテンプレートを編集して、電話番号認証用の SMS メッセージをカスタマイズできます。

重要

カスタムメッセージには、{####}プレースホルダーを含む必要があります。このプレースホルダーは、メッセージが送信される前に検証コードへ置き換えられます。

メッセージの最大長は検証コードを含めて UTF-8 で 140 文字です。

E メール検証メッセージのカスタマイズ

Amazon Cognito でユーザープール内のユーザーの E メールアドレスを確認するには、ユーザーが選択できるリンクを記載した E メールメッセージをユーザーに送信するか、ユーザーが入力できるコードを送信します。

E メールアドレス検証メッセージの E メールの件名とメッセージ内容をカスタマイズするには、ユーザープールの [メッセージング] タブで [検証メッセージ] テンプレートを編集します。[検証メッセージ] テンプレートを編集するときに、検証タイプとしてコードまたはリンクを選択できます。

検証タイプとしてコードを選択した場合、カスタムメッセージには {####} プレースホルダーを含める必要があります。メッセージを送信するときに、検証コードはこのプレースホルダーを置き換えます。

検証タイプとしてリンクを選択した場合、カスタムメッセージにはプレースホルダーを {##Verify Your Email##} の形式で含める必要があります。プレースホルダー文字間のテキスト文字列は、{##Click here##} のように変更できます。E メールを検証するというタイトルの検証リンは、このプレースホルダーを置き換えます。

E メール検証メッセージのリンクは、ユーザーを次の例のような URL に誘導します。

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

メッセージの最大長は検証コード (ある場合) を含めて UTF-8 で 20,000 文字です。このメッセージでは、HTML タグを使用してコンテンツの書式を設定できます。

ユーザー招待メッセージのカスタマイズ

Amazon Cognito が SMS または E メールメッセージを使用して新規ユーザーに送信するユーザー招待メッセージをカスタマイズするには、[メッセージング] タブの []招待メッセージ] テンプレートを編集します。

重要

カスタムメッセージには、{username} および {####} のプレースホルダーを含む必要があります。Amazon Cognito が招待メッセージを送信すると、これらのプレースホルダーはユーザーのユーザー名とパスワードに置き換えられます。

SMS メッセージの最大長は検証コードを含めて UTF-8 で 140 文字です。E メールメッセージの最大長は検証コードを含めて UTF-8 で 20,000 文字です。E メールメッセージに HTML タグを使用して、コンテンツの書式を設定できます。

E メールアドレスのカスタマイズ

デフォルトでは、Amazon Cognito は、no-reply@verificationemail.com からユーザープール内のユーザーに E メールメッセージを送信します。no-reply@verificationemail.com の代わりにカスタムの FROM と REPLY-TO メールアドレスを指定するか選択できます。

FROM と REPLY-TO の E メールアドレスをカスタマイズするには
  1. [Amazon Cognito console] (Amazon Cognito コンソール) に移動し、[User Pools] (ユーザープール) を選択します。

  2. リストから既存のユーザープールを選択するか、ユーザープールを作成します。

  3. [Messaging] (メッセージング) タブを選択します。[Email] (E メール) で、[Edit] (編集) を選択します。

  4. [SES Region] (SES リージョン)を選択します。

  5. 選択した [SES Region] (SES リージョン) の Amazon SES で検証した E メールアドレスリストから [FROM email address] (FROM E メールアドレス) を選択します。検証済みドメインのメールアドレスを使用する場合は、AWS Command Line Interface または AWS API で E メール設定を行います。詳細については、Amazon Simple Email Service デベロッパーガイドの「Amazon SES での E メールアドレスとドメインの検証」を参照してください。

  6. 選択した[SES Region] (SES リージョン)の構成セットのリストから、[Configuration set] (構成セット) を選択します。

  7. E メールメッセージ用に、わかりやすい [FROM sender name] (FROM 送信者名) をJohn Stiles <johnstiles@example.com>の形式で入力します。

  8. 返信先 E メールアドレスをカスタマイズするには、[REPLY-TO email address (返信先 E メールアドレス)] フィールドに有効な E メールアドレスを入力します。

Amazon SES E メールを代理送信するための Amazon Cognito の承認 (カスタム REPLY-TO E メールアドレスからの送信)

Amazon Cognito は、デフォルトのアドレスではなく、カスタムの FROM メールアドレスからメールを送信するように設定できます。カスタムアドレスを使用するには、Amazon SES で検証済みの ID から E メールメッセージを送信できる許可を Amazon Cognito に付与する必要があります。ほとんどの場合、送信承認ポリシーを作成することで許可が付与できます。詳細については、Amazon Simple Email Service デベロッパーガイドの「Amazon SES での送信承認の使用」を参照してください。

メールメッセージに Amazon SES の使用許可をユーザープールを設定すると、Amazon Cognito はアカウントに AWSServiceRoleForAmazonCognitoIdpEmailService ロールを作成して、Amazon SES へのアクセスを許可します。AWSServiceRoleForAmazonCognitoIdpEmailService サービスにリンクされたロールが使用される場合、送信承認ポリシーは必要ありません。ユーザープールのデフォルト E メール機能と、検証済みの Amazon SES ID の両方を FROM アドレスとして使用する場合のみ、送信承認ポリシーを追加する必要があります。

Amazon Cognito が作成するサービスリンクロールの詳細については、「Amazon Cognito のサービスリンクロールの使用」を参照してください。

次の送信承認ポリシーの例では、Amazon SES 検証済み ID を使用するための限定された権限が Amazon Cognito に付与されています。Amazon Cognito は、条件 aws:SourceArn のユーザープールと条件 aws:SourceAccount のアカウントの両方に代わって送信する場合にのみ、E メールメッセージを送信できます。その他の例については、「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 Cognito コンソールは、ドロップダウンメニューから Amazon SES の ID を選択するときに同様のポリシーを追加します。CLI または API を使用してユーザープールを設定する場合は、前の例のように構造化されたポリシーを Amazon SES アイデンティティにアタッチする必要があります。