Utiliser les régions de SMS pour protéger votre application contre l'utilisation abusive des SMS
Ce guide explique comment utiliser les régions SMS pour limiter l'utilisation de la validation par SMS d'Identity Platform et afficher les métriques d'utilisation.
Présentation des zones SMS
Les régions SMS sont une fonctionnalité d'Identity Platform qui vous permet de protéger vos applications contre les utilisations abusives des SMS.
L'utilisation abusive des SMS se produit généralement lorsqu'un acteur malveillant oblige un service à envoyer des SMS par l'intermédiaire d'un opérateur avec lequel il a conclu un accord de partage des revenus. L'utilisation abusive des SMS peut entraîner une augmentation des coûts et nuire à la réputation de votre produit auprès des clients.
Comme Identity Platform autorise les autorisations d'accès aux SMS par téléphone, une utilisation abusive des SMS peut se produire.
La fonctionnalité des régions des SMS vous permet de définir les régions autorisées à recevoir des autorisations téléphoniques pour les SMS.
Cette fonctionnalité offre les avantages suivants:
- Une interface de console Firebase pour vous permettre de configurer des règles pour les SMS par région.
- Une API vous permettant de configurer des règles pour les SMS par région.
- Métriques pouvant vous aider à décider d'utiliser une règle SMS par région.
Définir une règle de région
Cette section décrit une règle de région Identity Platform. Vous pouvez configurer les types de règles suivants, mais une seule peut être active:
- Liste d'autorisation uniquement:seules les régions que vous spécifiez dans une liste d'autorisation peuvent recevoir des requêtes d'autorisation téléphonique.
- Liste de blocage uniquement:toutes les régions peuvent recevoir des demandes d'autorisation téléphonique, à l'exception de celles que vous spécifiez dans une liste de blocage.
Une fois la configuration modifiée, le système commence immédiatement à appliquer la règle. Elle bloque les requêtes d'autorisation téléphonique provenant des régions interdites par la règle en fonction du code régional du numéro de téléphone.
Règle de liste d'autorisation uniquement
Pour configurer une règle de liste d'autorisation uniquement, procédez comme suit:
Console Firebase
Dans la console Firebase, accédez à la page Paramètres d'authentification Firebase.
Accéder aux paramètres d'authentification Firebase
Sélectionnez Règle pour les SMS dans le volet de navigation.
Sélectionnez Autoriser.
Cliquez sur Sélectionner des régions.
Ajoutez uniquement les régions vers lesquelles vous voulez envoyer des SMS. Les régions qui ne figurent pas dans la liste sont bloquées.
Cliquez sur Enregistrer.
Vous pouvez configurer soit une liste d'autorisation, soit une liste de blocage, mais pas les deux. Cette action écrase toute configuration précédente.
API Identity Toolkit
Pour imprimer un jeton d'accès pour votre projet dans la console Google Cloud, exécutez la commande suivante:
gcloud auth print-access-token --project=
PROJECT_ID
Mettez à jour la configuration de votre projet pour inclure votre nouvelle règle à l'aide de 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'
Remplacez les éléments suivants :
ACCESS_TOKEN
: jeton d'accès que vous avez généré précédemment.REGION_LIST
: une ou plusieurs régions, par exempleIN
ouUS
.PROJECT_ID
: ID de votre projet.
Vous devez fournir un masque de mise à jour pour empêcher la modification d'autres champs.
Règle de liste de blocage uniquement
Pour configurer une règle de blocage uniquement, procédez comme suit:
Console Firebase
Dans la console Firebase, accédez à la page Paramètres d'authentification Firebase, puis sélectionnez Règle pour la région des SMS dans le volet de navigation.
Accéder aux paramètres d'authentification Firebase
Sélectionnez Refuser.
Cliquez sur Sélectionner des régions.
Ajoutez les régions dans lesquelles vous souhaitez bloquer l'envoi de SMS. Les régions qui ne figurent pas dans la liste seront autorisées.
Cliquez sur Enregistrer.
Vous pouvez configurer soit une liste d'autorisation, soit une liste de blocage, mais pas les deux. Cette action écrase toute configuration précédente.
API Identity Toolkit
Pour imprimer un jeton d'accès pour votre projet dans la console Google Cloud, exécutez la commande suivante:
gcloud auth print-access-token --project=
PROJECT_ID
Mettez à jour la configuration de votre projet pour inclure votre nouvelle règle à l'aide de 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'
Remplacez les éléments suivants :
ACCESS_TOKEN
: jeton d'accès que vous avez généré précédemment.REGION_LIST
: une ou plusieurs régions, par exempleIN
ouUS
.PROJECT_ID
: ID de votre projet.
Vous devez fournir un masque de mise à jour pour empêcher la modification d'autres champs.
Accéder aux métriques d'utilisation des SMS régionaux
Cette section explique comment afficher les métriques d'utilisation des SMS.
Pour afficher les métriques, procédez comme suit:
Dans la console Google Cloud, accédez à la page Explorateur de métriques dans Cloud Monitoring:
Sélectionnez les champs suivants:
- IdentityToolkit.googleapis.com/usage/sent_sms_count
- IdentityTool.googleapis.com/usage/blocked_sms_count, et
- firebaseauth.googleapis.com/phone_auth/phone_verification_count.
Notez que les métriques ont un champ region_code. Ce code vous permet d'afficher les régions qui reçoivent des autorisations de SMS.
Calculez le taux de réussite de la validation en tant que
verification_success_rate = phone_verification_count/sent_sms_count
dans une région particulière. Généralement, nous considérons comme acceptables un taux de réussite de la validation supérieur à 75 %.
Un verification_success_rate
faible peut indiquer un abus, en particulier dans une région où vous ne vous attendez pas à avoir des utilisateurs. En règle générale, les taux de réussite de la validation inférieurs à 75 % sont considérés comme faibles.
Si vous soupçonnez une utilisation abusive des SMS, vous pouvez définir une règle régionale.