Utilizzare le regioni SMS per proteggere l'app da abusi degli 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 malintenzionato induce un servizio a inviare SMS tramite un operatore con cui ha un accordo di condivisione delle entrate. L'abuso di SMS può comportare costi più elevati e danneggiare la reputazione del tuo prodotto presso i clienti.
Poiché Identity Platform consente le autorizzazioni telefoniche via SMS, possono verificarsi abusi degli SMS.
La funzionalità Regioni SMS ti consente di impostare le regioni che possono ricevere autorizzazioni telefoniche 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 una norma relativa alle 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 telefonica.
- Solo lista bloccata:tutte le regioni possono ricevere richieste di autorizzazione telefonica, 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 dal criterio in base al codice regione del numero di telefono.
Policy solo con lista consentita
Per configurare un criterio solo con lista consentita:
Console Firebase
Nella console Firebase, vai alla pagina Impostazioni di Firebase Authentication.
Vai alle impostazioni di Firebase Auth
Seleziona Policy regione SMS nel riquadro di navigazione.
Seleziona Consenti.
Fai clic su Seleziona regioni.
Aggiungi solo le regioni in cui prevedi di inviare messaggi SMS. Le regioni non presenti nell'elenco sono bloccate.
Fai clic su Salva.
Puoi configurare una lista consentita o una lista bloccata, ma non entrambe. In questo modo, qualsiasi configurazione precedente viene sovrascritta.
API Identity Toolkit
Nella console Google Cloud , per stampare un token di accesso per il tuo progetto, esegui questo comando:
gcloud auth print-access-token --project=PROJECT_IDAggiorna 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: BearerACCESS_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 che hai generato in precedenza.REGION_LIST: una o più regioni, ad esempioINoUS. Per limitare gli abusi, ti consigliamo di consentire solo le regioni in cui prevedi di inviare SMS.PROJECT_ID: il tuo ID progetto.
Devi fornire una maschera di aggiornamento per impedire la modifica di altri campi.
Policy solo lista bloccata
Per configurare un criterio solo per la denylist:
Console Firebase
Nella console Firebase, vai alla pagina Impostazioni di Firebase Auth e seleziona Norme relative alle regioni per gli SMS nel riquadro di navigazione.
Vai alle impostazioni di Firebase Auth
Seleziona Nega.
Fai clic su Seleziona regioni.
Aggiungi le regioni a cui vuoi bloccare l'invio di SMS. Le regioni non presenti nell'elenco saranno consentite. Per una protezione più efficace dagli abusi, ti consigliamo di utilizzare una policy solo con lista consentita e di disattivare tutte le regioni in cui non prevedi di inviare SMS.
Fai clic su Salva.
Puoi configurare una lista consentita o una lista bloccata, ma non entrambe. In questo modo, qualsiasi configurazione precedente viene sovrascritta.
API Identity Toolkit
Nella console Google Cloud , per stampare un token di accesso per il tuo progetto, esegui questo comando:
gcloud auth print-access-token --project=PROJECT_IDAggiorna la configurazione del progetto in modo da includere le nuove norme utilizzando l'API Identity Toolkit:
curl -X PATCH -d "{'sms_region_config':{'allow_by_default':{'disallowed_regions':['REGION_LIST']}}}" \ -H 'Authorization: BearerACCESS_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 che hai generato in precedenza.REGION_LIST: una o più regioni, ad esempioINoUS.PROJECT_ID: il tuo ID progetto.
Devi fornire una maschera di aggiornamento per impedire la modifica di altri campi.
Accedere 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:
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. Utilizzi questo codice per visualizzare le regioni che ricevono autorizzazioni via 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 basso di verification_success_rate 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 degli SMS, puoi impostare un criterio per la regione.