Utilizzare le regioni SMS per proteggere la tua app da abusi relativi agli SMS

Questa guida mostra come utilizzare le regioni SMS per limitare l'utilizzo della verifica tramite SMS di Identity Platform e visualizzare le metriche di utilizzo.

Panoramica delle regioni per gli SMS

Le regioni SMS sono una funzionalità di Identity Platform che puoi utilizzare per proteggere le tue app dall'abuso di SMS.

L'abuso di SMS si verifica in genere quando un attore malintenzionato fa in modo che un servizio invii SMS tramite un operatore con cui ha stipulato un contratto di condivisione delle entrate. L'abuso di SMS può portare a costi più elevati e danneggiare la reputazione del tuo prodotto tra i clienti.

Poiché Identity Platform consente le autorizzazioni telefoniche via SMS, possono verificarsi abusi di SMS.

La funzionalità Regioni per gli SMS ti consente di impostare le regioni che possono ricevere autorizzazioni per telefonate via SMS.

La funzionalità offre quanto segue:

  • Un'interfaccia della console Firebase per configurare il criterio per la regione SMS.
  • Un'API per configurare il criterio per la regione SMS.
  • Metriche che possono aiutarti a decidere se utilizzare un criterio per la regione SMS.

Impostare un criterio per le regioni

Questa sezione descrive un criterio per le regioni di Identity Platform. Puoi configurare i seguenti tipi di criteri, di cui solo uno può essere attivo:

  • Solo lista consentita:solo le regioni specificate in una lista consentita possono ricevere richieste di autorizzazione per le chiamate.
  • Solo lista bloccata:tutte le regioni possono ricevere richieste di autorizzazione per telefono, ad eccezione di quelle specificate in una lista bloccata.

Dopo aver modificato la configurazione, il sistema inizia immediatamente a applicare il criterio. Blocca le richieste di autorizzazione telefonica provenienti dalle regioni non consentite dal criterio in base al codice regione del numero di telefono.

Criterio solo lista consentita

Per configurare un criterio solo per la lista consentita:

Console Firebase

  1. Nella Console Firebase, vai alla pagina Impostazioni di autenticazione Firebase.

    Vai alle impostazioni di Firebase Auth

    1. Seleziona Criterio regione SMS nel riquadro di navigazione.

    2. Seleziona Consenti.

    3. Fai clic su Seleziona regioni.

  2. Aggiungi solo le regioni in cui vuoi che vengano inviati i messaggi SMS. Le regioni non presenti nell'elenco sono bloccate.

  3. Fai clic su Salva.

    Puoi configurare una lista consentita o una lista vietata, ma non entrambe. In questo modo, qualsiasi configurazione precedente verrà sovrascritta.

API Identity Toolkit

  1. Nella console Google Cloud, per stampare un token di accesso per il tuo progetto, esegui il seguente comando:

    gcloud auth print-access-token --project=PROJECT_ID
    
  2. Aggiorna la configurazione del progetto in modo da includere le nuove norme utilizzando l'API 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'
    

Sostituisci quanto segue:

  • ACCESS_TOKEN: il token di accesso generato in precedenza.
  • REGION_LIST: una o più regioni, ad esempio IN o US.
  • PROJECT_ID: il tuo ID progetto.

Devi fornire una maschera di aggiornamento per impedire la modifica di altri campi.

Criterio solo lista bloccata

Per configurare un criterio solo per la lista negativa:

Console Firebase

  1. Nella console Firebase, vai alla pagina Impostazioni di autenticazione Firebase e seleziona Criteri per le regioni SMS nel riquadro di navigazione.

    Vai alle impostazioni di Firebase Auth

    1. Seleziona Rifiuta.

    2. Fai clic su Seleziona regioni.

  2. Aggiungi le regioni in cui vuoi bloccare l'invio di messaggi SMS. Le regioni non presenti nell'elenco saranno consentite.

  3. Fai clic su Salva.

    Puoi configurare una lista consentita o una lista vietata, ma non entrambe. In questo modo, qualsiasi configurazione precedente verrà sovrascritta.

API Identity Toolkit

  1. Nella console Google Cloud, per stampare un token di accesso per il tuo progetto, esegui il seguente comando:

    gcloud auth print-access-token --project=PROJECT_ID
    
  2. Aggiorna la configurazione del progetto in modo da includere le nuove norme utilizzando l'API Identity Toolkit:

    curl -X PATCH -d "{'sms_region_config':{'denylist_only':{'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'
    

Sostituisci quanto segue:

  • ACCESS_TOKEN: il token di accesso generato in precedenza.
  • REGION_LIST: una o più regioni, ad esempio IN o US.
  • PROJECT_ID: il tuo ID progetto.

Devi fornire una maschera di aggiornamento per impedire la modifica di altri campi.

Accedere alle metriche sull'utilizzo degli SMS a livello di regione

Questa sezione descrive come visualizzare le metriche relative all'utilizzo degli SMS.

Per visualizzare le metriche:

  1. Nella console Google Cloud, vai alla pagina Esplora metriche in Cloud Monitoring:

    Vai a Cloud Monitoring.

  2. Seleziona i seguenti campi:

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

    Tieni presente che le metriche hanno un campo region_code. Utilizza questo codice per visualizzare le regioni che ricevono autorizzazioni SMS.

  3. Calcola la percentuale di successo della verifica come verification_success_rate = phone_verification_count/sent_sms_count in una determinata regione. In genere, i tassi di successo della verifica superiori al 75% sono considerati accettabili.

Un valore verification_success_rate basso può indicare un abuso, soprattutto in una regione in cui non ti aspetteresti di avere utenti. In genere, i tassi di successo della verifica inferiori al 75% sono considerati bassi.

Se sospetti un abuso di SMS, puoi impostare un criterio per la regione.