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

如何为Firebase Messaging API配置受限访问权限?

如何创建仅具备Firebase推送通知权限的服务账号

为什么默认的firebase-adminsdk权限过高

默认生成的firebase-adminsdk服务账号绑定了Firebase Admin SDK的预设角色,包含Firebase项目的大部分管理权限(比如用户管理、数据库读写、存储操作等),确实不适合直接交给应用开发者使用,风险较高。

步骤1:创建自定义权限角色

因为Google Cloud IAM没有现成的「仅发送FCM推送」的预设角色,需要自定义:

  • 打开Google Cloud控制台,进入你的Firebase对应项目
  • 进入「IAM与管理员」→「角色」页面,点击「创建角色」
  • 填写角色信息:名称设为Firebase Cloud Messaging Sender,描述写「仅允许发送Firebase推送通知的权限」
  • 搜索并添加所需权限:
    • 核心推送权限:firebasecloudmessaging.messages.create
    • (可选)如果需要查询设备令牌信息,添加firebasecloudmessaging.tokens.get或firebasecloudmessaging.tokens.list
  • 保存自定义角色

步骤2:创建新的服务账号

  • 进入「IAM与管理员」→「服务账号」页面,点击「创建服务账号」
  • 填写账号名称(例如fcm-sender-service-account)和描述,完成创建
  • 进入该服务账号的「权限」标签页,点击「添加权限」
  • 在角色列表中找到刚创建的Firebase Cloud Messaging Sender角色,添加后保存

步骤3:生成服务账号密钥

  • 切换到服务账号的「密钥」标签页,点击「添加密钥」→「创建新密钥」
  • 选择JSON格式,点击「创建」,下载生成的密钥文件后交给应用开发者即可

多服务账号共存说明

新创建的FCM专用服务账号与默认的firebase-adminsdk、其他服务账号完全独立,各自拥有独立的权限配置,不会互相干扰。你可以根据不同场景创建多个服务账号,分别绑定对应的自定义或预设角色,实现权限隔离。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 17:40:28