使用短信区域来保护您的应用免受短信滥用
本指南介绍了如何使用短信区域限制 Identity Platform 短信 以及查看使用情况指标
短信区域概览
短信区域是 Identity Platform 的一项功能,可用于保护应用 滥用短信。
当恶意行为者导致服务发送短信时,通常会发生短信滥用行为 通过与他们签订收益分成协议的运营商购买广告资源。短信滥用行为可以 会增加成本,并损害您的商品在客户中的声誉。
由于 Identity Platform 允许短信手机授权,因此可能会出现短信滥用行为。
通过短信区域功能,您可以设置哪些区域可以接收短信手机 授权。
该功能提供以下功能:
- Firebase 控制台界面,供您设置短信区域政策。
- 用于设置短信区域政策的 API。
- 可据以判断是否使用短信区域政策的指标。
设置区域政策
本部分介绍 Identity Platform 区域政策。您可以使用 以下类型的政策,并且只能有一个政策处于有效状态:
- 仅限许可名单:只有您在许可名单中指定的区域可以接收手机 授权请求。
- 仅限拒绝名单:除您在拒绝名单中指定的地区外,所有地区都可以接收手机授权请求。
更改配置后,系统会立即开始强制执行 政策。它会屏蔽来自以下国家/地区的手机授权请求: (根据手机号码的区号),此政策不允许显示。
“仅限许可名单”政策
如需设置仅限许可名单的政策,请按以下步骤操作:
Firebase 控制台
在 Firebase 控制台中,前往 Firebase 身份验证设置页面。
在导航窗格中选择短信区域政策。
选择允许。
点击选择区域。
仅添加你希望接收短信的区域。未在此列表中的区域会被屏蔽。
点击保存。
您可以配置许可名单或拒绝名单,但不能同时配置两者。这样做会覆盖之前的所有配置。
Identity Toolkit API
在 Google Cloud 控制台中,运行以下命令来输出项目的访问令牌:
gcloud auth print-access-token --project=
PROJECT_ID
使用 Identity Toolkit API 更新项目配置以包含新政策:
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'
替换以下内容:
ACCESS_TOKEN
:您之前生成的访问令牌。REGION_LIST
:一个或多个区域,例如IN
或US
。PROJECT_ID
:您的项目 ID。
仅限拒绝名单的政策
如需设置仅限拒绝名单的政策,请按以下步骤操作:
Firebase 控制台
在 Firebase 控制台中,前往 Firebase 身份验证设置页面,然后在导航窗格中选择短信区域政策。
选择拒绝。
点击选择区域。
添加您要禁止其发送短信的所有区域。但允许此列表中没有列出的区域。
点击保存。
您可以配置许可名单或拒绝名单,但不能同时配置两者。这样做会覆盖之前的所有配置。
Identity Toolkit API
在 Google Cloud 控制台中,运行以下命令来输出项目的访问令牌:
gcloud auth print-access-token --project=
PROJECT_ID
使用 Identity Toolkit API 更新项目配置以包含新政策:
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'
替换以下内容:
ACCESS_TOKEN
:您之前生成的访问令牌。REGION_LIST
:一个或多个区域,例如IN
或US
。PROJECT_ID
:您的项目 ID。
访问区域级短信使用指标
本部分介绍了如何查看短信使用指标。
如需查看指标,请执行以下操作:
在 Google Cloud 控制台中,转到 Cloud Monitoring 中的 Metrics Explorer 页面:
选择以下字段:
- identitytoolkit.googleapis.com/usage/sent_sms_count,
- Identitytoolkit.googleapis.com/usage/blocked_sms_count 和
- firebaseauth.googleapis.com/phone_auth/phone_verification_count.
请注意,这些指标具有 region_code 字段。您可以使用此代码 查看接收短信授权的区域。
计算验证成功率,如下所示:
verification_success_rate = phone_verification_count/sent_sms_count
,采用 特定区域通常,验证成功率超过 75% 即可接受。
verification_success_rate
较低可能表示存在滥用行为,尤其是在
这是您不会预料到的通常,验证成功率低于 75% 被视为较低。
如果您怀疑存在短信滥用行为,可以设置区域政策。