Configuración de mensajes SMS para grupos de usuarios de Amazon Cognito - Amazon Cognito

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración de mensajes SMS para grupos de usuarios de Amazon Cognito

Algunos eventos de Amazon Cognito para su grupo de usuarios pueden hacer que Amazon Cognito envíe mensajes de texto SMS a sus usuarios. Por ejemplo, si configura su grupo de usuarios para que requiera la verificación por teléfono, Amazon Cognito envía un mensaje de texto SMS cuando un usuario se registra con una cuenta nueva en su aplicación o cuando restablece su contraseña. En función de la acción que inicie el mensaje de texto SMS, en este se incluirá un código de verificación, una contraseña temporal o un mensaje de bienvenida.

En Amazon Cognito, se utiliza Amazon Simple Notification Service (Amazon SNS) para el envío de mensajes de texto SMS. Amazon SNS, a su vez, entrega los mensajes SMS a. AWS End User Messaging SMS Si envía un mensaje de texto a través de Amazon Cognito por primera vez, lo AWS End User Messaging SMS coloca en un entorno sandbox. En el entorno aislado, puede probar los mensajes de texto SMS de sus aplicaciones. En el entorno aislado, solo puede simular el envío de mensajes.

nota

En noviembre de 2024, AWS sustituyó la mensajería SMS de Amazon SNS por. AWS End User Messaging SMS Actualmente, la consola de Amazon Cognito hace referencia a los recursos de Amazon SNS. Los grupos de usuarios inician los mensajes SMS con la operación Amazon SNS Publish, que es una transferencia a. AWS End User Messaging SMS En consecuencia, debe seguir configurando los permisos parasns:Publish, no. sms-voice:SendTextMessage

AWS End User Messaging SMS cargos por mensajes de texto SMS. Para obtener más información, consulte Precios de AWS End User Messaging SMS.

Amazon Cognito envía mensajes SMS a los usuarios con un código que pueden ingresar. En la siguiente tabla se muestran los eventos que pueden generar un mensaje SMS.

Opciones de mensajes

Actividad Operación de la API Opciones de entrega Opciones de formato Personalizable Plantilla de mensaje
Contraseña olvidada ForgotPassword, AdminResetUserPassword Correo electrónico, SMS code Mensaje de verificación
Invitación AdminCreateUser Correo electrónico, SMS code Mensaje de invitación
Autorregistro SignUp, ResendConfirmationCode Correo electrónico, SMS código, enlace Mensaje de verificación
Verificación de dirección de correo electrónico o número de teléfono UpdateUserAttributes, AdminUpdateUserAttributes, GetUserAttributeVerificationCode Correo electrónico, SMS code Mensaje de verificación
Autenticación multifactor (MFA) AdminInitiateAuth, InitiateAuth Correo electrónico¹, SMS, aplicación de autenticación code Sí² Mensaje de MFA
Autenticación por contraseña de un solo uso (OTP) AdminInitiateAuth, InitiateAuth Correo electrónico¹, SMS code Mensaje MFA ³

¹ Requiere el plan de funciones Essentials o superior y la configuración de correo electrónico de Amazon SES.

² Para mensajes SMS y de correo electrónico.

³ Solo puede personalizar la plantilla de mensaje de MFA cuando la MFA sea obligatoria u opcional en su grupo de usuarios. Cuando la MFA está inactiva, Amazon Cognito envía contraseñas de un solo uso con la plantilla predeterminada.

AWS End User Messaging SMS cargos por mensajes SMS. Para obtener más información, consulte Precios de AWS End User Messaging SMS.

Para obtener más información sobre MFA, consulte MFA con mensajes SMS y correo electrónico.

Amazon Cognito podría impedir la entrega de más mensajes de correo electrónico o SMS a un único destino en un breve período de tiempo. Si cree que su grupo de usuarios está afectado, configure y revise los registros para detectar errores en la entrega de mensajes y, a continuación, póngase en contacto con el equipo de su cuenta.

Prácticas recomendadas

Debido al volumen de tráfico de SMS no solicitado en todo el mundo, algunos gobiernos imponen barreras entre los remitentes y los destinatarios de los mensajes SMS. Cuando utilice mensajes SMS de la autenticación multifactor y las actualizaciones de usuario, debe tomar medidas adicionales para garantizar que los mensajes se entreguen. También debes supervisar SMS-message-related las normativas de los países en los que puedan residir tus usuarios y mantener actualizada la configuración de tus mensajes SMS. Para obtener más información, consulta las capacidades y limitaciones nacionales de los SMS y los MMS en la Guía del AWS End User Messaging SMS usuario.

El uso de mensajes SMS para autenticar y verificar a los usuarios no es una práctica recomendada de seguridad. Los números de teléfono pueden cambiar de propietario y es posible que no representen de manera fiable algo que tenga del factor de MFA para los usuarios. En su lugar, implemente TOTP MFA en tu aplicación o con el IdP de terceros. Además, puede crear factores adicionales de autenticación personalizados con Desencadenadores de Lambda de desafío de autenticación personalizado.

Consulte los siguientes enlaces para obtener información sobre cómo proteger su arquitectura de entrega de mensajes SMS.

Configuración de mensajes SMS por primera vez en grupos de usuarios de Amazon Cognito

Amazon Cognito utiliza Amazon SNS, e AWS End User Messaging SMS indirectamente, para enviar mensajes SMS desde sus grupos de usuarios. También puede utilizar un Desencadenador de Lambda para remitentes personalizados de SMS para usar sus propios recursos para enviar mensajes SMS. La primera vez que configure los mensajes de texto SMS en una región concreta Región de AWS, estará AWS End User Messaging SMS Cuenta de AWS en el entorno limitado de SMS de esa región. AWS End User Messaging SMS utiliza el entorno de pruebas para evitar el fraude y el abuso y para cumplir con los requisitos de conformidad. Cuando Cuenta de AWS está en un entorno de pruebas, AWS End User Messaging SMS impone algunas restricciones. Por ejemplo, puede enviar mensajes de texto a un máximo de 10 números de destino verificados si tiene una identidad de origen, o puede simular el envío de mensajes sin una identidad de origen. Mientras esté en Cuenta de AWS el entorno limitado, no envíe mensajes SMS durante el proceso de producción. Cuando se encuentra en el entorno de pruebas, Amazon Cognito no puede enviar mensajes a los números de teléfono de sus usuarios.

Prepare una función de IAM que Amazon Cognito pueda utilizar para enviar mensajes SMS con AWS End User Messaging SMS

Cuando envía un mensaje SMS desde su grupo de usuarios, Amazon Cognito asume un rol de IAM en su cuenta. En Amazon Cognito, se utiliza el permiso sns:Publish asignado a ese rol para enviar mensajes SMS a los usuarios. En la consola de Amazon Cognito, puede configurar una selección de roles de IAM en el menú Métodos de autenticación de su grupo de usuarios, en SMS, o realizar esta selección durante el asistente de creación del grupo de usuarios.

En el ejemplo siguiente de política de confianza de rol de IAM se concede a grupos de usuarios de Amazon Cognito una capacidad limitada para que adopte un rol de IAM. Amazon Cognito solo puede asumir el rol si cumple las siguientes condiciones:

  • La operación de asumir el rol se realiza en nombre del grupo de usuarios de la condición aws:SourceArn.

  • La operación de asumir el rol se realiza en nombre de un grupo de usuarios de la Cuenta de AWS establecida mediante la condición aws:SourceAccount.

  • La operación de asumir el rol incluye el ID externo en la condición 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" } } } ] }

Puede especificar un ARN del grupo de usuarios o un ARN comodín en el valor de la condición aws:SourceArn. Busque sus grupos ARNs de usuarios en el AWS Management Console o mediante una solicitud de DescribeUserPoolAPI.

Para enviar mensajes SMS para la autenticación multifactor, la política de confianza del rol de IAM debe tener una condición sts:ExternalId. El valor de esta condición debe coincidir con la ExternalId propiedad SmsConfigurationde su grupo de usuarios. Cuando crea un rol de IAM durante el proceso de creación del grupo de usuarios en la consola de Amazon Cognito, Amazon Cognito configura en su lugar el ID externo en los ajustes del rol y del grupo de usuarios. Este no es el caso cuando usa un rol de IAM que ya existe.

Debe actualizar el ExternalId parámetro del grupo de usuarios en una solicitud de UpdateUserPoolAPI y actualizar la política de confianza de roles de IAM con una sts:externalId condición con el mismo valor. Para obtener información sobre cómo usar la API para actualizar un grupo de usuarios de forma que se conserve la configuración original, consulte Actualización de la configuración del grupo de usuarios y del cliente de aplicación.

Para obtener más información sobre los roles de IAM y las políticas de confianza, consulte Términos y conceptos de roles en la Guía del usuario de AWS Identity and Access Management .

Elija la opción Región de AWS para los mensajes SMS

nota

Los mensajes SMS entrantes ahora AWS se gestionan en AWS End User Messaging SMS.

En algunas Regiones de AWS, puede elegir la región que contiene los recursos de Amazon SNS que quiere usar para los mensajes SMS de Amazon Cognito. En cualquier Región de AWS lugar donde Amazon Cognito esté disponible, excepto en Asia Pacífico (Seúl), puede utilizar los recursos de Amazon SNS en Región de AWS el lugar donde creó su grupo de usuarios. Para que la mensajería SMS sea más rápida y fiable cuando pueda elegir entre regiones, utilice los recursos de Amazon SNS en la misma región que el grupo de usuarios.

Elija una región para los recursos SMS en el paso Configurar entrega de mensajes del nuevo asistente del grupo de usuarios. También puede seleccionar Editar en SMS en el menú de métodos de autenticación de un grupo de usuarios existente.

En el momento del lanzamiento Regiones de AWS, Amazon Cognito envió mensajes SMS con recursos de Amazon SNS en una región alternativa. Para establecer su región preferida, utilice el SnsRegion parámetro del SmsConfigurationTypeobjeto para su grupo de usuarios. Si crea un recurso de grupos de usuarios de Amazon Cognito mediante programación en una región de Amazon Cognito de la siguiente tabla y no proporciona un parámetro SnsRegion, el grupo de usuarios puede enviar mensajes SMS con recursos de Amazon SNS en una región de Amazon SNS heredada.

Los grupos de usuarios de Amazon Cognito en Asia Pacífico (Seúl) Región de AWS deben usar su configuración de Amazon SNS en la región Asia Pacífico (Tokio).

Amazon SNS (via AWS End User Messaging SMS) establece la cuota de gasto para todas las cuentas nuevas en 1 dólar (USD) al mes. Es posible que haya aumentado el límite de gasto en uno Región de AWS que utiliza con Amazon Cognito. Antes de cambiar Región de AWS los mensajes SMS de Amazon SNS, abre un caso de aumento de cuota en el AWS Support Center para aumentar tu límite en la nueva región. Para obtener más información, consulte Pasar del entorno limitado de AWS End User Messaging SMS MMS y voz a la producción en la Guía del AWS End User Messaging SMS usuario.

Puede enviar mensajes SMS a cualquier región de Amazon Cognito de la siguiente tabla con los AWS End User Messaging SMS recursos de la región de mensajes SMS correspondiente.

Región de Amazon Cognito Región de mensajes SMS

Este de EE. UU. (Ohio)

EE. UU. Este (Ohio), EE. UU. Este (Norte de Virginia)

Este de EE. UU. (Norte de Virginia)

Este de EE. UU. (Norte de Virginia)

Oeste de EE. UU. (Norte de California)

Oeste de EE. UU. (Norte de California)

Oeste de EE. UU. (Oregón)

Oeste de EE. UU. (Oregón)

Canadá (centro)

Canadá (centro), este de EE. UU. (Norte de Virginia)

Oeste de Canadá (Calgary)

Oeste de Canadá (Calgary)

México (central)

México (central)

Europa (Fráncfort)

Europa (Fráncfort), Europa (Irlanda)

Europa (Londres)

Europa (Londres), Europa (Irlanda)

Europa (Irlanda)

Europa (Irlanda)

Europa (París)

Europa (París)

Europa (Estocolmo)

Europa (Estocolmo)

Europa (Milán)

Europa (Milán)

Europa (España)

Europa (España)

Europa (Zúrich)

Europa (Zúrich)

Asia-Pacífico (Malasia) Asia-Pacífico (Singapur)

Asia-Pacífico (Tailandia)

Asia-Pacífico (Bombay)

Asia-Pacífico (Bombay)

Asia-Pacífico (Bombay), Asia-Pacífico (Singapur)

Asia-Pacífico (Hyderabad)

Asia-Pacífico (Hyderabad)

Asia-Pacífico (Hong Kong)

Asia-Pacífico (Singapur)

Asia-Pacífico (Seúl)

Asia-Pacífico (Tokio)

Asia-Pacífico (Singapur)

Asia-Pacífico (Singapur)

Asia-Pacífico (Sídney)

Asia-Pacífico (Sídney)

Asia-Pacífico (Tokio)

Asia-Pacífico (Tokio)

Asia-Pacífico (Yakarta)

Asia-Pacífico (Yakarta)

Asia-Pacífico (Osaka)

Asia-Pacífico (Osaka)

Asia-Pacífico (Melbourne)

Asia-Pacífico (Melbourne)

Medio Oriente (Baréin)

Medio Oriente (Baréin)

Medio Oriente (EAU)

Oriente Medio (EAU)

América del Sur (São Paulo)

América del Sur (São Paulo)

Israel (Tel Aviv)

Israel (Tel Aviv)

África (Ciudad del Cabo)

África (Ciudad del Cabo)

Obtener una identidad de origen para enviar mensajes SMS a números de teléfono de EE. UU.

Si tiene previsto enviar mensajes de texto SMS a números de teléfono de EE. UU., debe obtener una identidad de origen, independientemente de si crea un entorno de pruebas aislado de SMS o un entorno de producción.

Los operadores estadounidenses requieren una identidad de origen para enviar mensajes a números de teléfono estadounidenses. Si no dispone de una identidad de origen, debe obtener una. Para obtener información sobre cómo obtener una identidad de origen, consulta Solicitar un número de teléfono en la Guía del AWS End User Messaging SMS usuario.

Si tiene más de una identidad de origen en la misma unidad Región de AWS, AWS End User Messaging SMS elija un tipo de identidad de origen en el siguiente orden de prioridad: código corto, 10 DLC y número gratuito. No puede cambiar este valor. Para obtener más información, consulte AWS End User Messaging SMS FAQs.

Confirmar que se encuentra en el entorno de pruebas de SMS

Utilice el procedimiento siguiente para confirmar que está en el entorno aislado de SMS. Repita el procedimiento para cada uno de los Región de AWS lugares en los que tenga grupos de usuarios de Amazon Cognito de producción.

Confirmar que se encuentra en el entorno de pruebas de SMS
  1. Vaya a la consola de Amazon Cognito. Si se le solicita, escriba sus credenciales de AWS .

  2. ElegirUser Pools (Grupos de usuarios).

  3. Elija en la lista un usuario existente.

  4. Elija el menú de métodos de autenticación.

  5. En el navegadorConfiguración de SMSsección, expandirMover al entorno de producción de Amazon SNS. Si su cuenta se encuentra en el entorno de pruebas de SMS, verá el siguiente mensaje en Amazon Cognito.

    Configura Servicio de AWS las dependencias para completar la configuración de tus mensajes SMS

    Si no ve este mensaje, signfica que alguien ya ha realizado los pasos necesarios para configurar los mensajes SMS en su cuenta. Vaya a Completar la configuración del grupo de usuarios en Amazon Cognito.

  6. Elija el enlace Amazon SNS en Mover al entorno de producción de Amazon SNS. Esto abre la consola de Amazon SNS en una pestaña nueva.

  7. Compruebe que se encuentre en el entorno de pruebas. El mensaje de la consola indica el estado de su entorno aislado y Región de AWS, de la siguiente manera:

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

Saca tu cuenta de la zona de pruebas

Para utilizar su aplicación en producción, quite la cuenta del entorno aislado de SMS y entre en producción. Una vez que haya configurado una identidad de origen Región de AWS que contenga los AWS End User Messaging SMS recursos que desea que utilice Amazon Cognito, podrá verificar los números de teléfono de EE. UU. mientras permanece en el Cuenta de AWS entorno limitado de SMS. Cuando su entorno está en producción, no tiene que verificar los números de teléfono de los usuarios antes de enviarles mensajes SMS.

Puede crear una solicitud para salir del sandbox desde la AWS End User Messaging SMS consola o desde la consola de Amazon SNS. Para obtener instrucciones detalladas, consulte Cómo salir del entorno limitado de SMS en la guía del AWS End User Messaging SMS usuario.

Utilice números de simulador o números de teléfono verificados con AWS End User Messaging SMS

Si ha quitado la cuenta del entorno aislado de SMS, omita este paso.

Si estás en un entorno limitado pero has configurado un número de origen, puedes enviar mensajes a números de destino verificados. Para configurar destinos verificados, consulta Añadir un número de teléfono de destino verificado en la Guía del AWS End User Messaging SMS usuario.

También puedes enviar mensajes con remitentes y destinos simulados. Los mensajes del simulador producen registros, pero no se envían a través de la red del operador. En el menú de atajos, selecciona Probar el envío de SMS con el simulador de SMS. Para obtener más información, consulte los números de teléfono del simulador en la Guía del AWS End User Messaging SMS usuario.

Completar la configuración del grupo de usuarios en Amazon Cognito

Vuelva a la pestaña del navegador en la que estaba creando o editando el grupo de usuarios. Complete el procedimiento . Cuando haya añadido correctamente la configuración de SMS a su grupo de usuarios, Amazon Cognito envía un mensaje de prueba a un número de teléfono interno para comprobar que la configuración funciona. Amazon SNS cobra por cada mensaje SMS de prueba.