翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
検証メッセージと招待メッセージの設定
Amazon Cognito を使用すると、SMS および E メールの検証メッセージとユーザー招待メッセージをカスタマイズして、アプリケーションのセキュリティとユーザーエクスペリエンスを強化できます。Amazon Cognito では、アプリケーションのニーズに応じて、コードベースのリンク検証またはワンクリックリンク検証を選択できます。このトピックでは、Amazon Cognito コンソールで多要素認証 (MFA) と検証通信をパーソナライズする方法について説明します。
メッセージテンプレートメニューでは、以下をカスタマイズできます。
-
SMS テキストメッセージ多要素認証 (MFA) メッセージ
-
SMS と E メールの検証メッセージ
-
E メールの検証タイプ (コードまたはリンク)
注記
Amazon Cognito は、ユーザーが確認コードにサインアップまたは再送信するときに、検証メッセージでリンクベースのテンプレートを含むリンクを送信します。属性更新オペレーションとパスワードリセットオペレーションからの E メールは、コードテンプレートを使用します。
-
ユーザーの招待メッセージ
-
ユーザープールを介するメールの FROM および REPLY-TO E メールアドレス
注記
SMS および E メール検証メッセージテンプレートは、電話番号と E メール検証を要求するように選択した場合にのみ表示されます。同様に、SMS MFA メッセージのテンプレートは、MFA 設定が [required] (必要) または [optional] (任意) の場合にのみ表示されます。
トピック
メッセージテンプレート
メッセージテンプレートを使用して、メッセージにプレースホルダーを挿入できます。Amazon Cognito はプレースホルダーを、対応する値に置き換えます。これらの値はすべてのメッセージタイプに存在するわけではありませんが、任意のタイプのメッセージテンプレートでユニバーサルテンプレートプレースホルダーを参照できます。
説明 |
トークン |
メッセージタイプ |
---|---|---|
検証コード | {####} |
検証、確認、MFA メッセージ |
一時パスワード | {####} |
パスワードを忘れた場合と招待メッセージ |
ユーザー名 | {username} |
招待メッセージと高度なセキュリティメッセージ |
脅威保護で利用可能な自動応答の 1 つは、Amazon Cognito が潜在的に悪意のあるアクティビティを検出したことをユーザーに通知することです。アドバンスドセキュリティのテンプレートのプレースホルダーを使用して、以下を行うことができます。
-
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} |
Event ID | {event-id} |
フィードバックトークン | {feedback-token} |
SMS メッセージのカスタマイズ
多要素認証 (MFA) 用の SMS メッセージをカスタマイズするには、Amazon Cognito ユーザープールコンソールのメッセージテンプレートメニューから MFA メッセージを編集します。
重要
カスタムメッセージには、{####}
プレースホルダーを含む必要があります。このプレースホルダーは、メッセージが送信される前に認証コードへ置き換えられます。
Amazon Cognito は、認証コードを含む SMS メッセージの最大長を 140 UTF-8 文字に設定します。
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 メールアドレスをカスタマイズするには
-
[Amazon Cognito console]
(Amazon Cognito コンソール) に移動し、[User Pools] (ユーザープール) を選択します。 -
リストから既存のユーザープールを選択するか、ユーザープールを作成します。
-
認証方法メニューを選択します。[Email] (E メール) で、[Edit] (編集) を選択します。
-
[SES Region] (SES リージョン)を選択します。
-
選択した [SES Region] (SES リージョン) の Amazon SES で検証した E メールアドレスリストから [FROM email address] (FROM E メールアドレス) を選択します。検証済みドメインの E メールアドレスを使用するには、 AWS Command Line Interface または AWS API で E メール設定を行います。詳細については、Amazon Simple Email Service デベロッパーガイドの「Amazon SES での E メールアドレスとドメインの検証」を参照してください。
-
選択した[SES Region] (SES リージョン)の構成セットのリストから、[Configuration set] (構成セット) を選択します。
-
E メールメッセージ用に、わかりやすい [FROM sender name] (FROM 送信者名) を
John Stiles <johnstiles@example.com>
の形式で入力します。 -
返信先 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 アイデンティティにアタッチする必要があります。