Configurações de mensagens SMS para grupos de usuários do Amazon Cognito - Amazon Cognito

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á.

Configurações de mensagens SMS para grupos de usuários do Amazon Cognito

Alguns eventos do Amazon Cognito para seu grupo de usuários podem fazer com que o Amazon Cognito envie mensagens de texto SMS para eles. Por exemplo, se você configurar o grupo de usuários para exigir verificação de telefone, o Amazon Cognito enviará um e-mail quando um usuário se cadastrar em uma nova conta na aplicação ou redefinir a senha. Dependendo da ação que inicia a mensagem de texto SMS, a mensagem contém um código de verificação, uma senha temporária ou uma mensagem de boas-vindas.

O Amazon Cognito usa o Amazon Simple Notification Service (Amazon SNS) para a entrega de mensagens de texto SMS. O Amazon SNS, por sua vez, entrega mensagens SMS para. AWS End User Messaging SMS Se você estiver enviando uma mensagem de texto pelo Amazon Cognito pela primeira vez, isso o AWS End User Messaging SMS colocará em um ambiente de sandbox. No ambiente de área restrita para testes, você pode testar suas aplicações para mensagens de texto SMS. Na sandbox, você só pode simular o envio de mensagens.

nota

Em novembro de 2024, AWS substituiu as mensagens SMS do Amazon SNS por. AWS End User Messaging SMS Atualmente, o console do Amazon Cognito se refere aos recursos do Amazon SNS. Grupos de usuários iniciam mensagens SMS com a operação Amazon SNS Publish, que é uma passagem para. AWS End User Messaging SMS Portanto, você ainda deve configurar permissões parasns:Publish, nãosms-voice:SendTextMessage.

AWS End User Messaging SMS cobranças por mensagens de texto SMS. Para obter mais informações, consulte Preços do AWS End User Messaging SMS.

O Amazon Cognito envia mensagens SMS aos usuários com um código a ser inserido. A tabela a seguir mostra os eventos que podem gerar uma mensagem SMS.

Opções de mensagem

Atividade Operação de API Opções de entrega Opções de formato Personalizável Modelo de mensagem
Esqueci a senha ForgotPassword, AdminResetUserPassword E-mail, SMS código Sim Mensagem de verificação
Convite AdminCreateUser E-mail, SMS código Sim Mensagem de convite
Autorregistro SignUp, ResendConfirmationCode E-mail, SMS código, link Sim Mensagem de verificação
Verificação de endereço de e-mail ou número de telefone UpdateUserAttributes, AdminUpdateUserAttributes, GetUserAttributeVerificationCode E-mail, SMS código Sim Mensagem de verificação
Autenticação multifator (MFA) AdminInitiateAuth, InitiateAuth E-mail¹, SMS, aplicativo autenticador código Sim² Mensagem de MFA
Autenticação de senha única (OTP) AdminInitiateAuth, InitiateAuth E-mail¹, SMS código Sim Mensagem de MFA ³

¹ Requer o plano de recursos Essentials ou superior e a configuração de e-mail do Amazon SES.

² Para mensagens SMS e e-mail.

³ Você só pode personalizar o modelo de mensagem de MFA quando a MFA é necessária ou opcional em seu grupo de usuários. Quando o MFA está inativo, o Amazon Cognito envia senhas de uso único com o modelo padrão.

AWS End User Messaging SMS cobranças por mensagens SMS. Para obter mais informações, consulte Preços do AWS End User Messaging SMS.

Para saber mais sobre a MFA, consulte MFA de mensagens SMS e e-mail.

O Amazon Cognito pode impedir a entrega de mensagens adicionais de e-mail ou SMS para um único destino em um curto período de tempo. Se você acredita que seu grupo de usuários foi afetado, configure e analise os registros de erros de entrega de mensagens e entre em contato com a equipe da sua conta.

Práticas recomendadas

Devido ao volume de tráfego de SMS não solicitado ao redor do mundo, alguns governos impõem barreiras entre os remetentes e os destinatários das mensagens SMS. Ao usar mensagens SMS para MFA e atualizações de usuários, você deve tomar medidas adicionais para garantir que suas mensagens sejam entregues. Você também deve monitorar SMS-message-related as regulamentações nos países em que seus usuários possam morar e manter sua configuração de mensagens SMS atualizada. Para obter mais informações, consulte os recursos e limitações do país de SMS e MMS no Guia do AWS End User Messaging SMS Usuário.

O uso de mensagens SMS para autenticar e verificar usuários não é uma prática recomendada de segurança. Os números de telefone podem mudar de proprietário e podem não representar de maneira confiável o fator de MFA algo que você tem para seus usuários. Em vez disso, implemente a MFA TOTP na aplicação ou com um IdP de terceiros. Você também pode criar outros fatores de autenticação personalizados com Acionadores do Lambda de desafio personalizado de autenticação.

Consulte os links a seguir para obter informações sobre como proteger sua arquitetura de entrega de mensagens SMS.

Configurar mensagens SMS pela primeira vez nos grupos de usuários do Amazon Cognito

O Amazon Cognito usa o Amazon SNS, e AWS End User Messaging SMS indiretamente, para enviar mensagens SMS de seus grupos de usuários. Você também pode usar um Acionador do Lambda de remetente personalizado de SMS para utilizar seus próprios recursos para enviar mensagens SMS. A primeira vez que você configura mensagens de texto SMS em uma determinada região Região da AWS, AWS End User Messaging SMS coloca você Conta da AWS na sandbox de SMS dessa região. AWS End User Messaging SMS usa o sandbox para evitar fraudes e abusos e para atender aos requisitos de conformidade. Quando você Conta da AWS está na sandbox, AWS End User Messaging SMS impõe algumas restrições. Por exemplo, você pode enviar mensagens de texto para no máximo 10 números de destino verificados se tiver uma identidade de origem ou pode simular o envio de mensagens sem uma identidade de origem. Enquanto você Conta da AWS permanecer na sandbox, não envie mensagens SMS em produção. Quando você está na área restrita para testes, o Amazon Cognito não pode enviar mensagens para os números de telefone dos seus usuários.

Prepare uma função do IAM que o Amazon Cognito possa usar para enviar mensagens SMS com AWS End User Messaging SMS

Quando você envia uma mensagem SMS de seu grupo de usuários, o Amazon Cognito assume um perfil do IAM em sua conta. O Amazon Cognito usa a permissão sns:Publish atribuída a esse perfil para enviar mensagens SMS aos usuários. No console do Amazon Cognito, você pode definir uma seleção de função do IAM no menu Métodos de autenticação do seu grupo de usuários, em SMS, ou fazer essa seleção durante o assistente de criação do grupo de usuários.

A política de confiança do perfil do IAM de exemplo a seguir concede aos grupos de usuários do Amazon Cognito uma capacidade limitada para assumir uma função. O Amazon Cognito só pode assumir a função quando atende às seguintes condições:

  • A operação assume-role está em nome do grupo de usuários na condição aws:SourceArn.

  • A operação assume-role está em nome de um grupo de usuários na Conta da AWS definida pela condição aws:SourceAccount.

  • A operação assume-role inclui o ID externo na condição sts:externalId.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "cognito-idp.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:cognito-idp:us-west-2:111122223333:userpool/us-west-2_EXAMPLE" } } } ] }

Você pode especificar um ARN do grupo de usuários exato ou um ARN curinga no valor da condição aws:SourceArn. Pesquise seus grupos ARNs de usuários no AWS Management Console ou com uma solicitação de DescribeUserPoolAPI.

Para enviar mensagens SMS para autenticação multifator, sua política de confiança do perfil do IAM deve ter uma condição sts:ExternalId. O valor dessa condição deve corresponder à ExternalId propriedade SmsConfigurationdo seu grupo de usuários. Quando você cria um perfil do IAM durante o processo de criação do grupo de usuários no console do Amazon Cognito, o Amazon Cognito configura o ID externo para você no perfil e nas configurações do grupo de usuários. Isso não acontece quando você usa um perfil do IAM existente.

Você deve atualizar o ExternalId parâmetro do grupo de usuários em uma solicitação de UpdateUserPoolAPI e atualizar a política de confiança da função do IAM com uma sts:externalId condição com o mesmo valor. Para saber como usar a API para atualizar um grupo de usuários de forma a preservar a configuração original, consulte Como atualizar a configuração do grupo de usuários e do cliente da aplicação.

Para obter mais informações sobre políticas e perfis do IAM, consulte “Termos e conceitos das funções” no Guia do usuário do AWS Identity and Access Management .

Escolha o Região da AWS para mensagens SMS

nota

As mensagens SMS recebidas agora AWS são gerenciadas em AWS End User Messaging SMS.

Em alguns Regiões da AWS, você pode escolher a região que contém os recursos do Amazon SNS que você deseja usar para as mensagens SMS do Amazon Cognito. Em qualquer Região da AWS lugar em que o Amazon Cognito esteja disponível, exceto na Ásia-Pacífico (Seul), você pode usar os recursos do Amazon SNS no Região da AWS local em que criou seu grupo de usuários. Para tornar suas mensagens SMS mais rápidas e confiáveis quando você tiver uma opção de regiões, use os recursos do Amazon SNS na mesma região do grupo de usuários.

Escolha uma região para recursos de SMS na etapa Configurar a entrega de mensagens do novo assistente de grupo de usuários. Você também pode escolher Editar em SMS no menu Métodos de autenticação de um grupo de usuários existente.

No lançamento, para alguns Regiões da AWS, o Amazon Cognito enviou mensagens SMS com recursos do Amazon SNS em uma região alternativa. Para definir sua região preferida, use o SnsRegion parâmetro do SmsConfigurationTypeobjeto para seu grupo de usuários. Quando você cria programaticamente um recurso de grupos de usuários do Amazon Cognito em uma Amazon Cognito Region (Região do Amazon Cognito) descrita na tabela a seguir e não fornece um parâmetro SnsRegion, seu grupo de usuários envia mensagens SMS com recursos do Amazon SNS em uma Amazon SNS Region (Região do Amazon SNS) herdada.

Os grupos de usuários do Amazon Cognito na Ásia-Pacífico (Seul) Região da AWS devem usar sua configuração do Amazon SNS na região Ásia-Pacífico (Tóquio).

O Amazon SNS (via AWS End User Messaging SMS) define a cota de gastos para todas as novas contas em 1,00 USD por mês. Você pode ter aumentado seu limite de gastos em um Região da AWS que você usa com o Amazon Cognito. Antes de alterar as Região da AWS mensagens SMS do Amazon SNS, abra um caso de aumento de cota no AWS Support Center para aumentar seu limite na nova região. Para obter mais informações, consulte Como migrar do sandbox do AWS End User Messaging SMS MMS e do Voice para a produção no Guia do AWS End User Messaging SMS usuário.

Você pode enviar mensagens SMS para qualquer região do Amazon Cognito na tabela a seguir com AWS End User Messaging SMS recursos na região de mensagens SMS correspondente.

Região do Amazon Cognito Região da mensagem SMS

Leste dos EUA (Ohio)

Leste dos EUA (Ohio), Leste dos EUA (Norte da Virgínia)

Leste dos EUA (Norte da Virgínia)

Leste dos EUA (Norte da Virgínia)

Oeste dos EUA (Norte da Califórnia)

Oeste dos EUA (Norte da Califórnia)

Oeste dos EUA (Oregon)

Oeste dos EUA (Oregon)

Canadá (Central)

Canadá (Central), Leste dos EUA (Norte da Virgínia)

Oeste do Canadá (Calgary)

Oeste do Canadá (Calgary)

México (Central)

México (Central)

Europa (Frankfurt)

Europa (Frankfurt), Europa (Irlanda)

Europa (Londres)

Europa (Londres), Europa (Irlanda)

Europa (Irlanda)

Europa (Irlanda)

Europa (Paris)

Europa (Paris)

Europa (Estocolmo)

Europa (Estocolmo)

Europa (Milão)

Europa (Milão)

Europa (Espanha)

Europa (Espanha)

Europa (Zurique)

Europa (Zurique)

Ásia-Pacífico (Malásia) Ásia-Pacífico (Singapura)

Ásia-Pacífico (Tailândia)

Ásia-Pacífico (Mumbai)

Ásia-Pacífico (Mumbai)

Ásia-Pacífico (Mumbai), Ásia-Pacífico (Singapura)

Ásia-Pacífico (Hyderabad)

Ásia-Pacífico (Hyderabad)

Ásia-Pacífico (Hong Kong)

Ásia-Pacífico (Singapura)

Ásia-Pacífico (Seul)

Ásia-Pacífico (Tóquio)

Ásia-Pacífico (Singapura)

Ásia-Pacífico (Singapura)

Ásia-Pacífico (Sydney)

Ásia-Pacífico (Sydney)

Ásia-Pacífico (Tóquio)

Ásia-Pacífico (Tóquio)

Ásia-Pacífico (Jacarta)

Ásia-Pacífico (Jacarta)

Ásia-Pacífico (Osaka)

Asia Pacific (Osaka)

Ásia-Pacífico (Melbourne)

Ásia-Pacífico (Melbourne)

Oriente Médio (Bahrein)

Oriente Médio (Bahrein)

Oriente Médio (Emirados Árabes Unidos)

Oriente Médio (Emirados Árabes Unidos)

América do Sul (São Paulo)

América do Sul (São Paulo)

Israel (Tel Aviv)

Israel (Tel Aviv)

África (Cidade do Cabo)

África (Cidade do Cabo)

Obter uma identidade de origem para enviar mensagens SMS a números de telefone dos EUA

Se você pretende enviar mensagens de texto SMS para números de telefone dos EUA, deve obter uma identidade de origem, independentemente de criar um ambiente de área restrita para testes de SMS ou de um ambiente de produção.

As operadoras dos EUA exigem uma identidade de origem para enviar mensagens para números de telefone dos EUA. Se você ainda não tiver uma identidade de origem, deverá obter uma. Para saber como obter uma identidade de origem, consulte Solicitar um número de telefone no Guia do AWS End User Messaging SMS usuário.

Quando você tem mais de uma identidade de origem na mesma Região da AWS, AWS End User Messaging SMS escolhe um tipo de identidade de origem na seguinte ordem de prioridade: código curto, 10DLC, número gratuito. Não é possível alterar essa prioridade. Para obter mais informações, consulte AWS End User Messaging SMS FAQs.

Confirmar se você está na sandbox SMS

Use o procedimento a seguir para confirmar que você está na área restrita para testes de SMS. Repita o procedimento para cada um Região da AWS em que você tenha grupos de usuários de produção do Amazon Cognito.

Para confirmar que você está na área restrita para testes de SMS
  1. Acesse o console do Amazon Cognito. Se solicitado, insira suas credenciais da AWS .

  2. Escolha User Pools (Grupos de usuários).

  3. Escolha um grupo de usuários existente da lista.

  4. Escolha o menu Métodos de autenticação.

  5. Na seção SMS configuration (Configuração do SMS), expanda Move to Amazon SNS production environment (Migrar para o ambiente de produção do Amazon SNS). Se sua conta estiver na área restrita para testes de SMS, você verá a seguinte mensagem:

    Configure AWS service (Serviço da AWS) dependências para concluir a configuração da mensagem SMS

    Se você não vir essa mensagem, significa que alguém já configurou mensagens SMS em sua conta. Vá para Concluir a configuração do grupo de usuários no Amazon Cognito.

  6. Escolha o link do Amazon SNS em Mover para o ambiente de produção do Amazon SNS. Isso abre o console do Amazon SNS em uma nova guia.

  7. Verifique se você está no ambiente da área restrita para testes. A mensagem do console indica o status do seu sandbox e Região da AWS, da seguinte forma:

    This account is in the SMS sandbox in US East (N. Virginia).

Mova sua conta para fora da sandbox

Para usar sua aplicação em produção, mova sua conta da área restrita para testes de SMS para a produção. Depois de configurar uma identidade de origem na Região da AWS que contém os AWS End User Messaging SMS recursos que você deseja que o Amazon Cognito use, você pode verificar os números de telefone dos EUA enquanto permanece na Conta da AWS sandbox do SMS. Quando seu ambiente está em produção, você não precisa verificar os números de telefone dos usuários antes de enviar mensagens SMS para eles.

Você pode criar uma solicitação para sair da sandbox a partir do AWS End User Messaging SMS console ou do console do Amazon SNS. Para obter instruções detalhadas, consulte Como sair do SMS Sandbox no Guia do AWS End User Messaging SMS usuário.

Use números de simulador ou números de telefone verificados com AWS End User Messaging SMS

Se você tiver removido sua conta da área restrita para testes de SMS, ignore esta etapa.

Se você estiver na sandbox, mas tiver configurado um número de origem, poderá enviar mensagens para números de destino verificados. Para configurar destinos verificados, consulte Adicionar um número de telefone de destino verificado no Guia AWS End User Messaging SMS do usuário.

Você também pode enviar mensagens com remetentes e destinos simulados. As mensagens do simulador produzem registros, mas não são enviadas pela rede da operadora. No menu Atalhos, selecione Testar envio de SMS com simulador de SMS. Para obter mais informações, consulte os números de telefone do simulador no Guia do AWS End User Messaging SMS usuário.

Concluir a configuração do grupo de usuários no Amazon Cognito

Volte para a guia do navegador em que você estava criando ou editando seu grupo de usuários. Conclua o procedimento . Quando você adiciona com êxito a configuração de SMS ao seu grupo de usuários, o Amazon Cognito envia uma mensagem de teste para um número de telefone interno a fim de verificar se sua configuração funciona. O Amazon SNS cobra por toda mensagem SMS de teste.