權限通過角色授予您的項目成員。角色是權限的集合。將角色分配給項目成員時,您會授予該項目成員該角色包含的所有權限。
本頁面介紹了由 Firebase 支持的角色中列出的權限啟用的操作。這些權限分為兩類:
所有角色或 Firebase 中的特定操作所需的身份和訪問管理 (IAM) 權限
所需權限
Firebase IAM 包括以下權限:
有關特定於 Firebase 產品或服務的權限的一般列表和說明,請參閱Firebase 產品特定的 IAM 權限中的相應部分。
所有角色都包含所需的權限
下表中列出的權限是使用任何 Firebase 產品或服務所必需的。
這些權限會自動包含在每個Firebase 預定義角色中。
允許 | 描述 |
---|---|
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze | 授予查看來自 Google Analytics 的細分和數據的權限 |
授予檢索 Firebase 項目信息的權限 | |
授予檢查 Google API 狀態和運行 Firebase CLI 命令的權限 |
Firebase 服務特定操作所需的權限
執行某些特定於 Firebase 服務的操作需要下表中列出的權限。
需要時,這些權限會自動包含在每個Firebase 預定義角色中。
行動 | 所需權限 |
---|---|
使用協作工具(包括 Slack、Jira 和 PagerDuty)訪問 Firebase 項目集成 | firebaseextensions.configs.* |
從 StackDriver 查看使用情況和分析 | 監控.timeSeries.list |
運行Firebase CLI命令 有關更多信息,請參閱有關Runtime Configurator Access的 Google Cloud 文檔。 | 運行時配置。* |
Firebase 管理特定操作所需的權限
下表中列出的權限是執行某些 Firebase 管理特定操作所需的額外權限。
管理權限和相關操作 | 需要額外的權限 |
---|---|
firebase.billingPlans.update | |
更改 Firebase 項目的結算方案 | resourcemanager.projects.createBillingAssignment resourcemanager.projects.deleteBillingAssignment |
firebase.projects.delete | |
刪除 Firebase 項目 | 資源管理器.projects.delete |
firebase.projects.update | |
將 Firebase 資源添加到現有的 Google Cloud 項目 | 資源管理器.projects.get serviceusage.services.enable serviceusage.services.get |
更改 Firebase 項目的名稱 | 資源管理器.projects.update |
為 Android 應用程序添加 SHA 證書指紋 | clientauthconfig.clients.create |
刪除 Android 應用的 SHA 證書指紋 | clientauthconfig.clients.delete |
更新 Apple 應用的 App Store ID 或團隊 ID | clientauthconfig.clients.get clientauthconfig.clients.update |
Firebase 產品特定的 IAM 權限
下表列出了特定於 Firebase 產品或服務的權限。您可以使用這些權限來創建自定義角色。
Firebase 管理權限
請注意,以下某些管理權限需要額外權限才能執行某些操作。
權限名稱 | 描述 |
---|---|
firebase.billingPlans.get | 檢索項目的當前Firebase 計費方案 |
firebase.billingPlans.update | 更改項目的當前Firebase 計費方案 |
firebase.clients.create | 將新應用添加到項目 |
firebase.clients.delete | 從項目中刪除現有應用 |
firebase.clients.get | 檢索項目中應用程序的詳細信息和配置 |
firebase.clients.list | 檢索項目中的應用程序列表 |
firebase.clients.update | 更新項目中應用的詳細信息和配置 |
firebase.links.create | 創建指向 Google 系統的新鏈接 (Firebase 控制台 > 項目設置 > 集成) |
firebase.links.delete | 刪除指向 Google 系統的鏈接 (Firebase 控制台 > 項目設置 > 集成) |
firebase.links.list | 檢索到 Google 系統的鏈接列表 (Firebase 控制台 > 項目設置 > 集成) |
firebase.links.update | 更新與 Google 系統的現有鏈接 (Firebase 控制台 > 項目設置 > 集成) |
firebase.playLinks.get | 檢索有關 Google Play 鏈接的詳細信息 (Firebase 控制台 > 項目設置 > 集成 > Google Play) |
firebase.playLinks.list | 檢索到 Google Play 的鏈接列表 (Firebase 控制台 > 項目設置 > 集成 > Google Play) |
firebase.playLinks.update | 創建新鏈接並更新到 Google Play 的現有鏈接 (Firebase 控制台 > 項目設置 > 集成 > Google Play) |
firebase.projects.delete | 刪除現有項目 |
firebase.projects.get | 檢索項目的詳細信息和 Firebase 資源 |
firebase.projects.list | 檢索 Firebase 項目列表 |
firebase.projects.update | 修改現有項目的屬性 接收適用 Firebase 產品和功能的提醒(了解詳情) |
Firebase 應用分發權限(測試版)
權限名稱 | 描述 |
---|---|
firebaseappdistro.releases.list | 檢索現有分發和邀請鏈接的列表 |
firebaseappdistro.releases.update | 創建、刪除和修改分佈 創建和刪除邀請鏈接 |
firebaseappdistro.testers.list | 檢索項目中現有測試人員的列表 |
firebaseappdistro.testers.update | 在項目中創建和刪除測試人員 |
firebaseappdistro.groups.list | 檢索項目中現有測試人員組的列表 |
firebaseappdistro.groups.update | 在項目中創建和刪除測試人員組 |
谷歌分析權限
權限名稱 | 描述 |
---|---|
firebaseanalytics.resources.googleAnalytics編輯 | 修改現有 Analytics 數據,包括受眾、用戶屬性、渠道、報告參數、轉化和回發 有關詳細信息,請參閱分析幫助。 |
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze | 查看現有 Analytics 數據,包括報告和配置數據 處理報告中的數據(例如,過濾器) 有關詳細信息,請參閱分析幫助。 |
Firebase 應用檢查權限
權限名稱 | 描述 |
---|---|
firebaseappcheck.appAttestConfig.get | 檢索應用的 App Attest 配置 |
firebaseappcheck.appAttestConfig.update | 更新應用的 App Attest 配置 |
firebaseappcheck.debugTokens.get | 檢索應用程序的調試令牌 |
firebaseappcheck.debugTokens.update | 創建、更新或刪除應用程序的調試令牌 |
firebaseappcheck.deviceCheckConfig.get | 檢索應用的 DeviceCheck 配置 |
firebaseappcheck.deviceCheckConfig.update | 更新應用的 DeviceCheck 配置 |
firebaseappcheck.playIntegrityConfig.get | 檢索應用的 Play Integrity 配置 |
firebaseappcheck.playIntegrityConfig.update | 更新應用的 Play Integrity 配置 |
firebaseappcheck.recaptchaEnterpriseConfig.get | 檢索應用程序的 reCAPTCHA Enterprise 配置 |
firebaseappcheck.recaptchaEnterpriseConfig.update | 更新應用程序的 reCAPTCHA Enterprise 配置 |
firebaseappcheck.recaptchaV3Config.get | 檢索應用的 reCAPTCHA v3 配置 |
firebaseappcheck.recaptchaV3Config.update | 更新應用的 reCAPTCHA v3 配置 |
firebaseappcheck.safetyNetConfig.get | 檢索應用程序的 SafetyNet 配置 |
firebaseappcheck.safetyNetConfig.update | 更新應用程序的 SafetyNet 配置 |
firebaseappcheck.services.get | 檢索項目的服務強製配置 |
firebaseappcheck.services.update | 更新項目的服務強製配置 |
Firebase 身份驗證權限
權限名稱 | 描述 |
---|---|
firebaseauth.configs.create | 創建身份驗證配置 |
firebaseauth.configs.get | 檢索身份驗證配置 |
firebaseauth.configs.getHashConfig | 獲取用戶帳戶的密碼哈希配置和密碼哈希 |
firebaseauth.configs.update | 更新現有的身份驗證配置 |
firebaseauth.users.create | 在身份驗證中創建新用戶 |
firebaseauth.users.createSession | 為登錄用戶創建會話 cookie |
firebaseauth.users.delete | 刪除身份驗證中的現有用戶 |
firebaseauth.users.get | 檢索現有身份驗證用戶的列表 |
firebaseauth.users.sendEmail | 向用戶發送電子郵件 |
firebaseauth.users.update | 更新身份驗證中的現有用戶 |
Firebase A/B 測試權限(測試版)
權限名稱 | 描述 |
---|---|
firebaseabt.experimentresults.get | 檢索實驗結果 |
firebaseabt.experiments.create | 創建新實驗 |
firebaseabt.experiments.delete | 刪除現有實驗 |
firebaseabt.experiments.get | 檢索現有實驗的詳細信息 |
firebaseabt.experiments.list | 檢索現有實驗的列表 |
firebaseabt.experiments.update | 更新現有實驗 |
firebaseabt.projectmetadata.get | 檢索分析元數據以設置實驗 |
Cloud Firestore 權限
有關 Cloud Firestore 權限的列表和說明,請參閱Google Cloud 文檔。
雲存儲權限
有關 Cloud Storage 權限的列表和說明,請參閱Google Cloud 文檔。
Firebase 安全規則(Cloud Firestore 和 Cloud Storage)權限
權限名稱 | 描述 |
---|---|
firebaserules.releases.create | 創建版本 |
firebaserules.releases.delete | 刪除版本 |
firebaserules.releases.get | 檢索版本 |
firebaserules.releases.getExecutable | 檢索發布的二進制可執行有效負載 |
firebaserules.releases.list | 檢索發布列表 |
firebaserules.releases.update | 更新版本的規則集參考 |
firebaserules.rulesets.create | 創建新規則集 |
firebaserules.rulesets.delete | 刪除現有規則集 |
firebaserules.rulesets.get | 使用源檢索規則集 |
firebaserules.rulesets.list | 查找規則集元數據(無源) |
firebaserules.rulesets.test | 測試源的正確性 |
Cloud Functions for Firebase 權限
有關 Cloud Functions 權限的列表和說明,請參閱IAM 文檔。
請注意,功能的部署需要標準Firebase 預定義角色中未包含的特定權限配置。要部署函數,請使用以下選項之一:
將功能部署委託給項目所有者。
如果您僅部署非 HTTP 函數,則項目編輯器可以部署您的函數。
將功能部署委託給具有以下兩個角色的項目成員:
- Cloud Functions 管理員角色 (
roles/cloudfunctions.admin
) - 服務帳戶用戶角色(
roles/iam.serviceAccountUser
)
項目所有者可以使用 Google Cloud Console 或 gcloud CLI將這些角色分配給項目成員。有關此角色配置的詳細步驟和安全影響,請參閱IAM 文檔。
- Cloud Functions 管理員角色 (
Firebase 雲消息傳遞權限
權限名稱 | 描述 |
---|---|
cloudmessaging.messages.create | 通過 FCM HTTP API 和 AdminSDK 發送通知和數據消息 |
firebasenotifications.messages.create | 在通知編輯器中創建新消息 |
firebasenotifications.messages.delete | 刪除通知編輯器中的現有消息 |
firebasenotifications.messages.get | 在通知編輯器中檢索現有消息的詳細信息 |
firebasenotifications.messages.list | 在通知編輯器中檢索現有消息的列表 |
firebasenotifications.messages.update | 更新通知編輯器中的現有消息 |
Firebase Crashlytics 權限
權限名稱 | 描述 |
---|---|
firebasecrashlytics.config.get | 檢索 Crashlytics 配置設置 |
firebasecrashlytics.config.update | 更新 Crashlytics 配置設置 |
firebasecrashlytics.data.get | 檢索與 Crashlytics 問題和會話相關的指標 |
firebasecrashlytics.issues.get | 檢索有關 Crashlytics 問題的詳細信息,包括附加到問題的註釋 |
firebasecrashlytics.issues.list | 檢索 Crashlytics 問題的列表 |
firebasecrashlytics.issues.update | 打開、關閉和靜音現有的 Crashlytics 問題 附加到問題的更新說明 |
firebasecrashlytics.sessions.get | 檢索有關 Crashlytics 崩潰會話的詳細信息 |
firebasecrashlytics.sessions.list | 檢索 Crashlytics 崩潰會話列表 |
權限名稱 | 描述 |
---|---|
firebasecrash.issues.update | 更新現有的 Crashlytics 問題、創建問題註釋並設置速度警報 |
firebasecrash.reports.get | 檢索現有的 Crashlytics 報告 |
Firebase 動態鏈接權限
權限名稱 | 描述 |
---|---|
firebasedynamiclinks.domains.create | 創建新的動態鏈接域 |
firebasedynamiclinks.domains.delete | 刪除現有的動態鏈接域 |
firebasedynamiclinks.domains.get | 檢索現有動態鏈接域的詳細信息 |
firebasedynamiclinks.domains.list | 檢索現有動態鏈接域的列表 |
firebasedynamiclinks.domains.update | 更新現有的動態鏈接域 |
firebasedynamiclinks.links.create | 創建新的動態鏈接 |
firebasedynamiclinks.links.get | 檢索現有動態鏈接的詳細信息 |
firebasedynamiclinks.links.list | 檢索現有動態鏈接的列表 |
firebasedynamiclinks.links.update | 更新現有的動態鏈接 |
firebasedynamiclinks.stats.get | 檢索動態鏈接統計信息 |
firebasedynamiclinks.destinations.list | 檢索現有的動態鏈接目標 |
firebasedynamiclinks.destinations.update | 更新現有的動態鏈接目標 |
Firebase 託管權限
權限名稱 | 描述 |
---|---|
firebasehosting.sites.create | 為 Firebase 項目創建新的託管資源 |
firebasehosting.sites.delete | 刪除 Firebase 項目的現有託管資源 |
firebasehosting.sites.get | 檢索 Firebase 項目的現有託管資源的詳細信息 |
firebasehosting.sites.list | 檢索 Firebase 項目的託管資源列表 |
firebasehosting.sites.update | 更新 Firebase 項目的現有託管資源 |
Firebase 應用內消息權限(測試版)
權限名稱 | 描述 |
---|---|
firebaseinappmessaging.campaigns.create | 製作新的廣告系列 |
firebaseinappmessaging.campaigns.delete | 刪除現有廣告系列 |
firebaseinappmessaging.campaigns.get | 檢索現有廣告系列的詳細信息 |
firebaseinappmessaging.campaigns.list | 檢索現有廣告系列的列表 |
firebaseinappmessaging.campaigns.update | 更新現有廣告系列 |
Firebase 機器學習權限(測試版)
權限名稱 | 描述 |
---|---|
firebaseml.compressionjobs.create | 創建新的壓縮作業 |
firebaseml.compressionjobs.delete | 刪除現有的壓縮作業 |
firebaseml.compressionjobs.get | 檢索現有壓縮作業的詳細信息 |
firebaseml.compressionjobs.list | 檢索現有壓縮作業的列表 |
firebaseml.compressionjobs.start | 開始壓縮作業 |
firebaseml.compressionjobs.update | 更新現有的壓縮作業 |
firebaseml.models.create | 創建新的機器學習模型 |
firebaseml.models.delete | 刪除現有的 ML 模型 |
firebaseml.models.get | 檢索現有 ML 模型的詳細信息 |
firebaseml.models.list | 檢索現有 ML 模型的列表 |
firebaseml.modelversions.create | 創建新模型版本 |
firebaseml.modelversions.get | 檢索現有模型版本的詳細信息 |
firebaseml.modelversions.list | 檢索現有模型版本的列表 |
firebaseml.modelversions.update | 更新現有模型版本 |
Firebase 性能監控權限
權限名稱 | 描述 |
---|---|
firebaseperformance.config.create | 創建新的問題閾值配置 |
firebaseperformance.config.delete | 刪除現有問題閾值配置 |
firebaseperformance.config.update | 修改警報和現有問題閾值配置 |
firebaseperformance.data.get | 查看所有性能數據並發出閾值 |
Firebase 預測權限
權限名稱 | 描述 |
---|---|
firebasepredictions.predictions.create | 創建新的預測 |
firebasepredictions.predictions.delete | 刪除現有預測 |
firebasepredictions.predictions.list | 檢索現有預測的列表 |
firebasepredictions.predictions.update | 更新現有預測 |
Firebase 實時數據庫權限
權限名稱 | 描述 |
---|---|
firebaseddatabase.instances.create | 創建新的數據庫實例 |
firebaseddatabase.instances.get | 對數據庫中的數據進行只讀訪問 |
firebaseddatabase.instances.list | 檢索現有數據庫實例的列表 |
firebaseddatabase.instances.update | 更新現有數據庫實例 啟用和禁用數據庫實例 對數據庫中的數據進行寫訪問 檢索和修改數據庫的安全規則 檢索和修改數據庫的 Cloud Functions 觸發器 |
Firebase 遠程配置權限
權限名稱 | 描述 |
---|---|
cloudconfig.configs.get | 檢索遠程配置數據 |
cloudconfig.configs.update | 更新遠程配置數據 |
Firebase 測試實驗室權限
測試實驗室需要訪問 Cloud Storage 存儲分區,因此需要對標準Firebase 預定義角色中未包含的權限進行特定配置。要授予對測試實驗室的訪問權限,請使用以下選項之一:
對於從 Firebase 控制台開始的測試
在專用的單獨 Firebase 項目中測試您的應用。
添加需要訪問測試實驗室的成員,然後使用Firebase 控制台為他們分配舊項目角色。
- 要允許成員使用測試實驗室運行測試,請分配項目編輯器或更高版本。
- 要允許成員在測試實驗室中查看測試結果,請分配項目查看者或更高版本。
對於使用您自己的 Cloud Storage 存儲分區從gcloud CLI或測試 API開始的測試
使用Google Cloud Console分配一對預定義角色(它們一起授予所需的權限集)。
要允許成員使用測試實驗室運行測試,請同時分配:
- Firebase 測試實驗室管理員 (
roles/cloudtestservice.testAdmin
) - Firebase 分析查看器 (
roles/firebase.analyticsViewer
)
- Firebase 測試實驗室管理員 (
要允許成員在測試實驗室中查看測試結果,請同時分配:
- Firebase 測試實驗室查看器 (
roles/cloudtestservice.testViewer
) - Firebase 分析查看器 (
roles/firebase.analyticsViewer
)
- Firebase 測試實驗室查看器 (
權限名稱 | 描述 |
---|---|
cloudtestservice.environmentcatalog.get | 檢索項目支持的測試環境目錄 |
cloudtestservice.matrices.create | 請求根據給定的規范運行測試矩陣 |
cloudtestservice.matrices.get | 檢索測試矩陣的狀態 |
cloudtestservice.matrices.update | 更新未完成的測試矩陣 |
cloudtoolresults.executions.list | 檢索歷史的執行列表 |
cloudtoolresults.executions.get | 檢索現有的執行 |
cloudtoolresults.executions.create | 創建一個新的執行 |
cloudtoolresults.executions.update | 更新現有的執行 |
cloudtoolresults.histories.list | 檢索歷史列表 |
cloudtoolresults.histories.get | 檢索現有歷史 |
cloudtoolresults.histories.create | 創建一個新的歷史 |
cloudtoolresults.settings.create | 創建新的工具結果設置 |
cloudtoolresults.settings.get | 檢索現有工具結果設置 |
cloudtoolresults.settings.update | 更新工具結果設置 |
cloudtoolresults.steps.list | 檢索執行的步驟列表 |
cloudtoolresults.steps.get | 檢索現有步驟 |
cloudtoolresults.steps.create | 創建一個新步驟 |
cloudtoolresults.steps.update | 更新現有步驟 |
與外部服務權限的集成
權限名稱 | 描述 |
---|---|
firebaseextensions.configs.create | 為外部服務創建新的擴展配置 (Firebase 控制台 > 項目設置 > 集成) |
firebaseextensions.configs.delete | 刪除外部服務的現有擴展配置 (Firebase 控制台 > 項目設置 > 集成) |
firebaseextensions.configs.list | 檢索外部服務的擴展配置列表 (Firebase 控制台 > 項目設置 > 集成) |
firebaseextensions.configs.update | 更新外部服務的現有擴展配置 (Firebase 控制台 > 項目設置 > 集成) |