使用短信区域来保护您的应用免受短信滥用

本指南介绍了如何使用短信区域限制 Identity Platform 短信 以及查看使用情况指标

短信区域概览

短信区域是 Identity Platform 的一项功能,可用于保护应用 滥用短信。

当恶意行为者导致服务发送短信时,通常会发生短信滥用行为 通过与他们签订收益分成协议的运营商购买广告资源。短信滥用行为可以 会增加成本,并损害您的商品在客户中的声誉。

由于 Identity Platform 允许短信手机授权,因此可能会出现短信滥用行为。

通过短信区域功能,您可以设置哪些区域可以接收短信手机 授权。

该功能提供以下功能:

  • Firebase 控制台界面,供您设置短信区域政策。
  • 用于设置短信区域政策的 API。
  • 可据以判断是否使用短信区域政策的指标。

设置区域政策

本部分介绍 Identity Platform 区域政策。您可以使用 以下类型的政策,并且只能有一个政策处于有效状态:

  • 仅限许可名单:只有您在许可名单中指定的区域可以接收手机 授权请求。
  • 仅限拒绝名单:除您在拒绝名单中指定的地区外,所有地区都可以接收手机授权请求。

更改配置后,系统会立即开始强制执行 政策。它会屏蔽来自以下国家/地区的手机授权请求: (根据手机号码的区号),此政策不允许显示。

“仅限许可名单”政策

如需设置仅限许可名单的政策,请按以下步骤操作:

Firebase 控制台

  1. 在 Firebase 控制台中,前往 Firebase 身份验证设置页面。

    转到 Firebase Authentication 设置

    1. 在导航窗格中选择短信区域政策

    2. 选择允许

    3. 点击选择区域

  2. 仅添加你希望接收短信的区域。未在此列表中的区域会被屏蔽。

  3. 点击保存

    您可以配置许可名单或拒绝名单,但不能同时配置两者。这样做会覆盖之前的所有配置。

Identity Toolkit API

  1. 在 Google Cloud 控制台中,运行以下命令来输出项目的访问令牌:

    gcloud auth print-access-token --project=PROJECT_ID
    
  2. 使用 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:一个或多个区域,例如 INUS
  • PROJECT_ID:您的项目 ID。

您必须提供更新掩码,以防止更改其他字段。

仅限拒绝名单的政策

如需设置仅限拒绝名单的政策,请按以下步骤操作:

Firebase 控制台

  1. 在 Firebase 控制台中,前往 Firebase 身份验证设置页面,然后在导航窗格中选择短信区域政策

    转到 Firebase Authentication 设置

    1. 选择拒绝

    2. 点击选择区域

  2. 添加您要禁止其发送短信的所有区域。但允许此列表中没有列出的区域。

  3. 点击保存

    您可以配置许可名单或拒绝名单,但不能同时配置两者。这样做会覆盖之前的所有配置。

Identity Toolkit API

  1. 在 Google Cloud 控制台中,运行以下命令来输出项目的访问令牌:

    gcloud auth print-access-token --project=PROJECT_ID
    
  2. 使用 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:一个或多个区域,例如 INUS
  • PROJECT_ID:您的项目 ID。

您必须提供更新掩码,防止其他字段被 已更改。

访问区域级短信使用指标

本部分介绍了如何查看短信使用指标。

如需查看指标,请执行以下操作:

  1. 在 Google Cloud 控制台中,转到 Cloud Monitoring 中的 Metrics Explorer 页面:

    转到 Cloud Monitoring

  2. 选择以下字段:

    • identitytoolkit.googleapis.com/usage/sent_sms_count,
    • Identitytoolkit.googleapis.com/usage/blocked_sms_count 和
    • firebaseauth.googleapis.com/phone_auth/phone_verification_count.

    请注意,这些指标具有 region_code 字段。您可以使用此代码 查看接收短信授权的区域。

  3. 计算验证成功率,如下所示: verification_success_rate = phone_verification_count/sent_sms_count,采用 特定区域通常,验证成功率超过 75% 即可接受。

verification_success_rate 较低可能表示存在滥用行为,尤其是在 这是您不会预料到的通常,验证成功率低于 75% 被视为较低。

如果您怀疑存在短信滥用行为,可以设置区域政策