As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
TOTPtoken de software MFA
Quando você configura o token de TOTP software MFA em seu grupo de usuários, seu usuário faz login com um nome de usuário e senha e, em seguida, usa um TOTP para concluir a autenticação. Depois que seu usuário definir e verificar um nome de usuário e uma senha, ele poderá ativar um token TOTP de software paraMFA. Se seu aplicativo usa a interface de usuário hospedada do Amazon Cognito para fazer login de usuários, seu usuário envia o nome de usuário e a senha e, em seguida, envia a TOTP senha em uma página de login adicional.
Você pode ativar TOTP MFA para seu grupo de usuários no console do Amazon Cognito ou usar as operações do Amazon API Cognito. No nível do grupo de usuários, você pode ligar SetUserPoolMfaConfigpara configurar MFA e ativar TOTPMFA.
nota
Se você não ativou o token de TOTP software MFA para o grupo de usuários, o Amazon Cognito não pode usar o token para associar ou verificar usuários. Nesse caso, os usuários recebem uma exceção SoftwareTokenMFANotFoundException
com a descrição Software Token MFA has not been enabled by the userPool
. Se você desativar o token de software MFA para o grupo de usuários posteriormente, os usuários que anteriormente associaram e verificaram um TOTP token poderão continuar a usá-lo. MFA
A configuração TOTP para seu usuário é um processo de várias etapas em que o usuário recebe um código secreto que ele valida inserindo uma senha de uso único. Em seguida, você pode habilitar TOTP MFA para seu usuário ou definir TOTP como o MFA método preferido para seu usuário.
Quando você configura seu grupo de usuários para exigir TOTP MFA e seus usuários se inscrevem no seu aplicativo na interface de usuário hospedada, o Amazon Cognito automatiza o processo do usuário. O Amazon Cognito solicita que seu usuário escolha um MFA método, exibe um código QR para configurar seu aplicativo autenticador e verifica seu registro. MFA Nos grupos de usuários em que você permitiu que os usuários escolhessem entre SMS e TOTPMFA, o Amazon Cognito também oferece ao usuário uma opção de método. Para obter mais informações sobre a experiência de cadastro na UI hospedada, consulte Como se inscrever em um novo perfil de usuário.
Importante
Quando você tem uma AWS WAF web ACL associada a um grupo de usuários e uma regra na sua web ACL apresenta umCAPTCHA, isso pode causar um erro irrecuperável no registro da interface de usuário TOTP hospedada. Para criar uma regra que tenha uma CAPTCHA ação e não afete a interface hospedadaTOTP, consulteConfigurando sua AWS WAF web ACL para interface de usuário hospedada TOTP MFA. Para obter mais informações sobre a AWS WAF web ACLs e o Amazon Cognito, consulte. Associando uma AWS WAF web a ACL um grupo de usuários
Para implementar TOTP MFA em uma interface de usuário personalizada na qual você usa o Amazon CognitoAPI, consulte. Configuração MFA para um usuário nos grupos de usuários do Amazon Cognito API
Para adicionar MFA ao seu grupo de usuários, consulteAdicionando MFA a um grupo de usuários.
TOTPMFAconsiderações e limitações
-
O Amazon Cognito oferece suporte a tokens de software MFA por meio de um aplicativo autenticador que gera códigos. TOTP O Amazon Cognito não oferece suporte baseado em hardware. MFA
-
Quando seu grupo de usuários exige TOTP um usuário que não o configurou, ele recebe um token de acesso único que seu aplicativo pode usar para ativar TOTP MFA para o usuário. As tentativas de login subsequentes falham até que seu usuário registre um fator de TOTP login adicional.
-
Um usuário que se inscreve em seu grupo de usuários com a
SignUp
API operação ou por meio da interface de usuário hospedada recebe tokens únicos quando conclui a inscrição. -
Depois que você cria um usuário e o usuário define a senha inicial, o Amazon Cognito emite tokens únicos da interface do usuário hospedada para o usuário. Se você definir uma senha permanente para o usuário, o Amazon Cognito emitirá tokens únicos quando ele fizer login pela primeira vez.
-
O Amazon Cognito não emite tokens únicos para um usuário criado pelo administrador que faz login com as operações ou. InitiateAuthAdminInitiateAuthAPI Depois que seu usuário vencer o desafio de definir sua senha inicial, ou se você definir uma senha permanente para o usuário, o Amazon Cognito imediatamente desafia o usuário a configurar. MFA
-
-
Se um usuário em um grupo de usuários que exige já MFA tiver recebido um token de acesso único, mas não tiver configurado TOTPMFA, o usuário não poderá entrar com a interface hospedada até que tenha feito a configuração. MFA Em vez do token de acesso, você pode usar o valor da
session
resposta de umMFA_SETUP
desafio para InitiateAuthou AdminInitiateAuthem uma AssociateSoftwareTokensolicitação. -
Se seus usuários tiverem configuradoTOTP, eles poderão usá-loMFA, mesmo que você o desative TOTP para o grupo de usuários posteriormente.
-
O Amazon Cognito só aceita TOTPs aplicativos autenticadores que geram códigos com a função HMAC - SHA1 hash. Códigos gerados com hash SHA -256 retornam um
Code mismatch
erro.
Configuração MFA para um usuário nos grupos de usuários do Amazon Cognito API
Quando um usuário faz login pela primeira vez, seu aplicativo usa o token de acesso único para gerar a chave TOTP privada e apresentá-la ao usuário em formato de texto ou código QR. Seu usuário configura o aplicativo autenticador e fornece um TOTP para tentativas de login subsequentes. Seu aplicativo ou a interface de usuário hospedada apresenta o TOTP Amazon Cognito em respostas de MFA desafios.
Tópicos
Associe o token TOTP de software
Para associar o TOTP token, envie ao usuário um código secreto que ele deve validar com uma senha de uso único. A associação do token requer três função do Lambdas.
-
Quando o usuário escolher o token de TOTP softwareMFA, ligue AssociateSoftwareTokenpara retornar um código-chave secreto compartilhado gerado exclusivo para a conta do usuário. Você pode autorizar AssociateSoftwareToken com um token de acesso ou uma string de sessão.
-
Sua aplicação apresenta ao usuário a chave privada ou um código QR gerado por meio da chave privada. Seu usuário deve inserir a chave em um aplicativo TOTP gerador, como o Google Authenticator. Você pode usar libqrencode
para gerar um código QR. -
O usuário insere a chave ou digitaliza o código QR em uma aplicação autentiticadora, como o Google Authenticator, e a aplicação começa a gerar códigos.
Verifique o TOTP token
Em seguida, verifique o TOTP token. Solicite códigos de amostra do seu usuário e forneça-os ao serviço Amazon Cognito para confirmar que o usuário está gerando TOTP códigos com sucesso, da seguinte forma.
-
Sua aplicação solicita um código ao usuário para demonstrar que ele configurou a aplicação autenticadora corretamente.
-
A aplicação autenticadora do usuário exibe uma senha temporária. A aplicação autenticadora usa a chave secreta que você forneceu ao usuário como base para a senha.
-
O usuário insere a senha temporária. Seu aplicativo passa a senha temporária para o Amazon Cognito em uma
VerifySoftwareToken
API solicitação. -
O Amazon Cognito manteve a chave secreta associada ao usuário, gera uma TOTP e a compara com a que seu usuário forneceu. Se elas corresponderem, o
VerifySoftwareToken
retornará uma respostaSUCCESS
. -
O Amazon Cognito associa o TOTP fator ao usuário.
-
Se a operação
VerifySoftwareToken
retornar uma respostaERROR
, verifique se o relógio do usuário está correto e se ele não excedeu o número máximo de novas tentativas. O Amazon Cognito aceita TOTP tokens que estejam dentro de 30 segundos antes ou depois da tentativa, para compensar uma pequena distorção do relógio. Depois de resolver o problema, tente a VerifySoftwareToken operação novamente.
Faça login com TOTP MFA
Nesse ponto, o usuário faz login com a senha única baseada em tempo. O processo ocorre conforme a seguir.
-
O usuário digita o nome de usuário e a senha para fazer login em sua aplicação cliente.
-
O TOTP MFA desafio é invocado e seu aplicativo solicita que seu usuário insira uma senha temporária.
-
Seu usuário obtém a senha temporária de um aplicativo TOTP gerador associado.
-
Seu usuário insere o TOTP código em seu aplicativo cliente. A aplicação notifica o serviço do Amazon Cognito para verificá-lo. Para cada login, RespondToAuthChallengedeve ser chamado para obter uma resposta ao novo desafio de TOTP autenticação.
-
Se o token for verificado pelo Amazon Cognito, o login será bem-sucedido e o usuário continuará com o fluxo de autenticação.
Remova o TOTP token
Por fim, seu aplicativo deve permitir que o usuário desative a TOTP configuração. Atualmente, você não pode excluir o token de TOTP software de um usuário. Para substituir o token de software do usuário, associe e confirme um novo token de software. Para desativar TOTP MFA para um usuário, ligue SetUserMFAPreferencepara modificar seu usuário para usar não MFA ou somente SMSMFA.
-
Crie uma interface em seu aplicativo para usuários que desejam redefinirMFA. Solicite que um usuário nessa interface insira a senha.
-
Se o Amazon Cognito retornar um TOTP MFA desafio, atualize a MFA preferência do usuário com. SetUserMFAPreference
-
Em seu aplicativo, comunique ao usuário que ele foi desativado MFA e solicite que ele faça login novamente.
Configurando sua AWS WAF web ACL para interface de usuário hospedada TOTP MFA
Quando você tem uma AWS WAF web ACL associada a um grupo de usuários e uma regra na sua web ACL apresenta umCAPTCHA, isso pode causar um erro irrecuperável no registro da interface de usuário TOTP hospedada. AWS WAF CAPTCHAas regras só afetam TOTP MFA a interface hospedada dessa forma. SMSMFAnão é afetado.
O Amazon Cognito exibe o seguinte erro quando sua CAPTCHA regra não permite que um usuário TOTP MFA conclua a configuração.
Solicitação não permitida devido ao WAF captcha.
Esse erro ocorre quando AWS WAF solicita uma CAPTCHA resposta AssociateSoftwareTokene VerifySoftwareTokenAPIsolicitações que seu grupo de usuários faz em segundo plano. Para criar uma regra que tenha uma CAPTCHA ação e não afete a interface hospedadaTOTP, exclua os valores do x-amzn-cognito-operation-name
cabeçalho VerifySoftwareToken
de AssociateSoftwareToken
e da CAPTCHA ação em sua regra.
A captura de tela a seguir mostra um exemplo de AWS WAF regra que aplica uma CAPTCHA ação a todas as solicitações que não têm um valor de x-amzn-cognito-operation-name
cabeçalho de AssociateSoftwareToken
ouVerifySoftwareToken
.
Para obter mais informações sobre a AWS WAF web ACLs e o Amazon Cognito, consulte. Associando uma AWS WAF web a ACL um grupo de usuários