ユーザープールに MFA を追加します - Amazon Cognito

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

ユーザープールに MFA を追加します

多要素認証 (MFA) により、アプリのセキュリティが向上します。これは、ユーザー名とパスワードという知っていることの認証要素に、持っていることの認証要素を追加するものです。ユーザーにサインインするときの 2 番目の要素としては、SMS テキストメッセージまたは時間ベースのワンタイムパスワード (TOTP) を選択することができます。

注記

新しいユーザーがアプリに初めてサインインするときに、Amazon Cognito は OAuth 2.0 トークンを発行します。これは、ユーザープールに MFA が必要な場合でも同様です。ユーザーが初めてサインインするときの 2 番目の認証要因は、Amazon Cognito が送信する検証メッセージの確認です。ユーザープールに MFA が必要な場合、Amazon Cognito は、最初のログイン試行後の各サインイン試行で使用する追加のサインイン係数を登録するようユーザーに要求します。

アダプティブ認証では、リスクレベルの上昇に対応して、2 番目の要素認証を要求するようにユーザープールを設定できます。アダプティブ認証をユーザープールに追加するには、「ユーザープールにアドバンストセキュリティを追加する」を参照してください。

ユーザープールの MFA が required に設定されている場合は、すべてのユーザーはサインインするために MFA を完了する必要があります。サインインするためには、各ユーザーには、少なくとも 1 つの MFA 要素 (SMS や TOTP のセットアップなど) が必要です。MFA を required に設定した場合は、ユーザープールがサインインを許可するように、ユーザーオンボーディングに MFA セットアップを含める必要があります。

SMS を MFA 要素として有効化する場合は、ユーザーに電話番号の提供を求め、それらの検証をサインアップ時に行うことができます。MFA を required に設定し、要素として SMS のみをサポートする場合は、ユーザーに電話番号が必要になります。電話番号がないユーザーは、サインインする前に、プロファイルに電話番号を追加するためのサポートが必要です。SMS MFA には、未検証の電話番号を使用できます。これらの数字は、MFA が成功した後、検証済みステータスを受け取ります。

MFA を必須に設定し、サポートされている検証方法として SMS と TOTP を有効化した場合、Amazon Cognito は電話番号のない新規ユーザーに TOTP MFA を設定するよう促します。MFA を必須に設定し、有効化した唯一の MFA メソッドが TOTP の場合、Amazon Cognito は、2 回目のサインイン時に、すべての新規ユーザーに TOTP MFA を設定するようにプロンプトを表示します。Amazon Cognito は、 InitiateAuthおよび AdminInitiateAuth API オペレーションに応答して TOTP MFA を設定するチャレンジを生成します。

MFA を必須に設定すると、ホスト UI はユーザーに MFA の設定を求めるプロンプトを表示します。ユーザープールで MFA をオプションに設定すると、ホスト UI でユーザーにプロンプトは表示されません。オプションの MFA を使用するには、ユーザーに MFA を設定するかどうかを選択するようプロンプトを表示し、API 入力を案内して追加のサインイン要素を確認するインターフェースをアプリに構築する必要があります。

MFA コードの提示に 5 回失敗すると、Amazon Cognito は ユーザープール認証フロー で説明した指数関数的タイムアウトロックアウトプロセスを開始します。

前提条件

MFA を設定する前に、次の点を考慮します。

  • ユーザープールで MFA を有効化し、SMS テキストメッセージを第 2 要素として選択する場合は、Amazon Cognito で検証していない電話番号属性に SMS メッセージを送信できます。ユーザーが SMS MFA を完了すると、Amazon Cognito は、phone_number_verified 属性 を true に設定します。

  • アカウントが、ユーザープールの Amazon Simple Notification Service (Amazon SNS) リソースを含む AWS リージョン の SMS サンドボックスにある場合は、SMS メッセージを送信する前に、Amazon SNS で電話番号を確認する必要があります。詳細については、「Amazon Cognito ユーザープール用の SMS メッセージ設定」を参照してください。

  • アドバンストセキュリティ機能には MFA が有効化され、Amazon Cognito ユーザープールコンソールでオプションとして設定されている必要があります。詳細については、「ユーザープールにアドバンストセキュリティを追加する」を参照してください。

多要素認証の設定

MFA は、Amazon Cognito コンソールで設定できます。

Amazon Cognito コンソールで MFA を設定する
  1. Amazon Cognito コンソールにサインインします。

  2. [User Pools] (ユーザープール) を選択します。

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

  4. [Sign-in experience] (サインインエクスペリエンス) タブを選択します。[Multi-factor authentication] (多要素認証) を探し、[Edit] (編集) を選択します。

  5. ユーザープールで使用する [MFA enforcement] (MFA 強制実行) 方法を選択します。

    
              ユーザーに通知する
    1. MFA が必要。ユーザープール内のすべてのユーザーは、追加の SMS コードまたはタイムベースドワンタイムパスワード (TOTP) 要素でサインインする必要があります。

    2. MFA のオプション - ユーザーに追加のサインイン要素を登録するオプションを与えても、MFA を設定していないユーザーにはサインインを許可することができます。アダプティブ認証を使用している場合は、このオプションを選択してください。アダプティブ認証の詳細については、「ユーザープールにアドバンストセキュリティを追加する」を参照してください。

    3. MFA なし。ユーザーは、サインイン要素を追加登録することはできません。

  6. アプリケーションでサポートする [MFA methods] (MFA メソッド) を選択します。2 番目の要素として SMS メッセージまたは TOTP 生成認証システムアプリケーションを設定できます。アカウントの回復が SMS メッセージを使用できるように、TOTP ベースの MFA を実装することをお勧めします。

  7. 2 番目の要素として SMS テキストメッセージを使用していて、SMS メッセージ用の Amazon Simple Notification Service (Amazon SNS) で使用する IAM ロールを設定していない場合は、コンソールで作成できます。ユーザープールの [Messaging] (メッセージング) タブで、[SMS] を見つけ、[Edit] (編集) を選択します。Amazon Cognito がユーザーに SMS メッセージを送信することを許可する既存のロールを使用することもできます。詳細については、「IAM ロール」を参照してください。

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