Firebase IAM 權限

權限通過角色授予您的項目成員。角色是權限的集合。將角色分配給項目成員時,您將授予該項目成員該角色包含的所有權限。

本頁面介紹了 Firebase 支持的角色中可能列出的權限所啟用的操作。這些權限分為兩類:

所需權限

Firebase IAM 包含以下權限:

有關特定於 Firebase 產品或服務的權限的一般列表和說明,請參閱特定於 Firebase 產品的 IAM 權限中的相應部分。

所有角色都包含所需的權限

使用任何 Firebase 產品或服務都需要下表中列出的權限。

這些權限會自動包含在每個Firebase 預定義角色中。

允許描述
授予檢索 Firebase 項目信息的權限
授予檢索 Firebase 項目信息的權限
授予檢查 Google API 狀態和運行 Firebase CLI 命令的權限

Firebase 服務特定操作所需的權限

執行某些 Firebase 服務特定的操作需要下表中列出的權限。

當需要時,這些權限會自動包含在每個Firebase 預定義角色中。

行動所需許可
使用協作工具(包括 Slack、Jira 和 PagerDuty)訪問 Firebase 項目集成firebaseextensions.configs.*
從 StackDriver 查看使用情況和分析監控.timeSeries.list
運行Firebase CLI命令
有關更多信息,請參閱有關運行時配置器訪問的Google Cloud 文檔。
運行時配置.*

Firebase 管理特定操作所需的權限

下表列出的權限是執行某些 Firebase 管理特定操作所需的附加權限。

管理權限及相關操作需要額外的權限
firebase.billingPlans.update
更改 Firebase 項目的結算計劃resourcesmanager.projects.createBillingAssignment
resourcesmanager.projects.deleteBillingAssignment
firebase.projects.delete
刪除 Firebase 項目資源管理器.項目.刪除
firebase.projects.update
將 Firebase 資源添加到現有 Google Cloud 項目資源管理器.projects.get
serviceusage.services.enable
serviceusage.services.get
更改 Firebase 項目的名稱資源管理器.項目.更新
為 Android 應用程序添加 SHA 證書指紋clientauthconfig.clients.create
刪除 Android 應用程序的 SHA 證書指紋clientauthconfig.clients.刪除
更新 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.刪除從項目中刪除現有應用程序
firebase.clients.get檢索項目中應用程序的詳細信息和配置
firebase.clients.list檢索項目中的應用程序列表
firebase.clients.undelete在永久刪除數據之前取消刪除已刪除的應用程序
firebase.clients.update更新項目中應用程序的詳細信息和配置
firebase.links.create創建指向 Google 系統的新鏈接
(Firebase 控制台 > 項目設置 > 集成)
firebase.links.刪除刪除指向 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.update修改現有項目的屬性
接收適用 Firebase 產品和功能的提醒(了解更多
firebaseinstallations.instances.delete刪除 Firebase 安裝 ID 以及與該安裝相關的數據(了解更多

谷歌分析權限

以下權限授予對鏈接到 Firebase 項目的 Analytics 媒體資源的訪問權限。它們允許 Firebase 項目成員訪問 Analytics 數據,包括受眾群體、用戶屬性、渠道、報告、轉化等。

權限名稱描述
firebaseanalytics.resources.googleAnalytics編輯默認情況下,將分析編輯者角色授予鏈接的分析媒體資源
firebaseanalytics.resources.googleAnalyticsAdditionalAccess默認情況下,將 Analytics 營銷人員角色授予鏈接的 Analytics 媒體資源
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze默認情況下,將分析查看者角色授予鏈接的分析媒體資源
firebaseanalytics.resources.googleAnalyticsRestrictedAccess默認情況下,向鏈接的 Analytics 媒體資源授予分析查看者角色,但無法訪問收入數據和成本數據

Firebase 應用檢查權限

權限名稱描述
firebaseappcheck.appAttestConfig.get檢索應用程序的應用程序證明配置
firebaseappcheck.appAttestConfig.update更新應用程序的應用程序認證配置
firebaseappcheck.appCheckTokens.verify驗證為 Firebase 項目頒發的 App Check 令牌
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 應用分發權限

權限名稱描述
firebaseappdistro.releases.list檢索現有發行版和邀請鏈接的列表
firebaseappdistro.releases.update創建、刪除和修改發行版
創建和刪除邀請鏈接
firebaseappdistro.testers.list檢索項目中現有測試人員的列表
firebaseappdistro.testers.update在項目中創建和刪除測試人員
firebaseappdistro.groups.list檢索項目中現有測試人員組的列表
firebaseappdistro.groups.update在項目中創建和刪除測試人員組

Firebase 身份驗證權限

權限名稱描述
firebaseauth.configs.create創建身份驗證配置
firebaseauth.configs.get檢索身份驗證配置
firebaseauth.configs.getHashConfig獲取用戶帳戶的密碼哈希配置和密碼哈希
firebaseauth.configs.getSecret在身份驗證配置中獲取客戶端密鑰
firebaseauth.configs.update更新現有的身份驗證配置
firebaseauth.user.create在身份驗證中創建新用戶
firebaseauth.users.createSession為登錄用戶創建會話cookie
firebaseauth.users.delete刪除身份驗證中的現有用戶
firebaseauth.user.get檢索現有身份驗證用戶的列表
firebaseauth.users.sendEmail向用戶發送電子郵件
firebaseauth.user.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測試源的正確性

Firebase 權限的雲功能

有關 Cloud Functions 權限的列表和說明,請參閱IAM 文檔

請注意,功能的部署需要特定的權限配置,這些權限不包含在標準Firebase 預定義角色中。要部署功能,請使用以下選項之一:

Firebase 消息傳遞活動權限

這些權限適用於 Firebase Cloud Messaging 和 Firebase In-App Messaging 的營銷活動。

權限名稱描述
firebasemessagingcampaigns.campaigns.create創建新的營銷活動
firebasemessagingcampaigns.campaigns.delete刪除現有的廣告活動
firebasemessagingcampaigns.campaigns.get檢索現有活動的詳細信息
firebasemessagingcampaigns.campaigns.list檢索現有活動的列表
firebasemessagingcampaigns.campaigns.update更新現有活動
firebasemessagingcampaigns.campaigns.start啟動現有活動
firebasemessagingcampaigns.campaigns.stop更新現有活動

Firebase 雲消息傳遞權限

權限名稱描述
雲消息.messages.create通過 FCM HTTP API 和 Admin SDK 發送通知和數據消息
權限名稱描述
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 崩潰會話的詳細信息
權限名稱描述
firebasecrash.issues.update更新現有的 Crashlytics 問題、創建問題註釋並設置速度警報
firebasecrash.reports.get檢索現有的 Crashlytics 報告
權限名稱描述
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 擴展發布權限

權限名稱描述
firebaseextensionspublisher.extensions.create上傳擴展的新版本
firebaseextensionspublisher.extensions.delete刪除或棄用擴展的版本
firebaseextensionspublisher.extensions.get檢索有關擴展版本的詳細信息
firebaseextensionspublisher.extensions.list列出此發布者項目上傳的所有擴展版本

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 ML 權限(測試版)

權限名稱描述
firebaseml.models.create創建新的機器學習模型
firebaseml.models.update更新現有的機器學習模型
firebaseml.models.刪除刪除現有的機器學習模型
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.刪除刪除現有問題閾值配置
firebaseperformance.config.更新修改警報和現有問題閾值配置
firebaseperformance.data.get查看所有性能數據和問題閾值

Firebase 實時數據庫權限

權限名稱描述
firebaseddatabase.instances.create創建新的數據庫實例
firebaseddatabase.instances.get檢索現有數據庫實例的元數據
對現有數據庫實例中的數據的只讀訪問
firebaseddatabase.instances.list檢索現有數據庫實例的列表
firebaseddatabase.instances.update對現有數據庫實例中數據的完全讀寫訪問權限
啟用和禁用數據庫實例
檢索和修改現有數據庫實例的安全規則
firebaseddatabase.instances.禁用禁用活動數據庫實例

現有數據將被保留,但無法進行讀/寫訪問。
firebaseddatabase.instances.reenable重新啟用已禁用的數據庫實例

現有數據再次可供讀/寫訪問。
firebaseddatabase.instances.delete刪除禁用的數據庫實例

已刪除的數據庫名稱無法重複使用。
已刪除的數據庫實例中的數據將在 20 天后永久刪除。
firebaseddatabase.instances.undelete在永久刪除數據之前取消刪除已刪除的數據庫實例

刪除的數據庫實例中的數據將在實例刪除20天后永久刪除。

Firebase 遠程配置權限

權限名稱描述
cloudconfig.configs.get檢索遠程配置數據
cloudconfig.configs.update更新遠程配置數據

Firebase 測試實驗室權限

測試實驗室需要訪問 Cloud Storage 存儲桶,因此需要特定的權限配置,而這些權限並未全部包含在標準Firebase 預定義角色中。要授予對測試實驗室的訪問權限,請使用以下選項之一:

  • 對於從 Firebase 控制台啟動的測試

    • 在專用的單獨 Firebase 項目中測試您的應用。

    • 添加需要測試實驗室訪問權限的成員,然後使用Firebase 控制台為他們分配舊項目角色。

      • 要允許成員使用測試實驗室運行測試,請指定項目編輯者或更高級別。
      • 要允許成員在測試實驗室中查看測試結果,請指定項目查看者或更高級別。
  • 對於使用您自己的 Cloud Storage 存儲桶時從gcloud CLI測試 APIGradle 託管設備啟動的測試

    • 使用Google Cloud Console分配一對預定義角色(共同授予所需的權限集)。

      • 要允許成員使用測試實驗室運行測試,請分配以下兩項:

        • Firebase 測試實驗室管理員 ( roles/cloudtestservice.testAdmin )
        • Firebase 分析查看器 ( roles/firebase.analyticsViewer )
      • 要允許成員在測試實驗室中查看測試結果,請分配以下兩項:

        • Firebase 測試實驗室查看器 ( roles/cloudtestservice.testViewer )
        • Firebase 分析查看器 ( roles/firebase.analyticsViewer )
權限名稱描述
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.history.list檢索歷史列表
cloudtoolresults.history.get檢索現有歷史記錄
cloudtoolresults.history.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.刪除刪除外部服務的現有擴展配置
(Firebase 控制台 > 項目設置 > 集成)
firebaseextensions.configs.list檢索外部服務的擴展配置列表
(Firebase 控制台 > 項目設置 > 集成)
firebaseextensions.configs.update更新外部服務的現有擴展配置
(Firebase 控制台 > 項目設置 > 集成)
,

權限通過角色授予您的項目成員。角色是權限的集合。將角色分配給項目成員時,您將授予該項目成員該角色包含的所有權限。

本頁面介紹了 Firebase 支持的角色中可能列出的權限所啟用的操作。這些權限分為兩類:

所需權限

Firebase IAM 包含以下權限:

有關特定於 Firebase 產品或服務的權限的一般列表和說明,請參閱特定於 Firebase 產品的 IAM 權限中的相應部分。

所有角色都包含所需的權限

使用任何 Firebase 產品或服務都需要下表中列出的權限。

這些權限會自動包含在每個Firebase 預定義角色中。

允許描述
授予檢索 Firebase 項目信息的權限
授予檢索 Firebase 項目信息的權限
授予檢查 Google API 狀態和運行 Firebase CLI 命令的權限

Firebase 服務特定操作所需的權限

執行某些 Firebase 服務特定的操作需要下表中列出的權限。

當需要時,這些權限會自動包含在每個Firebase 預定義角色中。

行動所需許可
使用協作工具(包括 Slack、Jira 和 PagerDuty)訪問 Firebase 項目集成firebaseextensions.configs.*
從 StackDriver 查看使用情況和分析監控.timeSeries.list
運行Firebase CLI命令
有關更多信息,請參閱有關運行時配置器訪問的Google Cloud 文檔。
運行時配置.*

Firebase 管理特定操作所需的權限

下表列出的權限是執行某些 Firebase 管理特定操作所需的附加權限。

管理權限及相關操作需要額外的權限
firebase.billingPlans.update
更改 Firebase 項目的結算計劃resourcesmanager.projects.createBillingAssignment
resourcesmanager.projects.deleteBillingAssignment
firebase.projects.delete
刪除 Firebase 項目資源管理器.項目.刪除
firebase.projects.update
將 Firebase 資源添加到現有 Google Cloud 項目資源管理器.projects.get
serviceusage.services.enable
serviceusage.services.get
更改 Firebase 項目的名稱資源管理器.項目.更新
為 Android 應用程序添加 SHA 證書指紋clientauthconfig.clients.create
刪除 Android 應用程序的 SHA 證書指紋clientauthconfig.clients.刪除
更新 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.刪除從項目中刪除現有應用程序
firebase.clients.get檢索項目中應用程序的詳細信息和配置
firebase.clients.list檢索項目中的應用程序列表
firebase.clients.undelete在永久刪除數據之前取消刪除已刪除的應用程序
firebase.clients.update更新項目中應用程序的詳細信息和配置
firebase.links.create創建指向 Google 系統的新鏈接
(Firebase 控制台 > 項目設置 > 集成)
firebase.links.刪除刪除指向 Google 系統的鏈接
(Firebase 控制台 > 項目設置 > 集成)
firebase.links.list檢索 Google 系統的鏈接列表
(Firebase 控制台 > 項目設置 > 集成)
firebase.links.update Update existing links to Google systems
(Firebase console > Project Settings > Integrations)
firebase.playLinks.get Retrieve details about a link to Google Play
(Firebase console > Project Settings > Integrations > Google Play)
firebase.playLinks.list Retrieve a list of links to Google Play
(Firebase console > Project Settings > Integrations > Google Play)
firebase.playLinks.update Create new links and update existing links to Google Play
(Firebase console > Project Settings > Integrations > Google Play)
firebase.projects.delete Delete existing projects
firebase.projects.get Retrieve details and Firebase resources for a project
firebase.projects.update Modify the attributes of an existing project
Receive alerts for applicable Firebase products and features ( learn more )
firebaseinstallations.instances.delete Delete a Firebase installation ID and the data tied to that installation ( learn more )

Google Analytics permissions

The following permissions grant access to the Analytics property linked to the Firebase project. They allow Firebase project members to access Analytics data, including audiences, user properties, funnels, reports, conversions, etc.

Permission name Description
firebaseanalytics.resources.googleAnalyticsEdit By default, grants the Analytics Editor role to the linked Analytics property
firebaseanalytics.resources.googleAnalyticsAdditionalAccess By default, grants the Analytics Marketer role to the linked Analytics property
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze By default, grants the Analytics Viewer role to the linked Analytics property
firebaseanalytics.resources.googleAnalyticsRestrictedAccess By default, grants the Analytics Viewer role to the linked Analytics property with no access to revenue data and cost data

Firebase App Check permissions

Permission name Description
firebaseappcheck.appAttestConfig.get Retrieve the App Attest configuration of an app
firebaseappcheck.appAttestConfig.update Update the App Attest configuration of an app
firebaseappcheck.appCheckTokens.verify Verify App Check tokens issued for a Firebase project
firebaseappcheck.debugTokens.get Retrieve debug tokens of an app
firebaseappcheck.debugTokens.update Create, update, or delete debug tokens of an app
firebaseappcheck.deviceCheckConfig.get Retrieve the DeviceCheck configuration of an app
firebaseappcheck.deviceCheckConfig.update Update the DeviceCheck configuration of an app
firebaseappcheck.playIntegrityConfig.get Retrieve the Play Integrity configuration of an app
firebaseappcheck.playIntegrityConfig.update Update the Play Integrity configuration of an app
firebaseappcheck.recaptchaEnterpriseConfig.get Retrieve the reCAPTCHA Enterprise configuration of an app
firebaseappcheck.recaptchaEnterpriseConfig.update Update the reCAPTCHA Enterprise configuration of an app
firebaseappcheck.recaptchaV3Config.get Retrieve the reCAPTCHA v3 configuration of an app
firebaseappcheck.recaptchaV3Config.update Update the reCAPTCHA v3 configuration of an app
firebaseappcheck.safetyNetConfig.get Retrieve the SafetyNet configuration of an app
firebaseappcheck.safetyNetConfig.update Update the SafetyNet configuration of an app
firebaseappcheck.services.get Retrieve service enforcement configurations of a project
firebaseappcheck.services.update Update service enforcement configurations of a project

Firebase App Distribution permissions

Permission name Description
firebaseappdistro.releases.list Retrieve a list of existing distributions and Invite Links
firebaseappdistro.releases.update Create, delete, and modify distributions
Create and delete Invite Links
firebaseappdistro.testers.list Retrieve a list of existing testers in a project
firebaseappdistro.testers.update Create and delete testers in a project
firebaseappdistro.groups.list Retrieve a list of existing tester groups in a project
firebaseappdistro.groups.update Create and delete tester groups in a project

Firebase Authentication permissions

Permission name Description
firebaseauth.configs.create Create the Authentication configuration
firebaseauth.configs.get Retrieve the Authentication configuration
firebaseauth.configs.getHashConfig Get the password hash config and password hash of user accounts
firebaseauth.configs.getSecret Get the client secret in the Authentication configuration
firebaseauth.configs.update Update the existing Authentication configuration
firebaseauth.users.create Create new users in Authentication
firebaseauth.users.createSession Create session cookie for a logged-in user
firebaseauth.users.delete Delete existing users in Authentication
firebaseauth.users.get Retrieve a list of existing Authentication users
firebaseauth.users.sendEmail Send emails to the users
firebaseauth.users.update Update existing users in Authentication

Firebase A/B Testing permissions (beta)

Permission name Description
firebaseabt.experimentresults.get Retrieve the results of an experiment
firebaseabt.experiments.create Create new experiments
firebaseabt.experiments.delete Delete existing experiments
firebaseabt.experiments.get Retrieve details of an existing experiment
firebaseabt.experiments.list Retrieve a list of existing experiments
firebaseabt.experiments.update Update an existing experiment
firebaseabt.projectmetadata.get Retrieve analytics metadata for setting up an experiment

Cloud Firestore permissions

For a list and descriptions of Cloud Firestore permissions, refer to the Google Cloud documentation .

Cloud Storage permissions

For a list and descriptions of Cloud Storage permissions, refer to the Google Cloud documentation .

Firebase Security Rules (Cloud Firestore and Cloud Storage) permissions

Permission name Description
firebaserules.releases.create Create releases
firebaserules.releases.delete Delete releases
firebaserules.releases.get Retrieve releases
firebaserules.releases.getExecutable Retrieve the binary executable payloads for releases
firebaserules.releases.list Retrieve a list of releases
firebaserules.releases.update Update ruleset references for releases
firebaserules.rulesets.create Create new rulesets
firebaserules.rulesets.delete Delete existing ruleset
firebaserules.rulesets.get Retrieve rulesets with source
firebaserules.rulesets.list Find ruleset metadata (no source)
firebaserules.rulesets.test Test sources for correctness

Cloud Functions for Firebase permissions

For a list and descriptions of Cloud Functions permissions, refer to the IAM documentation .

Be aware that the deployment of functions requires a specific configuration of permissions that aren't included in the standard Firebase predefined roles . To deploy functions, use one of the following options:

Firebase messaging campaigns permissions

These permissions apply to campaigns for Firebase Cloud Messaging and Firebase In-App Messaging.

Permission name Description
firebasemessagingcampaigns.campaigns.create Create new campaigns
firebasemessagingcampaigns.campaigns.delete Delete existing campaigns
firebasemessagingcampaigns.campaigns.get Retrieve details of existing campaigns
firebasemessagingcampaigns.campaigns.list Retrieve a list of existing campaigns
firebasemessagingcampaigns.campaigns.update Update existing campaigns
firebasemessagingcampaigns.campaigns.start Start existing campaigns
firebasemessagingcampaigns.campaigns.stop Update existing campaigns

Firebase Cloud Messaging permissions

Permission name Description
cloudmessaging.messages.create Send notifications and data messages through the FCM HTTP API and Admin SDK
Permission name Description
firebasenotifications.messages.create Create new messages in the Notifications composer
firebasenotifications.messages.delete Delete existing messages in the Notifications composer
firebasenotifications.messages.get Retrieve details of existing messages in the Notifications composer
firebasenotifications.messages.list Retrieve a list of existing messages in the Notifications composer
firebasenotifications.messages.update Update existing messages in the Notifications composer

Firebase Crashlytics permissions

Permission name Description
firebasecrashlytics.config.get Retrieve Crashlytics configuration settings
firebasecrashlytics.config.update Update Crashlytics configuration settings
firebasecrashlytics.data.get Retrieve metrics associated with Crashlytics issues and sessions
firebasecrashlytics.issues.get Retrieve details about Crashlytics issues, including notes attached to issues
firebasecrashlytics.issues.list Retrieve a list of Crashlytics issues
firebasecrashlytics.issues.update Open, close, and mute existing Crashlytics issues
Update notes attached to issues
firebasecrashlytics.sessions.get Retrieve details about Crashlytics crash sessions
Permission name Description
firebasecrash.issues.update Update existing Crashlytics issues, create notes on issues, and set velocity alerts
firebasecrash.reports.get Retrieve existing Crashlytics reports
Permission name Description
firebasedynamiclinks.domains.create Create new Dynamic Links domains
firebasedynamiclinks.domains.delete Delete existing Dynamic Links domains
firebasedynamiclinks.domains.get Retrieve details of existing Dynamic Links domains
firebasedynamiclinks.domains.list Retrieve a list of existing Dynamic Links domains
firebasedynamiclinks.domains.update Update existing Dynamic Links domains
firebasedynamiclinks.links.create Create new Dynamic Links
firebasedynamiclinks.links.get Retrieve details of existing Dynamic Links
firebasedynamiclinks.links.list Retrieve a list of existing Dynamic Links
firebasedynamiclinks.links.update Update existing Dynamic Links
firebasedynamiclinks.stats.get Retrieve Dynamic Links statistics
firebasedynamiclinks.destinations.list Retrieve existing Dynamic Links destinations
firebasedynamiclinks.destinations.update Update existing Dynamic Links destinations

Firebase Extensions publishing permissions

Permission name Description
firebaseextensionspublisher.extensions.create Upload new versions of an extension
firebaseextensionspublisher.extensions.delete Delete or deprecate versions of an extension
firebaseextensionspublisher.extensions.get Retrieve details about an extension version
firebaseextensionspublisher.extensions.list List all extension versions uploaded by this publisher project

Firebase Hosting permissions

Permission name Description
firebasehosting.sites.create Create new Hosting resources for a Firebase project
firebasehosting.sites.delete Delete existing Hosting resources for a Firebase project
firebasehosting.sites.get Retrieve details of an existing Hosting resources for a Firebase project
firebasehosting.sites.list Retrieve a list of Hosting resources for a Firebase project
firebasehosting.sites.update Update existing Hosting resources for a Firebase project

Firebase In-App Messaging permissions (beta)

Permission name Description
firebaseinappmessaging.campaigns.create Create new campaigns
firebaseinappmessaging.campaigns.delete Delete existing campaigns
firebaseinappmessaging.campaigns.get Retrieve details of existing campaigns
firebaseinappmessaging.campaigns.list Retrieve a list of existing campaigns
firebaseinappmessaging.campaigns.update Update existing campaigns

Firebase ML permissions (beta)

Permission name Description
firebaseml.models.create Create new ML models
firebaseml.models.update Update existing ML models
firebaseml.models.delete Delete existing ML models
firebaseml.models.get Retrieve details of existing ML models
firebaseml.models.list Retrieve a list of existing ML models
firebaseml.modelversions.create Create new model versions
firebaseml.modelversions.get Retrieve details of existing model versions
firebaseml.modelversions.list Retrieve a list of existing model versions
firebaseml.modelversions.update Update existing model versions

Firebase Performance Monitoring permissions

Permission name Description
firebaseperformance.config.create Create new issue threshold configurations
firebaseperformance.config.delete Delete existing issue threshold configurations
firebaseperformance.config.update Modify alert and existing issue threshold configurations
firebaseperformance.data.get View all performance data and issue threshold values

Firebase Realtime Database permissions

Permission name Description
firebasedatabase.instances.create Create new database instances
firebasedatabase.instances.get Retrieve the metadata of existing database instances
Read-only access to the data in an existing database instance
firebasedatabase.instances.list Retrieve a list of existing database instances
firebasedatabase.instances.update Full read and write access to the data in existing database instances
Enable and disable database instances
Retrieve and modify security rules for existing database instances
firebasedatabase.instances.disable Disable active database instances

Existing data is kept but is not accessible for reads/writes.
firebasedatabase.instances.reenable Re-enable disabled database instances

Existing data is again accessible for reads/writes.
firebasedatabase.instances.delete Delete disabled database instances

Deleted database names cannot be reused.
The data in a deleted database instance is permanently deleted after 20 days.
firebasedatabase.instances.undelete Undelete a deleted database instance before its data is permanently deleted

The data in a deleted database instance is permanently deleted 20 days after the instance is deleted.

Firebase Remote Config permissions

Permission name Description
cloudconfig.configs.get Retrieve Remote Config data
cloudconfig.configs.update Update Remote Config data

Firebase Test Lab permissions

Test Lab requires access to Cloud Storage buckets, so it requires a specific configuration of permissions that aren't all included in the standard Firebase predefined roles . To grant access to Test Lab, use one of the following options:

  • For tests started from Firebase console

    • Test your app in a dedicated separate Firebase project.

    • Add members who need Test Lab access, then assign them legacy project roles using the Firebase console .

      • To allow a member to run tests with Test Lab, assign project Editor or above.
      • To allow a member to view test results in Test Lab, assign project Viewer or above.
  • For tests started from the gcloud CLI , the Testing API , or Gradle Managed Devices while using your own Cloud Storage bucket

    • Assign a pair of predefined roles (which together grant the required set of permissions) using the Google Cloud Console .

      • To allow a member to run tests with Test Lab, assign both:

        • Firebase Test Lab Admin ( roles/cloudtestservice.testAdmin )
        • Firebase Analytics Viewer ( roles/firebase.analyticsViewer )
      • To allow a member to view test results in Test Lab, assign both:

        • Firebase Test Lab Viewer ( roles/cloudtestservice.testViewer )
        • Firebase Analytics Viewer ( roles/firebase.analyticsViewer )
Permission name Description
cloudtestservice.environmentcatalog.get Retrieve the catalog of supported test environments for a project
cloudtestservice.matrices.create Request to run a matrix of tests according to the given specifications
cloudtestservice.matrices.get Retrieve the status of a test matrix
cloudtestservice.matrices.update Update an unfinished test matrix
cloudtoolresults.executions.list Retrieve a list of Executions for a History
cloudtoolresults.executions.get Retrieve an existing Execution
cloudtoolresults.executions.create Create a new Execution
cloudtoolresults.executions.update Update an existing Execution
cloudtoolresults.histories.list Retrieve a list of Histories
cloudtoolresults.histories.get Retrieve an existing History
cloudtoolresults.histories.create Create a new History
cloudtoolresults.settings.create Create new tool results settings
cloudtoolresults.settings.get Retrieve existing tool results settings
cloudtoolresults.settings.update Update tool results settings
cloudtoolresults.steps.list Retrieve a list of Steps for an Execution
cloudtoolresults.steps.get Retrieve an existing Step
cloudtoolresults.steps.create Create a new Step
cloudtoolresults.steps.update Update an existing Step

Integrations with external services permissions

Permission name Description
firebaseextensions.configs.create Create new extension configurations for external services
(Firebase console > Project Settings > Integrations)
firebaseextensions.configs.delete Delete existing extension configurations for external services
(Firebase console > Project Settings > Integrations)
firebaseextensions.configs.list Retrieve a list of extension configurations for external services
(Firebase console > Project Settings > Integrations)
firebaseextensions.configs.update Update existing extension configurations for external services
(Firebase console > Project Settings > Integrations)