Quero configurar a autenticação multifator (MFA) de e-mail para meu grupo de usuários do Amazon Cognito, mas não tenho certeza sobre a configuração necessária.
Resolução
Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Solucionar o erro do plano de atributos
Só é possível ativar a MFA para e-mails com o plano de atributos Essentials ou Plus.
Se seu grupo de usuários tiver o plano Lite e você tentar ativar a MFA de e-mail, poderá receber uma mensagem de erro.
No console do Amazon Cognito, é possível receber a seguinte mensagem de erro:
"Can't enable email MFA when user pool is not under the Essentials or Plus plan"
Se você usar a AWS CLI, poderá receber a seguinte mensagem de erro:
"An error occurred (FeatureUnavailableInTierException) when calling the SetUserPoolMfaConfig operation: The following feature is not available for the LITE pricing tier configured: Email MFA"
Para solucionar o erro do plano de atributos, faça um upgrade para o plano de atributos Essentials ou Plus. Para alterar seu plano, consulte Selecione um plano de atributos.
Solucionar o erro de configuração de e-mail
O Amazon Cognito usa o Amazon Simple Email Service (Amazon SES) para enviar códigos de MFA para o endereço de e-mail do seu usuário. Ao ativar a MFA de e-mail, você deve configurar seu grupo de usuários para usar o Amazon SES em vez da configuração de e-mail padrão.
Se você usar a configuração de e-mail padrão, poderá receber uma mensagem erro.
No console do Amazon Cognito, é possível receber a seguinte mensagem de erro:
"Can't enable email MFA with email sending in Send email with Cognito configuration"
Se você usar a AWS CLI, poderá receber a seguinte mensagem de erro:
"An error occurred (InvalidParameterException) when calling the SetUserPoolMfaConfig operation: Cannot set EmailMfaConfiguration when user pool EmailConfiguration contains an EmailSendingAccount of COGNITO_DEFAULT. Update the value of EmailSendingAccount"
Para enviar códigos de MFA de e-mail para seus usuários, configure uma conta do Amazon SES e, em seguida, configure o Amazon SES com seu grupo de usuários.
Solucionar erro de recuperação de conta
O Amazon Cognito exige métodos separados de MFA e recuperação de contas para manter a segurança. Os usuários devem ter canais diferentes para receber códigos de MFA e códigos de redefinição de senha.
Os usuários não podem receber códigos de MFA e de redefinição de senha no mesmo endereço de e-mail ou número de telefone. Por exemplo, se você configurar o e-mail para MFA, seus usuários devem usar o SMS para recuperação da conta. Se você tentar ativar a MFA de e-mail sem um método de recuperação separado, poderá receber uma mensagem de erro.
No console do Amazon Cognito, é possível receber a seguinte mensagem de erro:
"Can't enable email MFA when user pool account recovery method is email-only or legacy."
Se você usar a AWS CLI, poderá receber a seguinte mensagem de erro:
"An error occurred (InvalidParameterException) when calling the SetUserPoolMfaConfig 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"
Para solucionar o erro, configure um método extra de recuperação de conta. Em seguida, configure a MFA de e-mail. Para obter instruções, consulte Configurar MFA por e-mail no console do Amazon Cognito em MFA do e-mail.
Observação: para ajudar os usuários a redefinir suas senhas, é uma prática recomendada definir e-mail e phone_number como atributos obrigatórios em seu grupo de usuários.
Informações relacionadas
Adicionar MFA a um grupo de usuários
Configuração de e-mail do Amazon SES