CognitoユーザープールのMFAが未設定

パスワードでのサインインに必要な追加認証を設定してください。

説明

CognitoユーザープールでMFAが無効な場合、パスワードでのサインインに第2の認証要素を要求しません。OPTIONALも、すべてのユーザーにMFAを必須とする設定ではありません。

想定される影響

パスワードが漏えいした場合に、追加認証なしでアカウントにアクセスされるリスクが高まるおそれがあります。

対処方法

MFAを必須にするには、MfaConfiguration: "ON"と対応する認証手段を設定してください。登録、サインイン、アカウント復旧の流れも確認してください。

例

ソフトウェアトークンMFAを必須にする例です。ユーザーは認証アプリを登録し、アプリケーションはMFAチャレンジを処理する必要があります。

変更前

yaml
Resources:
  UserPool:
    Type: AWS::Cognito::UserPool
    Properties:
      UserPoolName: my-user-pool
      MfaConfiguration: "OFF"

変更後

yaml
Resources:
  UserPool:
    Type: AWS::Cognito::UserPool
    Properties:
      UserPoolName: my-user-pool
      MfaConfiguration: "ON"
      EnabledMfas:
        - SOFTWARE_TOKEN_MFA

参考資料