ユーザープールにアドバンストセキュリティを追加する - Amazon Cognito

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

ユーザープールにアドバンストセキュリティを追加する

ユーザープールを作成すると、Amazon Cognito コンソールのナビゲーションバーの [Advanced security] (アドバンストセキュリティ) にアクセスできるようになります。ユーザープールのアドバンストセキュリティ機能をオンにし、さまざまなリスクに対応して実行されるアクションをカスタマイズすることができます。また、監査モードを使用して、セキュリティ緩和策を適用せずに、検出されたリスクに関するメトリクスを収集できます。監査モードでは、アドバンストセキュリティ機能は Amazon にメトリクスを発行します CloudWatch。Amazon Cognito が最初の高度なセキュリティイベントを生成した後に、高度なセキュリティメトリクスを確認できます。アドバンストセキュリティのメトリクスの表示 を参照してください。

高度なセキュリティ機能には、漏えいした認証情報の検出アダプティブ認証が含まれます。

漏えいした認証情報

ユーザーは複数のユーザーアカウントのパスワードを再利用します。Amazon Cognito の認証情報漏えい機能では、ユーザー名とパスワードの公開漏えいに関するデータを収集し、ユーザーの認証情報を漏えいした認証情報のリストと比較します。漏えいした認証情報の検出では、よく推測されるパスワードもチェックされます。

漏えいした認証情報の確認を促すユーザーアクションと、それに応じて Amazon Cognito に実行してほしいアクションを選択できます。サインイン、サインアップ、パスワード変更のイベントでは、Amazon Cognito はサインインをブロックするか、サインインを許可することができます。どちらの場合も、Amazon Cognito はユーザーアクティビティログを生成し、そこでイベントに関する詳細情報を確認できます。

アダプティブ認証

Amazon Cognito は、ユーザーのサインインリクエストから位置情報とデバイス情報を確認し、自動応答を適用してユーザープールのユーザーアカウントを疑わしいアクティビティから保護します。

高度なセキュリティを有効にすると、Amazon Cognito はユーザーアクティビティにリスクスコアを割り当てます。疑わしいアクティビティには自動応答を割り当てることができます。たとえば、MFA を義務付けたりログインをブロックしたり、アクティビティの詳細とリスクスコアを記録したりできます。また、疑わしいアクティビティをユーザーに通知する E メールメッセージを自動的に送信して、ユーザーがパスワードのリセットやその他の自発的なアクションを実行できるようにすることもできます。

アクセストークンのカスタマイズ

アドバンストセキュリティ機能を有効にすると、バージョン 2 の Lambda トリガーイベントへのレスポンスを受け入れるようにユーザープールを設定できます。バージョン 2 では、アクセストークンのスコープやその他のクレームをカスタマイズできます。これにより、ユーザーの認証時に柔軟な承認結果を作成する能力が高まります。詳細については、「アクセストークンのカスタマイズ」を参照してください。

考慮事項と制約事項

  • Amazon Cognito のアドバンストセキュリティ機能には追加料金が適用されます。Amazon Cognito の料金ページを参照してください。

  • Amazon Cognito は、、USER_PASSWORD_AUTH、および の標準認証フローを使用してADMIN_USER_PASSWORD_AUTH、アダプティブ認証と侵害された認証情報の検出をサポートしますUSER_SRP_AUTHCUSTOM_AUTH フローと カスタム認証チャレンジの Lambda トリガー、またはフェデレーションサインインでアドバンストセキュリティ機能を使用することはできません。

  • 完全な機能モードでの Amazon Cognito のアドバンストセキュリティ機能を使用して、IP アドレス 常にブロック および 常に許可 例外を作成することができます。常にブロック 例外リストの IP アドレスからのセッションは、アダプティブ認証によってリスクレベルが割り当てられておらず、ユーザープールにサインインできません。

  • ユーザープールの 常にブロック 例外リストの IP アドレスからのブロックされたリクエストは、ユーザープールのリクエストレートクォータ に貢献します。Amazon Cognito のアドバンスドセキュリティ機能は、分散型サービス妨害 (DDoS) 攻撃を防ぐものではありません。ユーザープールへの大量攻撃に対する防御を実装するには、AWS WAF ウェブ ACL を追加します。詳細については、「AWS WAF ウェブ ACL をユーザープールに関連付ける」を参照してください。

  • クライアント認証情報の付与は、ユーザーアカウントへの接続なしで machine-to-machine (M2M) 認証を目的としています。高度なセキュリティ機能は、ユーザープール内のユーザーアカウントとパスワードのみをモニタリングします。M2M アクティビティのセキュリティ機能を実装するには、AWS WAF の機能でリクエストレートとコンテンツをモニタリングすることを検討します。詳細については、「AWS WAF ウェブ ACL をユーザープールに関連付ける」を参照してください。

前提条件

開始するには、以下が必要です。

  • アプリクライアントを持つユーザープール。詳細については、「ユーザープールの開始方法」を参照してください。

  • Amazon Cognito コンソールで多要素認証 (MFA) を [Optional] (オプション) に設定して、リスクに基づくアダプティブ認証機能を使用する。詳細については、「ユーザープールに MFA を追加します」を参照してください。

  • 通知に E メールを使用している場合は、Amazon SES コンソールに移動して、通知 E メールで使用する E メールアドレスまたはドメインの設定と検証を実行します。Amazon SES の詳細については、「Amazon SES での ID の検証」を参照してください。

アドバンストセキュリティ機能を設定する

Amazon Cognito のアドバンストセキュリティ機能は、AWS Management Console で設定できます。

ユーザープールにアドバンストセキュリティを設定するには
  1. Amazon Cognito コンソールに移動します。プロンプトが表示されたら、AWS 認証情報を入力します。

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

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

  4. [App integration] (アプリケーションの統合) タブを選択します。アドバンストセキュリティを探し、[Enable] (有効) を選択します。アドバンスセキュリティを既に有効にしている場合は、[Edit] (編集) を選択します。

  5. [Full function] (完全な機能) を選択して、侵害されたクレデンシャルとアダプティブ認証に対する高度なセキュリティレスポンスを設定します。監査のみを選択して情報を収集し、ユーザープールデータを に送信します CloudWatch。アドバンストセキュリティ料金は、[Audit only] (監査のみ) および [Full function] (完全な機能) モードの両方で適用されます。詳細については、「Amazon Cognito の料金」を参照してください。

    アクションを有効にする前に、2 週間、アドバンストセキュリティ機能を監査モードにしておくことをお勧めします。この間、Amazon Cognito がユーザーアプリの使用パターンを学習できるようになります。

  6. [Audit only] (監査のみ) を選択した場合、[Save changes] (変更の保存) を選択してください。[Full function] (完全な機能) を選択した場合:

    1. 侵害された認証情報への応答は、 [Custom] (カスタム) アクションの実行または使用、または [Cognito defaults] (Cognito デフォルト) を選択します。Cognito デフォルトでは、

      1. サインイン,サインアップ, およびパスワードの変更時に、侵害された認証情報を検出します。

      2. 侵害された認証情報は、[Block sign-in] (サインインをブロックする) で応答します。

    2. [Compromised credentials] (侵害された認証情報) で [Custom] (カスタム) アクションを選択した場合、Amazon Cognito が [Event detection] (イベント検出) で使用するユーザープールアクション、および、Amazon Cognito に実行させたい [Compromised credentials responses] (侵害された認証情報への応答) を選択します。侵害された認証情報によるサインインをブロックまたはサインインを許可することができます。

    3. [Adaptive authentication] (アダプティブ認証) で、悪意のあるサインイン試行への応答方法を選択します。[Custom] (カスタム) アクションを実行または使用、または悪意のあるアクティビティの疑いに対応するために [Cognito defaults] (Cognito デフォルト) を選択します。[Cognito defaults] (Cognito デフォルト) を選択した場合、Amazon Cognito はすべてのリスクレベルでサインインをブロックし、ユーザーに通知しません。

    4. [Adaptive authentication] (アダプティブ認証) で、 [Custom] (カスタム) アクションを選択した場合、重要度レベルに基づいて検出されたリスクに対して、Amazon Cognito で実行する [Automatic risk response] (自動リスク対応) アクションを選択します。リスクのレベルに応じて対応を割り当てる場合、より高いレベルのリスクに対して、より制限の少ない対応を割り当てることはできません。リスクレベルには、次の対応を割り当てることができます。

      1. サインインを許可する - 予防策をとりません。

      2. MFA のオプション - ユーザーが MFA を設定している場合、Amazon Cognito はサインイン時に常に SMS またはタイムベースドワンタイムパスワード (TOTP) の追加要素を提供するようユーザーに要求します。ユーザーに MFA が設定されていない場合は、通常どおりサインインを続行できます。

      3. MFA を要求 - ユーザーが MFA を設定している場合、Amazon Cognito はサインイン時に常に SMS または TOTP ファクターの追加要素の提供を要求します。ユーザーに MFA が設定されていない場合、Amazon Cognito は MFA を設定するよう促します。ユーザーに MFA を自動要求する前に、SMS MFA の電話番号をキャプチャするメカニズム、または TOTP MFA の認証アプリケーションを登録するメカニズムを、お客様のアプリケーションに設定してください。

      4. サインインをブロックする - ユーザーがサインインできないようにします。

      5. ユーザーに通知する - Amazon Cognito が検出したリスクと応答に関する情報を E メールでユーザーに送信します。送信するメッセージの E メールメッセージテンプレートをカスタマイズできます。

  7. 前の手順で [Notify user] (ユーザーに通知する) を選択した場合、アダプティブ認証に使用する E メール配信設定と E メールメッセージテンプレートをカスタマイズできます。

    1. [Email configuration] (E メール設定) で、アダプティブ認証で使用する [SES Region] (SES リージョン)、[FROM email address] (FROM E メールアドレス)、[FROM sender name] (FROM 送信者名)、および [REPLY-TO email address] (REPLY-TO E メールアドレス) を選択します。ユーザープールの E メールメッセージを Amazon Simple Email Service の統合方法の詳細については、「Amazon Cognito ユーザープールに使用する E メールの設定」を参照してください。

      
                  ユーザーイベント履歴
    2. [Email templates] (E メールテンプレート) を展開して、E メールメッセージの HTML とプレーンテキストバージョンの両方でアダプティブ認証通知をカスタマイズします。E メールメッセージテンプレートの詳細については、「メッセージテンプレート」を参照してください。

  8. IP アドレスの例外を拡張して、アドバンストセキュリティリスク評価に関係なく、常に許可またはブロックされる IPv4 または IPv6 アドレス範囲に対する常時許可または常時ブロックのリストを作成します。CIDR 表記 で IP アドレスの範囲を指定します (例: 192.168.100.0/24)。

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