Utilizzo delle regioni per gli SMS per proteggere la tua app dai comportamenti illeciti 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'uso improprio degli SMS.

L'abuso degli SMS solitamente si verifica quando un utente malintenzionato fa sì che un servizio invii SMS tramite un operatore con cui hanno stipulato un contratto di compartecipazione alle 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 tramite SMS, è possibile che si verifichi un abuso di SMS.

La funzionalità relativa alle regioni per gli SMS ti consente di impostare le regioni che possono ricevere SMS sul telefono autorizzazioni.

La funzionalità offre quanto segue:

  • Un'interfaccia della console Firebase per configurare il criterio della regione per gli SMS.
  • Un'API per configurare il criterio per la regione SMS.
  • Metriche che possono aiutarti a decidere se utilizzare un criterio per le regioni per gli 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 e 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 di sola 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 vengono bloccate.

  3. Fai clic su Salva.

    Puoi configurare una lista consentita o una lista bloccata, 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 per 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: 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 relativo solo alla lista bloccata, segui questi passaggi:

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 autenticazione Firebase

    1. Seleziona Rifiuta.

    2. Fai clic su Seleziona regioni.

  2. Aggiungi le regioni a 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 bloccata, 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 per 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: il tuo ID progetto.

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

Accedi 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 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, una percentuale di successo della verifica superiore al 75% è considerata accettabile.

Un valore verification_success_rate basso può indicare un comportamento illecito, soprattutto in una regione in cui non ti aspetteresti di avere utenti. Generalmente, la percentuale di successo della verifica è inferiore al 75% sono considerati bassi.

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