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
Nella Console Firebase, vai alla pagina Impostazioni di autenticazione Firebase.
Vai alle impostazioni di Firebase Auth
Seleziona Criterio regione SMS nel riquadro di navigazione.
Seleziona Consenti.
Fai clic su Seleziona regioni.
Aggiungi solo le regioni in cui vuoi che vengano inviati i messaggi SMS. Le regioni non presenti nell'elenco sono bloccate.
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
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
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 esempioIN
oUS
.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
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
Seleziona Rifiuta.
Fai clic su Seleziona regioni.
Aggiungi le regioni in cui vuoi bloccare l'invio di messaggi SMS. Le regioni non presenti nell'elenco saranno consentite.
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
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
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 esempioIN
oUS
.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:
Nella console Google Cloud, vai alla pagina Esplora metriche in Cloud Monitoring:
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.
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.