You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建仅可向开发版App发送FCM推送的专用服务账号?

实现FCM开发环境推送权限隔离的配置方案

1. 关联Firebase项目到Google Cloud控制台

Firebase的权限体系基于Google Cloud IAM,需在GCP控制台完成细粒度权限配置:

  • 打开Firebase控制台,进入目标项目 → 点击左上角项目设置 → 选择「Google Cloud Platform (GCP) 资源」,跳转至对应GCP项目。
  • 在GCP控制台左侧菜单,进入「IAM与管理员」→「IAM」页面。

2. 创建开发专用Service Account

  • 点击页面顶部「添加」按钮,进入成员添加界面。
  • 在「新成员」输入框选择「创建新服务账号」,填写账号名称(如fcm-dev-sender)和描述(如「仅用于.dev后缀开发版应用的FCM推送」),完成账号创建。

3. 配置细粒度推送权限(仅针对开发版应用)

核心是限制权限范围到开发版应用,避免全局访问:

  • 返回IAM页面,找到刚创建的服务账号,点击右侧「编辑权限」图标。
  • 点击「添加另一个角色」,搜索并选择「Firebase Cloud Messaging Sender」角色(该角色仅具备FCM消息发送权限,无管理权限)。
  • 点击角色右侧的「资源」下拉框,选择「特定资源」→ 资源类型选「Firebase App」,在列表中选中带.dev后缀的开发版应用(如com.example.myapp.dev),确认选择。
  • 保存权限配置。

4. 生成开发专用密钥文件

  • 进入GCP控制台「IAM与管理员」→「服务账号」页面,找到目标账号,切换到「密钥」标签页。
  • 点击「添加密钥」→「创建新密钥」,选择JSON格式,下载生成的密钥文件后分发给开发团队。

5. 验证权限隔离效果

  • 用开发密钥尝试向生产版应用ID发送推送:会收到HTTP 403权限拒绝错误,说明无法访问生产资源。
  • 用开发密钥向开发版应用ID发送推送:可正常发送消息,验证权限配置生效。

注意事项

  • 生产环境的Service Account需单独配置,仅授予生产应用的推送权限,避免权限混用。
  • 定期轮换密钥文件,降低密钥泄露风险。

内容的提问来源于stack exchange,提问作者Moshe Katz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 01:50:29