Usa regiones de SMS para proteger tu app de abuso de SMS

En esta guía, se muestra cómo usar las regiones de SMS para restringir el uso de la verificación por SMS de Identity Platform y ver las métricas de uso.

Descripción general de las regiones de SMS

Las regiones de SMS son una función de Identity Platform que puedes usar para proteger tus apps del abuso de SMS.

El abuso de SMS suele ocurrir cuando un actor malicioso hace que un servicio envíe SMS a través de un proveedor con el que tiene un acuerdo de reparto de ingresos. El abuso de SMS puede generar costos más altos y dañar la reputación de tu producto con los clientes.

Debido a que Identity Platform permite las autorizaciones por SMS, es posible que se produzcan abusos por SMS.

La función de regiones de SMS te permite establecer qué regiones pueden recibir autorizaciones por SMS para los teléfonos.

La función proporciona lo siguiente:

  • Una API simple para que configures tu política de región de SMS.
  • Métricas que pueden informar tu decisión de usar una política de región de SMS

Establece una política de la región

En esta sección, se describe una política de la región de Identity Platform. Puedes configurar los siguientes tipos de políticas:

  • Solo lista de anunciantes permitidos: Solo las regiones que especificas en una lista de anunciantes permitidos pueden recibir solicitudes de autorización telefónica.
  • Permitir de forma predeterminada: todas las regiones, excepto las que especificas, pueden recibir solicitudes de autorización telefónica.

Después de cambiar la configuración, el sistema comienza de inmediato a aplicar la política. Bloquea las solicitudes de autorización telefónica de las regiones que la política no permite, según el código de región del número de teléfono.

Política de lista de entidades permitidas

Para configurar una política solo de la lista de anunciantes permitidos, sigue estos pasos:

  1. En Google Cloud Console, imprime un token de acceso para tu proyecto:

    gcloud auth print-access-token --project=PROJECT_ID
    
  2. Actualiza la configuración del proyecto para incluir la política nueva mediante la API de Identity Toolkit:

    curl -X PATCH -d "{'sms_region_config':{'allowlist_only':{'allowed_regions':['REGION_LIST']}}}" \
    -H 'Authorization: Bearer ACCESS_TOKEN' \
    -H 'Content-Type: application/json' \
    'https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/config?updateMask=sms_region_config'
    

Reemplaza lo siguiente:

  • ACCESS_TOKEN: Es el token de acceso que generaste antes.
  • REGION_LIST: Una o más regiones, por ejemplo, IN o US
  • PROJECT_ID: el ID de tu proyecto

Política de permiso predeterminado

Para configurar una política de permiso predeterminado, sigue estos pasos:

  1. En Google Cloud Console, imprime un token de acceso para tu proyecto:

    gcloud auth print-access-token --project=PROJECT_ID
    
  2. Actualiza la configuración del proyecto para incluir la política nueva mediante la API de Identity Toolkit:

    curl -X PATCH -d "{'sms_region_config':{'allow_by_default':{'disallowed_regions':['REGION_LIST']}}}" \
    -H 'Authorization: Bearer ACCESS_TOKEN' \
    -H 'Content-Type: application/json' \
    'https://identitytoolkit.googleapis.com/admin/v2/projects/PROJECT_ID/config?updateMask=sms_region_config'
    

Reemplaza lo siguiente:

  • ACCESS_TOKEN: Es el token de acceso que generaste antes.
  • REGION_LIST: Una o más regiones, por ejemplo, IN o US
  • PROJECT_ID: el ID de tu proyecto

Acceder a métricas de uso de SMS regionales

En esta sección, se describe cómo ver las métricas de uso de SMS.

Para ver las métricas, haz lo siguiente:

  1. En Cloud Console, ve a la página Explorador de métricas en Cloud Monitoring:

    Ve a Cloud Monitoring.

  2. Selecciona los siguientes campos:

    • identitytoolkit.googleapis.com/usage/sent_sms_count,
    • Identitytoolkit.googleapis.com/usage/blocked_sms_count
    • firebaseauth.googleapis.com/phone_auth/phone_verification_count.

    Ten en cuenta que las métricas tienen un campo region_code. Usa este código para ver las regiones que reciben las autorizaciones de SMS.

  3. Calcula la tasa de éxito de la verificación como verification_success_rate = phone_verification_count/sent_sms_count en una región en particular. Por lo general, las tasas de éxito de las verificaciones superiores al 75% se consideran aceptables.

Un valor de verification_success_rate bajo puede indicar abuso, especialmente en una región en la que no esperas tener usuarios. Por lo general, las tasas de éxito de las verificaciones inferiores al 75% se consideran bajas.

Si sospechas que se está abusando de los SMS, puedes establecer una política de región.