Utilizzo delle regioni per SMS per proteggere la tua app dall'abuso di SMS

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

Panoramica delle regioni 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 utente malintenzionato fa sì che un servizio invii SMS tramite un operatore con cui ha stipulato un contratto di compartecipazione alle entrate. L'uso illecito di SMS può comportare costi più elevati e danneggiare la reputazione del tuo prodotto presso i clienti.

Poiché Identity Platform consente le autorizzazioni telefoniche per gli SMS, potrebbe verificarsi un abuso per gli SMS.

La funzione regioni SMS consente di impostare le aree geografiche che possono ricevere le autorizzazioni telefoniche SMS.

La funzionalità offre quanto segue:

  • Interfaccia della Console Firebase in cui puoi configurare il criterio della regione SMS.
  • Un'API per configurare il criterio della regione SMS.
  • Metriche che possono aiutarti a decidere di utilizzare un criterio per la regione SMS.

Imposta un criterio per la regione

Questa sezione descrive un criterio per la regione di Identity Platform. Puoi configurare i seguenti tipi di criteri e solo uno può essere attivo:

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

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

Criterio solo per la lista consentita

Per configurare un criterio relativo solo alla lista consentita:

Console Firebase

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

    Vai alle impostazioni di Firebase Auth

    1. Seleziona Criterio della regione SMS nel riquadro di navigazione.

    2. Seleziona Consenti.

    3. Fai clic su Seleziona regioni.

  2. Aggiungi solo le regioni in cui vuoi inviare gli SMS. Le regioni non presenti nell'elenco sono bloccate.

  3. Fai clic su Salva.

    Puoi configurare una lista consentita o una lista bloccata, ma non entrambe. Questa operazione sovrascrive qualsiasi configurazione precedente.

API Identity Toolkit

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

    gcloud auth print-access-token --project=PROJECT_ID
    
  2. Aggiorna la configurazione del progetto in modo da includere il nuovo criterio 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: l'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 bloccata, segui questi passaggi:

Console Firebase

  1. Nella Console Firebase, vai alla pagina Impostazioni di autenticazione Firebase e seleziona Criterio regione 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 SMS. Le regioni non presenti nell'elenco saranno consentite.

  3. Fai clic su Salva.

    Puoi configurare una lista consentita o una lista bloccata, ma non entrambe. Questa operazione sovrascrive qualsiasi configurazione precedente.

API Identity Toolkit

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

    gcloud auth print-access-token --project=PROJECT_ID
    
  2. Aggiorna la configurazione del progetto in modo da includere il nuovo criterio 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: l'ID progetto.

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

Accedi alle metriche di utilizzo degli SMS a livello di regione

Questa sezione descrive come visualizzare le metriche di utilizzo degli SMS.

Per visualizzare le metriche:

  1. Nella console Google Cloud, vai alla pagina Metrics Explorer in Cloud Monitoring:

    Vai a Cloud Monitoring.

  2. Seleziona i seguenti campi:

    • identitàtoolkit.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 le 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, sono considerate accettabili percentuali di successo delle verifiche superiori al 75%.

Un valore verification_success_rate basso può indicare un abuso, soprattutto in un'area geografica in cui non ti aspetti di avere utenti. In genere, percentuali di successo delle verifiche inferiori al 75% sono considerate basse.

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