

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

# SMS メッセージ MFA と E メールメッセージ MFA
<a name="user-pool-settings-mfa-sms-email-message"></a>

SMS MFA メッセージと E メールの MFA メッセージは、サインインする前にユーザーがメッセージの宛先にアクセスできることを確認します。パスワードだけでなく、元のユーザーの SMS メッセージまたは E メールの受信トレイにもアクセスできることを確認します。Amazon Cognito は、ユーザーがユーザー名とパスワードを正常に提供した後にユーザープールが送信した短いコードを提供するようユーザーに要求します。

ユーザーがプロファイルに E メールアドレスまたは電話番号を追加すると、SMS メッセージ MFA および E メールメッセージ MFA に追加の設定は必要ありません。Amazon Cognito は、未検証の E メールアドレスと電話番号にメッセージを送信できます。ユーザーが最初の MFA を完了すると、Amazon Cognito は、その E メールアドレスまたは電話番号を検証済みとしてマークします。

MFA 認証は、MFA を持つユーザーがアプリケーションにユーザー名とパスワードを入力したときに開始されます。アプリケーションは、[InitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html) API リクエストまたは [AdminInitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html) API リクエストを呼び出す SDK メソッドでこれらの初期パラメータを送信します。API レスポンスの `ChallengeParameters` には、認証コードが送信された場所を示す `CODE_DELIVERY_DESTINATION` 値が含まれます。アプリケーションで、ユーザーに電話を確認するよう求め、かつコードの入力要素を含めたフォームを表示します。コードを入力したら、チャレンジレスポンス API リクエストでコードを送信してサインインプロセスを完了します。

MFA を持つユーザーが[マネージドログイン](cognito-user-pools-managed-login.md)ページでユーザー名とパスワードを使用してサインインすると、ユーザーは MFA コードを入力するよう自動的に求められます。

ユーザープールは、 AWS アカウントの Amazon Simple Notification Service (Amazon SNS) リソースを使用して、MFA およびその他の Amazon Cognito 通知に関して SMS メッセージを送信します。同様に、ユーザープールは、アカウントの Amazon Simple Email Service (Amazon SES) リソースを使用して E メールメッセージを送信します。これらのリンクされたサービスでは、メッセージ配信の AWS 請求書に独自のコストが発生します。また、本番稼働ボリュームでメッセージを送信するための追加要件もあります。詳細については、以下のリンクを参照してください。
+ [Amazon Cognito ユーザープール用の SMS メッセージ設定](user-pool-sms-settings.md)
+ [ワールドワイド SMS 料金](https://aws.amazon.com/sns/sms-pricing/)
+ [Amazon Cognito ユーザープールの E メール設定](user-pool-email.md)
+ [Amazon SES の価格設定](https://aws.amazon.com/ses/pricing)

## SMS メッセージ MFA と E メールメッセージ MFA に関する考慮事項
<a name="user-pool-settings-mfa-sms-email-message-considerations"></a>
+ ユーザーに E メール MFA でのサインインを許可するには、ユーザープールに次の設定オプションが必要です。

  1. ユーザープールにプラス機能プランまたはエッセンシャル機能プランがある。詳細については、「[ユーザープールの機能プラン](cognito-sign-in-feature-plans.md)」を参照してください。

  1. ユーザープールは、独自の Amazon SES リソースを使用して E メールメッセージを送信する。詳細については、「[Amazon SES の E メール設定](user-pool-email.md#user-pool-email-developer)」を参照してください。
+ MFA コードは、アプリケーションクライアントで設定した**認証フローセッションの持続期間**の間有効です。

  認証フローセッションの持続期間は、Amazon Cognito コンソールの **[アプリケーションクライアント]** メニューで、アプリケーションクライアントを**編集**するときに設定します。`CreateUserPoolClient` または `UpdateUserPoolClient` API リクエストで認証フローセッション持続期間を設定することも可能です。詳細については、「[認証セッションの例](authentication.md#amazon-cognito-user-pools-authentication-flow)」を参照してください。
+ 検証されていない電話番号または E メールアドレスに Amazon Cognito が送信した SMS または E メールメッセージからユーザーがコードを正常に提供すると、Amazon Cognito は、対応する属性を検証済みとしてマークします。
+ MFA に関連付けられた電話番号または E メールアドレスの値に対してユーザーがセルフサービスで変更を加えるには、サインインしたうえでアクセストークンを使用してリクエストを認可する必要があります。現在の電話番号または E メールアドレスにアクセスできない場合は、サインインできません。チームは、[AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html) API リクエストで管理者 AWS 認証情報を使用してこれらの値を変更する必要があります。
+ ユーザープールで [SMS を設定](user-pool-sms-settings.md)した後は、使用できる MFA 要素として SMS メッセージを無効にすることはできません。