SMS-Regionen verwenden, um Ihre App vor SMS-Missbrauch zu schützen
In diesem Leitfaden erfahren Sie, wie Sie mithilfe von SMS-Regionen die Nutzung der SMS-Bestätigung von Identity Platform einschränken und Nutzungsmesswerte aufrufen.
SMS-Regionen – Übersicht
SMS-Regionen sind eine Identity Platform-Funktion, mit der Sie Ihre Apps vor SMS-Missbrauch schützen können.
SMS-Missbrauch tritt in der Regel auf, wenn ein böswilliger Akteur einen Dienst dazu veranlasst, SMS über einen Mobilfunkanbieter zu senden, mit dem er eine Umsatzbeteiligungsvereinbarung hat. SMS-Missbrauch kann zu höheren Kosten führen und den Ruf Ihres Produkts bei den Kunden beeinträchtigen.
Da die Identity Platform SMS-Autorisierungen zulässt, kann es zu SMS-Missbrauch kommen.
Mit der Funktion „SMS-Regionen“ können Sie festlegen, in welchen Regionen SMS-Autorisierungen für Smartphones empfangen werden können.
Die Funktion bietet folgende Vorteile:
- Eine Firebase Console-Benutzeroberfläche, mit der Sie Ihre SMS-Regionsrichtlinie einrichten können.
- Eine API, mit der Sie Ihre Richtlinie für SMS-Regionen einrichten können.
- Messwerte, die Ihnen bei der Entscheidung helfen können, ob Sie eine Richtlinie für SMS-Regionen verwenden sollten.
Richtlinie für Speicherorte festlegen
In diesem Abschnitt wird eine Identity Platform-Regionrichtlinie beschrieben. Sie können die folgenden Arten von Richtlinien einrichten. Es kann jeweils nur eine aktiv sein:
- Nur Zulassungsliste:Nur die Regionen, die Sie in einer Zulassungsliste angeben, können Anfragen zur Autorisierung von Anrufen erhalten.
- Nur Sperrliste:Alle Regionen können Anfragen zur Autorisierung von Telefonnummern erhalten, mit Ausnahme derjenigen, die Sie in einer Sperrliste angeben.
Nachdem Sie die Konfiguration geändert haben, beginnt das System sofort, die Richtlinie durchzusetzen. Es werden Autorisierungsanfragen für Smartphones aus Regionen blockiert, die gemäß der Richtlinie nicht zulässig sind. Dabei wird der Regionscode der Telefonnummer verwendet.
Richtlinie mit Zulassungsliste
So richten Sie eine Richtlinie ein, die nur Zulassungslisten umfasst:
Firebase Console
Rufen Sie in der Firebase Console die Seite Firebase Auth-Einstellungen auf.
Zu den Firebase Auth-Einstellungen
Wählen Sie im Navigationsbereich SMS-Regionsrichtlinie aus.
Wählen Sie Zulassen aus.
Klicken Sie auf Regionen auswählen.
Fügen Sie nur Regionen hinzu, in die SMS gesendet werden sollen. Regionen, die nicht in der Liste enthalten sind, werden blockiert.
Klicken Sie auf Speichern.
Sie können entweder eine Zulassungsliste oder eine Sperrliste konfigurieren, aber nicht beides. Dadurch wird jede vorherige Konfiguration überschrieben.
Identity Toolkit API
Führen Sie in der Google Cloud -Konsole den folgenden Befehl aus, um ein Zugriffstoken für Ihr Projekt zu drucken:
gcloud auth print-access-token --project=
PROJECT_ID
Aktualisieren Sie die Projektkonfiguration mit der Identity Toolkit API, um die neue Richtlinie aufzunehmen:
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'
Ersetzen Sie Folgendes:
ACCESS_TOKEN
: das zuvor generierte Zugriffstoken.REGION_LIST
: eine oder mehrere Regionen, z. B.IN
oderUS
.PROJECT_ID
: Ihre Projekt-ID.
Sie müssen eine Updatemaske angeben, um zu verhindern, dass andere Felder geändert werden.
Richtlinie mit ausschließlich Sperrliste
So richten Sie eine Richtlinie ein, die nur eine Sperrliste enthält:
Firebase Console
Rufen Sie in der Firebase Console die Seite Firebase Auth-Einstellungen auf und wählen Sie im Navigationsbereich SMS-Regionsrichtlinie aus.
Zu den Firebase Auth-Einstellungen
Wählen Sie Ablehnen aus.
Klicken Sie auf Regionen auswählen.
Fügen Sie alle Regionen hinzu, in die keine SMS gesendet werden sollen. Regionen, die nicht in der Liste enthalten sind, sind zulässig.
Klicken Sie auf Speichern.
Sie können entweder eine Zulassungsliste oder eine Sperrliste konfigurieren, aber nicht beides. Dadurch wird jede vorherige Konfiguration überschrieben.
Identity Toolkit API
Führen Sie in der Google Cloud -Konsole den folgenden Befehl aus, um ein Zugriffstoken für Ihr Projekt zu drucken:
gcloud auth print-access-token --project=
PROJECT_ID
Aktualisieren Sie die Projektkonfiguration mit der Identity Toolkit API, um die neue Richtlinie aufzunehmen:
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'
Ersetzen Sie Folgendes:
ACCESS_TOKEN
: das zuvor generierte Zugriffstoken.REGION_LIST
: eine oder mehrere Regionen, z. B.IN
oderUS
.PROJECT_ID
: Ihre Projekt-ID.
Sie müssen eine Updatemaske angeben, um zu verhindern, dass andere Felder geändert werden.
Auf regionale Messwerte zur SMS-Nutzung zugreifen
In diesem Abschnitt wird beschrieben, wie Sie Messwerte zur SMS-Nutzung aufrufen.
So rufen Sie die Messwerte auf:
Rufen Sie in der Google Cloud -Konsole die Seite Metrics Explorer in Cloud Monitoring auf:
Wählen Sie die folgenden Felder aus:
- identitytoolkit.googleapis.com/usage/sent_sms_count,
- identitytoolkit.googleapis.com/usage/blocked_sms_count und
- firebaseauth.googleapis.com/phone_auth/phone_verification_count.
Die Messwerte haben das Feld „region_code“. Mit diesem Code können Sie die Regionen aufrufen, in denen SMS-Autorisierungen empfangen werden.
Berechnen Sie die Erfolgsquote der Überprüfung in einer bestimmten Region als
verification_success_rate = phone_verification_count/sent_sms_count
. In der Regel gelten Erfolgsquoten von über 75% als akzeptabel.
Ein niedriger verification_success_rate
kann auf Missbrauch hinweisen, insbesondere in einer Region, in der Sie keine Nutzer erwarten würden. In der Regel gelten Erfolgsraten unter 75 % als niedrig.
Wenn Sie den Verdacht haben, dass SMS missbraucht werden, können Sie eine regionale Richtlinie festlegen.