Firebase 使用服务账号来运行和管理服务,而无需共享用户凭据。创建 Firebase 项目或将 Firebase 添加到现有 Google Cloud 项目时,您可能会发现 Firebase 项目中已经有一些服务账号。
您可能还注意到,在开始使用服务或执行某些操作(例如,将 Firebase 产品关联到 BigQuery)时,系统会将新服务账号添加到 Firebase 项目中。其中一些服务账号是由 Firebase 直接添加的;其他服务账号是通过与 Firebase 项目关联的 Google Cloud 项目添加的。
您可以在 Firebase 控制台的 > 项目设置的服务账号标签页中查看您的项目的所有服务账号。
下面列出了与 Firebase 相关的服务账号:
| 服务账号名称 | 账号用途 | 将账号添加到项目的时间 | 
|---|---|---|
| service-PROJECT_NUMBER@ | 管理 Firebase 服务并将其关联到 Google Cloud 项目(所有 Firebase 项目都需要) | 在创建 Firebase 项目/将 Firebase 服务添加到现有 Google Cloud 项目时添加 | 
| firebase-adminsdk-random5char@ | 为 Firebase Admin SDK 提供凭据 | 在创建 Firebase 项目/将 Firebase 服务添加到现有 Google Cloud 项目时添加 | 
| firebase-app-hosting-compute@ | 构建、运行和监控您的应用。它还具有使用应用默认凭据对 Admin SDK 进行身份验证的权限,以便执行从 Cloud Firestore 加载数据等操作。 | 在启用 Firebase App Hosting 时添加 | 
| service-PROJECT_NUMBER@ | 操作 Cloud Functions for Firebase | (从 2020 年起)在项目中启用 Cloud Functions API 时添加 (旧版)在创建 Firebase 项目/将 Firebase 服务添加到现有 Google Cloud 项目时添加 在将 Firebase 添加到项目之前,对于某些 Google Cloud 项目可能已经存在。 | 
| service-PROJECT_NUMBER@ | 通过 Cloud Firestore 的 Firebase Security Rules管理访问权限 | (从 2021 年起)在预配项目的第一个 Cloud Firestore 实例时添加 (旧版)在创建 Firebase 项目/将 Firebase 服务添加到现有 Google Cloud 项目时添加 | 
| PROJECT_ID@ | 管理与 App Engine 关联的资源: 
 | (从 2021 年起)在预配项目的 App Engine 应用时添加 (旧版)在创建 Firebase 项目/将 Firebase 服务添加到现有 Google Cloud 项目时添加 在将 Firebase 添加到项目之前,对于某些 Google Cloud 项目可能已经存在。 | 
| service-PROJECT_NUMBER@ | 管理 Cloud Storage for Firebase 存储桶 | 在预配项目的第一个 Cloud Storage for Firebase 存储桶/将现有 Cloud Storage 存储桶导入 Firebase 中时添加 2022 年,此服务账号已添加到所有具有 Cloud Storage for Firebase 存储桶的现有项目。请参阅常见问题解答。 | 
| firebase-measurement@ | 将 Google Analytics 数据导出到 BigQuery | 在将任何 Firebase 产品关联到 BigQuery 时添加 | 
| crashlytics-exporter@ | 将 Firebase Crashlytics 数据导出到 BigQuery | 在将任何 Firebase 产品关联到 BigQuery 时添加 | 
| service-PROJECT_NUMBER@ | 如需使用流式导出将 Firebase Crashlytics 数据导出到 BigQuery,请执行以下操作: | 在启用 Crashlytics 流式导出到 BigQuery 时添加 | 
| exporter@ | 将 Firebase Cloud Messaging 数据导出到 BigQuery | 在将任何 Firebase 产品关联到 BigQuery 时添加 | 
| exporter@ | 将 Firebase Performance Monitoring 数据导出到 BigQuery | 在将任何 Firebase 产品关联到 BigQuery 时添加 | 
| service-PROJECT_NUMBER@ | 将任意 Firebase 产品(即 Google Analytics、Crashlytics、Cloud Messaging 和 Performance Monitoring)中的数据导入 BigQuery | 在将任何 Firebase 产品关联到 BigQuery 时添加 | 
| ext-EXTENSION_INSTANCE_ID@ | 管理并运行安装的 Firebase 扩展程序 | 在安装扩展程序时添加(每个扩展程序实例都有自己的服务账号) | 
| 已弃用的服务账号 | ||
| (已弃用) | (已弃用) 使用 Google API | (已弃用) 不再添加到 Firebase 项目中。 在创建 Firebase 项目/将 Firebase 服务添加到现有 Google Cloud 项目时添加 在将 Firebase 添加到项目之前,对于某些 Google Cloud 项目可能已经存在。 | 
| (已弃用) firebase-service-account@ | (已弃用) 管理 Firebase 服务并将其关联到 Google Cloud 项目 | (已弃用) 不再添加到 Firebase 项目中。 在创建 Firebase 项目/将 Firebase 服务添加到现有 Google Cloud 项目时添加 | 
| (已弃用) firebase-storage@ | (已弃用) 管理 Cloud Storage for Firebase 存储桶 | (已弃用) 不再添加到 Firebase 项目中。 在创建 Firebase 项目/将 Firebase 服务添加到现有 Google Cloud 项目时添加 从 2022 年起, | 
| (已弃用) firebase-crashreporting-random4char@ | (已弃用) 将崩溃符号上传到 Firebase Crash Reporting | (已弃用) 不再添加到 Firebase 项目中。 在创建 Firebase 项目/将 Firebase 服务添加到现有 Google Cloud 项目时添加 |