

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

# MFA、認証、検証、招待メッセージの設定
<a name="cognito-user-pool-settings-message-customizations"></a>

Amazon Cognito を使用すると、SMS や E メールの認証、検証、およびユーザー招待メッセージをカスタマイズして、アプリケーションのセキュリティとユーザーエクスペリエンスを強化できます。一部のメッセージでは、コードベースの検証またはワンクリックリンクによる検証を選択できます。このトピックでは、Amazon Cognito コンソールで認証と検証の通信をパーソナライズする方法について説明します。

**[メッセージテンプレート]** メニューで、以下をカスタマイズできます。
+ ワンタイムパスワード (OTP) と多要素認証 (MFA) 用の E メールおよび SMS メッセージテンプレート
+ SMS と E メールの検証メッセージ
+ E メールの検証タイプ (コードまたはリンク)
**注記**  
Amazon Cognito は、ユーザーがサインアップまたは確認コードを再送信するときに、リンクとリンクベースのテンプレートを含む検証メッセージを送信します。コードテンプレートは、属性の更新オペレーションとパスワードのリセットオペレーションに関連する E メールで使用します。
+ ユーザーの招待メッセージ
+ ユーザープールを介するメールの FROM および REPLY-TO E メールアドレス

**注記**  
SMS と E メールの検証メッセージテンプレートは、電話番号と E メールの検証を必須にした場合にのみ表示されます。同様に、SMS MFA メッセージのテンプレートは、MFA 設定が **[required]** (必要) または **[optional]** (任意) の場合にのみ表示されます。

**Topics**
+ [メッセージテンプレート](#cognito-user-pool-settings-message-templates)
+ [E メールと SMS の MFA メッセージのカスタマイズ](#cognito-user-pool-settings-SMS-message-customization)
+ [E メール検証メッセージのカスタマイズ](#cognito-user-pool-settings-email-verification-message-customization)
+ [ユーザー招待メッセージのカスタマイズ](#cognito-user-pool-settings-user-invitation-message-customization)
+ [E メールアドレスのカスタマイズ](#cognito-user-pool-settings-email-address-customization)
+ [Amazon SES E メールを代理送信するための Amazon Cognito の承認 (カスタム REPLY-TO E メールアドレスからの送信)](#cognito-user-pool-settings-ses-authorization-to-send-email)

## メッセージテンプレート
<a name="cognito-user-pool-settings-message-templates"></a>

メッセージテンプレートを使用して、メッセージにプレースホルダーを挿入できます。Amazon Cognito はプレースホルダーを、対応する値に置き換えます。これらの値はすべてのメッセージタイプに存在するわけではありませんが、任意のタイプのメッセージテンプレートで*ユニバーサルテンプレートプレースホルダー*を参照できます。


**ユニバーサルテンプレートプレースホルダー**  

|  説明  |  トークン  | メッセージタイプ | 
| --- | --- | --- | 
| 検証コード | {\#\#\#\#} | 検証、確認、MFA メッセージ | 
| 一時パスワード | {\#\#\#\#} | パスワードを忘れた場合と招待メッセージ | 
| ユーザー名 | {username} | 招待メッセージと高度なセキュリティメッセージ | 

[脅威保護](cognito-user-pool-settings-threat-protection.md)で利用可能な自動レスポンスの 1 つは、Amazon Cognito が潜在的に悪意のあるアクティビティを検出したことをユーザーに知らせることです。アドバンスドセキュリティのテンプレートのプレースホルダーを使用して、以下を行うことができます。
+ IP アドレス、市、国、サインイン時間、デバイス名など、イベントに関する具体的な詳細を記載します。Amazon Cognito の脅威保護は、これらの詳細を分析できます。
+ ワンクリックリンクが有効であるかどうかを確認します。
+ イベント ID、フィードバックトークン、およびユーザー名を使用して独自のワンクリックリンクを構築します。

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

脅威保護では、以下のプレースホルダーを追加してメッセージテンプレートに挿入できるようにします。これらのプレースホルダーは、**アダプティブ認証メッセージ**に適用されます。このメッセージは、ユーザーのセッションがリスクレベルの評価を受けた場合に、Amazon Cognito からユーザーに送信する通知です。これらの変数を使用してメッセージテンプレートを設定するには、Amazon Cognito コンソールで脅威保護の **[フル機能]** 設定を更新するか、[SetRiskConfiguration](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetRiskConfiguration.html) リクエストでテンプレートを送信します。


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

|  説明  |  トークン  | 
| --- | --- | 
| 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} | 

## E メールと SMS の MFA メッセージのカスタマイズ
<a name="cognito-user-pool-settings-SMS-message-customization"></a>

[多要素認証 (MFA)](user-pool-settings-mfa.md) に関する SMS と E メールのメッセージをカスタマイズするには、Amazon Cognito ユーザープールコンソールの **[メッセージテンプレート]** メニューで、**[MFA メッセージ]** を編集します。

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

Amazon Cognito では、認証コードも含めて、SMS メッセージの最大長を 140 UTF-8 文字に設定しています。

### SMS 検証メッセージのカスタマイズ
<a name="cognito-user-pool-settings-SMS-verification-message-customization"></a>

電話番号検証用の SMS メッセージをカスタマイズするには、ユーザープールの **[メッセージテンプレート]** メニューで **[検証メッセージ]** テンプレートを編集します。

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

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

## E メール検証メッセージのカスタマイズ
<a name="cognito-user-pool-settings-email-verification-message-customization"></a>

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 タグを使用してコンテンツの書式を設定できます。

## ユーザー招待メッセージのカスタマイズ
<a name="cognito-user-pool-settings-user-invitation-message-customization"></a>

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

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

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

## E メールアドレスのカスタマイズ
<a name="cognito-user-pool-settings-email-address-customization"></a>

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

**FROM と REPLY-TO の E メールアドレスをカスタマイズするには**

1. [[Amazon Cognito console]](https://console.aws.amazon.com/cognito/home) (Amazon Cognito コンソール) に移動し、**[User Pools]** (ユーザープール) を選択します。

1. リストから既存のユーザープールを選択するか、[ユーザープールを作成](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html)します。

1. **[認証方法]** メニューを選択します。**[Email]** (E メール) で、**[Edit]** (編集) を選択します。

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

1. 選択した **[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 メールアドレスとドメインの検証](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html)」を参照してください。

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

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

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

## Amazon SES E メールを代理送信するための Amazon Cognito の承認 (カスタム REPLY-TO E メールアドレスからの送信)
<a name="cognito-user-pool-settings-ses-authorization-to-send-email"></a>

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

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

Amazon Cognito が作成するサービスリンクロールの詳細については、「[Amazon Cognito のサービスリンクロールの使用](using-service-linked-roles.md)」を参照してください。

次の送信承認ポリシーの例では、Amazon SES 検証済み ID を使用するための限定された権限が Amazon Cognito に付与されています。Amazon Cognito は、条件 `aws:SourceArn` のユーザープールと条件 `aws:SourceAccount` のアカウントの両方に代わって送信する場合にのみ、E メールメッセージを送信できます。その他の例については、「*Amazon Simple Email Service デベロッパーガイド*」の「[Amazon SES 送信承認ポリシーの例](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-policy-examples.html)」を参照してください。

**注記**  
この例では、「Sid」値はステートメントを一意に識別する任意の文字列です。ポリシー構文の詳細については、「*Amazon Simple Email Service デベロッパーガイド*」の「[Amazon SES 送信承認ポリシー](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-policies.html)」を参照してください。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "stmnt1234567891234",
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "email.cognito-idp.amazonaws.com"
                ]
            },
            "Action": [
                "SES:SendEmail",
                "SES:SendRawEmail"
            ],
            "Resource": "arn:{{aws}}:ses:{{us-east-1}}:{{111122223333}}:identity/{{support@example.com}}",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "{{111122223333}}"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:{{aws}}:cognito-idp:{{us-east-1}}:{{111122223333}}:userpool/{{us-east-1_EXAMPLE}}"
                }
            }
        }
    ]
}
```

------

Amazon Cognito コンソールは、ドロップダウンメニューから Amazon SES の ID を選択するときに同様のポリシーを追加します。CLI または API を使用してユーザープールを設定する場合は、前の例のように構造化されたポリシーを Amazon SES アイデンティティにアタッチする必要があります。