權限通過roles授予您的項目成員。角色是權限的集合。將角色分配給項目成員時,您授予該項目成員該角色包含的所有權限。
此頁面描述了您可能會在 Firebase 支持的角色中列出的權限所啟用的操作。這些權限分為兩類:
所有角色或 Firebase 中的特定操作所需的身份和訪問管理 (IAM) 權限
所需權限
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命令 有關詳細信息,請參閱有關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 服務使用.服務.啟用 服務使用.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.undelete | 在數據被永久刪除之前取消刪除已刪除的應用程序 |
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.update | 修改現有項目的屬性 接收有關適用的 Firebase 產品和功能的提醒(了解更多) |
firebaseinstallations.instances.delete | 刪除 Firebase 安裝 ID 和與該安裝相關的數據(了解更多) |
谷歌分析權限
以下權限授予對鏈接到 Firebase 項目的 Analytics 屬性的訪問權限。它們允許 Firebase 項目成員訪問 Analytics 數據,包括受眾、用戶屬性、渠道、報告、轉化等。
權限名稱 | 描述 |
---|---|
firebaseanalytics.resources.googleAnalytics編輯 | 默認情況下,將 Analytics Editor 角色授予鏈接的 Analytics 屬性 |
firebaseanalytics.resources.googleAnalyticsAdditionalAccess | 默認情況下,將 Analytics Marketer 角色授予鏈接的 Analytics 屬性 |
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze | 默認情況下,將 Analytics Viewer 角色授予鏈接的 Analytics 屬性 |
firebaseanalytics.resources.googleAnalyticsRestrictedAccess | 默認情況下,將 Analytics Viewer 角色授予鏈接的 Analytics 媒體資源,而無權訪問收入數據和成本數據 |
Firebase 應用檢查權限
權限名稱 | 描述 |
---|---|
firebaseappcheck.appAttestConfig.get | 檢索應用程序的 App Attest 配置 |
firebaseappcheck.appAttestConfig.update | 更新應用的 App Attest 配置 |
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.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 消息傳遞活動權限
這些權限適用於 Firebase 雲消息傳遞和 Firebase 應用內消息傳遞的活動。
權限名稱 | 描述 |
---|---|
firebasemessagingcampaigns.campaigns.create | 製作新的廣告系列 |
firebasemessagingcampaigns.campaigns.delete | 刪除現有廣告系列 |
firebasemessagingcampaigns.campaigns.get | 檢索現有活動的詳細信息 |
firebasemessagingcampaigns.campaigns.list | 檢索現有活動的列表 |
firebasemessagingcampaigns.campaigns.update | 更新現有的活動 |
firebasemessagingcampaigns.campaigns.start | 開始現有的活動 |
firebasemessagingcampaigns.campaigns.stop | 更新現有的活動 |
Firebase 雲消息傳遞權限
權限名稱 | 描述 |
---|---|
cloudmessaging.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 報告 |
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 ML 權限(測試版)
權限名稱 | 描述 |
---|---|
firebaseml.compressionjobs.create | 創建新的壓縮作業 |
firebaseml.compressionjobs.delete | 刪除現有的壓縮作業 |
firebaseml.compressionjobs.get | 檢索現有壓縮作業的詳細信息 |
firebaseml.compressionjobs.list | 檢索現有壓縮作業的列表 |
firebaseml.compressionjobs.start | 開始壓縮作業 |
firebaseml.compressionjobs.update | 更新現有的壓縮作業 |
firebaseml.models.create | 創建新的 ML 模型 |
firebaseml.models.update | 更新現有的 ML 模型 |
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 實時數據庫權限
權限名稱 | 描述 |
---|---|
firebasedatabase.instances.create | 創建新的數據庫實例 |
firebasedatabase.instances.get | 檢索現有數據庫實例的元數據 對現有數據庫實例中數據的只讀訪問 |
firebasedatabase.instances.list | 檢索現有數據庫實例的列表 |
firebasedatabase.instances.update | 對現有數據庫實例中數據的完全讀寫訪問 啟用和禁用數據庫實例 檢索和修改現有數據庫實例的安全規則 |
firebasedatabase.instances.disable | 禁用活動數據庫實例 現有數據會保留,但無法進行讀/寫訪問。 |
firebasedatabase.instances.reenable | 重新啟用禁用的數據庫實例 現有數據再次可供讀取/寫入訪問。 |
firebasedatabase.instances.delete | 刪除禁用的數據庫實例 刪除的數據庫名稱不能重複使用。 已刪除數據庫實例中的數據將在 20 天后永久刪除。 |
firebasedatabase.instances.undelete | 在永久刪除其數據之前取消刪除已刪除的數據庫實例 已刪除數據庫實例中的數據將在實例刪除 20 天后永久刪除。 |
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 控制台 > 項目設置 > 集成) |