スキップしてコンテンツを表示

Amazon Cognito ユーザープールにメール MFA を設定する方法を教えてください。

所要時間2分
0

Amazon Cognito ユーザープールにメールの多要素認証 (MFA) を設定したいのですが、必要な設定がわかりません。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

機能プランのエラーを解決

MFA を有効にできるのは、Essentials または Plus 機能プランのメールのみです。

ユーザープールにライトプランがあり、メールの MFA を有効にしようとすると、エラーが表示されることがあります。

Amazon Cognito コンソールで、次のエラーが表示される場合があります。

"Can't enable email MFA when user pool is not under the Essentials or Plus plan"

AWS CLI を使用する場合、次のエラーが表示されることがあります。

"An error occurred (FeatureUnavailableInTierException) when calling the SetUserPoolMfaConfig operation: The following feature is not available for the LITE pricing tier configured: Email MFA"

機能プランのエラーを解決するには、Essentials または Plus 機能プランにアップグレードしてください。プランを変更するには、「Select a feature plan (機能プランの選択)」を参照してください。

メール設定エラーの解決

Amazon Cognito は Amazon Simple Email Service (Amazon SES) を使用して MFA コードをユーザーのメールアドレスに送信します。メールの MFA を有効にする場合は、デフォルトのメール設定の代わりに Amazon SES を使用するようにユーザープールを設定する必要があります。

デフォルトのメール設定を使用すると、エラーが表示されることがあります。

Amazon Cognito コンソールで、次のエラーが表示される場合があります。

"Can't enable email MFA with email sending in Send email with Cognito configuration"

AWS CLI を使用する場合、次のエラーが表示されることがあります。

「An error occurred (InvalidParameterException) when calling the UpdateClusterConfig operation: Cannot set EmailMfaConfiguration when user pool EmailConfiguration contains an EmailSendingAccount of COGNITO_DEFAULT.Update the value of EmailSendingAccount"

メールの MFA コードをユーザーに送信するには、Amazon SES アカウントを設定してから、ユーザープールで Amazon SES を設定します。

アカウント回復エラーの解決

Amazon Cognito では、セキュリティを維持するために MFA とアカウントの回復に別々の方法が必要です。MFA コードとパスワードリセットコードを受け取るには、ユーザーが別のチャネルを使用する必要があります。

ユーザーは、同じメールアドレスまたは電話番号で MFA とパスワードリセットコードを受け取ることはできません。たとえば、メールを MFA に設定した場合、ユーザーはアカウントの回復に SMS を使用する必要があります。別の回復方法を指定せずにメール MFA を有効にしようとすると、エラーが表示されることがあります。

Amazon Cognito コンソールで、次のエラーが表示される場合があります。

"Can't enable email MFA when user pool account recovery method is email-only or legacy."

AWS CLI を使用する場合、次のエラーが表示されることがあります。

「An error occurred (InvalidParameterException) when calling the UpdateClusterConfig operation: Cannot set EmailMfaConfiguration when user pool AccountRecoverySetting is not set or contains only verified_email in RecoveryMechanisms.At least one recovery mechanism other than verified_email should be present"

エラーを解決するには、追加のアカウント回復方法を設定します。次に、メール MFA を設定します。手順については、「Email MFA」の「To set up email MFA in the Amazon Cognito console (Amazon Cognito コンソールでメール MFA を設定するには)」を参照してください。

**注:**ユーザーがパスワードをリセットしやすいように、ユーザープールの必須属性として [email][phone_number] の両方を設定するのがベストプラクティスです。

関連情報

Adding MFA to a user pool (MFA をユーザープールに追加する)

Amazon SES email configuration (Amazon SES メール設定)

AWS公式更新しました 1ヶ月前