E メールまたは電話による検証の設定 - Amazon Cognito

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

E メールまたは電話による検証の設定

E メールまたは電話による確認の設定は、[メッセージング] タブで選択できます。多要素認証 (MFA) の詳細については、SMS「テキストメッセージMFA」を参照してください。

Amazon Cognito は Amazon を使用してSMSメッセージを送信SNSします。Amazon Cognito またはその他の からSMSメッセージを送信したことがない場合 AWS のサービス 、Amazon はアカウントをSMSサンドボックスに配置するSNSことがあります。アカウントをサンドボックスから本番環境に削除する前に、検証済みの電話番号にテストメッセージを送信することをお勧めします。さらに、米国の宛先電話番号にSMSメッセージを送信する場合は、Amazon Pinpoint から発信元または送信者 ID を取得する必要があります。SMS メッセージ用に Amazon Cognito ユーザープールを設定するには、「」を参照してくださいSMS Amazon Cognito ユーザープールのメッセージ設定

Amazon Cognito は、E メールアドレスまたは電話番号を自動的に検証できます。この検証を行うために、Amazon Cognito は検証コードまたは検証リンクを送信します。E メールアドレスの場合、Amazon Cognito は、コードまたはリンクを E メールメッセージで送信できます。Amazon Cognito コンソールの [メッセージング] タブで [検証メッセージ] テンプレートを編集するときに、検証タイプとしてコードまたはリンクを選択できます。詳細については、「E メール検証メッセージのカスタマイズ」を参照してください。

電話番号の場合、Amazon Cognito はSMSテキストメッセージでコードを送信します。

Amazon Cognito は、ユーザーを確認し、パスワードを忘れた場合の回復を支援するために、電話番号または E メールアドレスを検証する必要があります。または、サインアップ前の Lambda トリガーでユーザーを自動的に確認するか、 AdminConfirmSignUpAPIオペレーションを使用できます。詳細については、「ユーザーアカウントのサインアップと確認」を参照してください。

確認コードまたはリンクは 24 時間有効です。

E メールアドレスや電話番号の検証を必須とした場合、Amazon Cognito はユーザーのサインアップ時に自動的に検証コードまたはリンクを送信します。ユーザープールに カスタム送信者 Lambda SMS トリガー または カスタム E メール送信者の Lambda トリガー を設定すると、その関数が代わりに呼び出されます。

メモ
  • Amazon は、電話番号の検証に使用するSMSテキストメッセージに対して別途SNS料金を請求します。E メールメッセージを送信しても料金はかかりません。Amazon のSNS料金の詳細については、「ワールドワイドSMS料金」を参照してください。SMS メッセージングが利用可能な国の現在のリストについては、「サポートされているリージョンと国」を参照してください。

  • Amazon Cognito からの E メールメッセージを生成するアプリ内のアクションをテストするときは、Amazon Cognito がハードバウンスを発生させずに送信できる実際の E メールアドレスを使用してください。詳細については、「アプリケーションのテスト中に E メールを送信する」を参照してください。

  • パスワードを忘れた場合のフローでは、ユーザーのメールまたはユーザーの電話番号が検証される必要があります。

重要

ユーザーが電話番号と E メールアドレスの両方を使用してサインアップし、ユーザープールの設定で両方の属性の検証が必要な場合、Amazon Cognito はSMSメッセージを通じて検証コードを電話番号に送信します。Amazon Cognito は E メールアドレスをまだ検証していないため、アプリは を呼び出しGetUserて、E メールアドレスが検証を待っているかどうかを確認する必要があります。検証が必要な場合は、アプリが を呼び出しGetUserAttributeVerificationCodeて E メール検証フローを開始する必要があります。次に、 を呼び出して検証コードを送信する必要がありますVerifyUserAttribute

AWS アカウント および個々のSMSメッセージのメッセージ支出クォータを調整できます。この制限は、SMSメッセージを送信するためのコストにのみ適用されます。詳細については、Amazon の「アカウントレベルおよびメッセージレベルの支出クォータとは何か」および「どのように機能するか」を参照してください。 SNS FAQs

Amazon Cognito は、ユーザープールを作成した AWS リージョン または次の表のレガシー Amazon SNS代替リージョンのいずれかで、Amazon SNSリソースを使用してSMSメッセージを送信します。例外は、アジアパシフィック (ソウル) リージョンの Amazon Cognito ユーザープールです。これらのユーザープールは、アジアパシフィック (東京) リージョンで Amazon SNS設定を使用します。詳細については、「Amazon SNS SMS メッセージ AWS リージョン 用の を選択する」を参照してください。

Amazon Cognito リージョン レガシー Amazon SNS代替リージョン
米国東部(オハイオ) 米国東部 (バージニア北部)
アジアパシフィック (ムンバイ) アジアパシフィック (シンガポール)
アジアパシフィック (ソウル) アジアパシフィック (東京)
カナダ (中部) 米国東部 (バージニア北部)
欧州 (フランクフルト) 欧州 (アイルランド)
欧州 (ロンドン) 欧州 (アイルランド)

例: Amazon Cognito のユーザープールがアジアパシフィック (ムンバイ) にあり、ap-southeast-1 で使用制限を引き上げている場合は、ap-south-1 で別途引き上げる要求をしないでください。代わりに、アジアパシフィック (シンガポール) で Amazon SNSリソースを使用できます。

E メールアドレスと電話番号の更新を検証する

E メールアドレスまたは電話番号の属性は、ユーザーが値を変更した直後にアクティブになり、検証されない場合があります。Amazon Cognito は、Amazon Cognito が属性を更新する前に、ユーザーに新しい値を検証するように要求することもできます。ユーザーが新しい値を最初に検証することを要求する場合、新しい値を検証するまでは、サインインおよびメッセージの受信に元の値を使用することができます。

ユーザーがユーザープールの E メールアドレスまたは電話番号をサインインエイリアスとして使用できる場合、更新された属性のサインイン名は、更新された属性の検証が必要かどうかによって異なります。更新された属性を検証する必要がある場合、新しい値を検証するまで、ユーザーは元の属性値を使用してサインインできます。更新された属性を検証する必要がない場合、新しい値を検証するまで、ユーザーは新しい属性値または元の属性値でサインインまたはメッセージを受信することはできません。

例えば、ユーザープールでは、E メールアドレスのエイリアスでのサインインが許可され、ユーザーが更新時に E メールアドレスを検証する必要があるとします。sue@example.com としてサインインしている Sue は、自分の E メールアドレスを sue2@example.com に変更しようとしましたが、誤って ssue2@example.com と入力してしまいました。Sue は確認用の E メールを受信していないので、ssue2@example.com を検証することができません。sue@example.com としてサインインし、アプリでフォームを再送信して、E メールアドレスを sue2@example.com に更新します。この E メールを受信し、アプリに確認コードを提供して、sue2@example.com としてサインインを開始します。

ユーザーが属性を更新し、ユーザープールが新しい属性値を検証する場合
  • コードを確認する前は、元の属性値でサインインして新しい値を確認できます。

  • コードを確認した後は、新規の属性値でサインインして新しい値を確認できます。

  • AdminUpdateUserAttributes API リクエストtrueemail_verifiedまたは phone_number_verifiedを に設定した場合、Amazon Cognito が送信したコードを確認する前にサインインできます。

ユーザーが属性を更新し、ユーザープールが新しい属性値を検証しない場合
  • 元の属性値を使用してサインインしたり、元の属性値でメッセージを受信したりすることはできません。

  • 新しい値を確認するコードを確認するま、新しい属性値を使用してサインインしたり、確認コード以外のメッセージを受信したりすることはできません。

  • AdminUpdateUserAttributes API リクエストtrueemail_verifiedまたは phone_number_verifiedを に設定した場合、Amazon Cognito が送信したコードを確認する前にサインインできます。

ユーザーが E メールアドレスまたは電話番号を更新するときに属性の検証を要求するには

  1. Amazon Cognito コンソールにサインインします。プロンプトが表示されたら、 AWS 認証情報を入力します。

  2. ナビゲーションペインで [User Pools] (ユーザープール) を選択してから、編集するユーザープールを選択します。

  3. [Sign-up experience] (サインアップエクスペリエンス) タブで、[Attribute verification and user account confirmation] (属性の検証とユーザーアカウントの確認) から [Edit] (編集) を選択します。

  4. [Keep original attribute value active when an update is pending] (更新が保留中の場合、元の属性値をアクティブに保つ) を選択します。

  5. [Active attribute values when an update is pending] (更新が保留中の場合にアクティブな属性値) から、Amazon Cognito が値を更新する前にユーザーに検証を要求する属性を選択します。

  6. [Save changes] (変更の保存) をクリックします。

Amazon Cognito で属性更新の検証を要求するにはAPI、UpdateUserPoolリクエストで AttributesRequireVerificationBeforeUpdateパラメータを設定できます。

Amazon Cognito がユーザーに代わってSMSメッセージを送信することを許可する

お客様に代わってユーザーにSMSメッセージを送信するには、Amazon Cognito にアクセス許可が必要です。このアクセス許可を付与するには、 AWS Identity and Access Management (IAM) ロールを作成できます。の下にある Amazon Cognito コンソールのメッセージングタブでSMS、編集を選択してロールを設定します。