运行 Firebase Cloud Functions 时使用哪个服务帐号?

cry*_*sxd 7 firebase google-cloud-functions google-cloud-firestore

我正在尝试创建一个计划 Cloud Functions 导出我的 Firestore 数据库以创建备份。在我的本地机器(使用我的个人用户帐户和所有者角色)上提供服务时,代码运行良好,但一旦部署就失败了。我已经发现我需要在运行云功能时使用的服务帐户中添加“Storage Admin”和“Datastore Import Export Admin”,但我无法弄清楚这些功能使用的是哪个服务帐户。

有谁知道使用的是哪个服务帐户?

cry*_*sxd 17

Firebase Cloud Functions 使用{project-id}@appspot.gserviceaccount.com服务帐号(App Engine 默认服务帐号)。添加到此服务帐户的角色和权限会转移到 Cloud Functions 运行时。

提示:使用 Google Cloud Functions 时,可以在部署函数时定义运行函数时使用的服务帐户。

  • 使用 Firebase CLI 进行部署时,您无法指定要使用的服务帐号。这仅在您使用 gcloud 部署时有效,并且您不能使用 gcloud 来部署使用 Firebase SDK 构建函数的函数。如果您需要为使用 Firebase CLI 部署的函数使用不同的服务帐户,则需要为该帐户部署凭据,并手动使用它们。 (10认同)
  • 对于 v2 函数,它是“PROJECT_NUMBER-compute@developer.gserviceaccount.com”。 (7认同)
  • 您是什么意思部署它们并手动使用它们?我无法部署我的功能,因为服务帐户已消失。 (2认同)