您可以透過角色,將權限授予專案成員。角色是一組權限。指派角色給專案成員後,該成員就會取得該角色具備的所有權限。
本頁面說明權限可執行的動作,您可能會在 Firebase 支援的角色中看到這些權限。這些權限分為兩類:
所需權限
Firebase IAM 包含下列權限:
如需 Firebase 產品或服務專屬權限的一般清單和說明,請參閱「Firebase 產品專屬 IAM 權限」中的相關章節。
所有角色都具備的必要權限
如要使用任何 Firebase 產品或服務,必須具備下表列出的權限。
每個 Firebase 預先定義的角色都會自動具備這些權限。
權限 | 說明 |
---|---|
可授予擷取 Firebase 專案資訊的權限 | |
可授予擷取 Firebase 專案資訊的權限 | |
授予權限,可檢查 Google API 的狀態,以及執行 Firebase CLI 指令 |
Firebase 服務特定動作所需的權限
如要執行某些 Firebase 服務專屬動作,必須具備下表列出的權限。
如有需要,這些權限會自動納入每個 Firebase 預先定義角色。
動作 | 必要權限 |
---|---|
透過協作工具 (包括 Slack、Jira 和 PagerDuty) 存取 Firebase 專案整合 | firebaseextensions.configs.* |
透過 StackDriver 查看用量和分析資料 | monitoring.timeSeries.list |
執行 Firebase CLI 指令 如要瞭解詳情,請參閱 Google Cloud 說明文件中的「Runtime Configurator Access」(Runtime Configurator 存取權)。 |
runtimeconfig.* |
Firebase 管理專用動作所需的權限
下表列出的權限為額外權限,執行部分 Firebase 管理專屬動作時需要這些權限。
管理權限和相關動作 | 必要額外權限 |
---|---|
firebase.billingPlans.update | |
變更 Firebase 專案的計費方案 | resourcemanager.projects.createBillingAssignment resourcemanager.projects.deleteBillingAssignment |
firebase.projects.delete | |
刪除 Firebase 專案 | resourcemanager.projects.delete |
firebase.projects.update | |
將 Firebase 資源新增至現有的 Google Cloud 專案 | resourcemanager.projects.get serviceusage.services.enable serviceusage.services.get |
變更 Firebase 專案名稱 | resourcemanager.projects.update |
為 Android 應用程式新增 SHA 憑證指紋 | clientauthconfig.clients.create |
移除 Android 應用程式的 SHA 憑證指紋 | clientauthconfig.clients.delete |
更新 Apple 應用程式的 App Store ID 或團隊 ID | clientauthconfig.clients.get clientauthconfig.clients.update |
Firebase 產品專屬的身分與存取權管理權限
下表列出 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 和與該安裝 ID 相關聯的資料 (瞭解詳情) |
Google Analytics權限
下列權限可授予與 Firebase 專案連結的 Analytics 資源存取權。Firebase 專案成員可透過這些權限存取Analytics資料,包括目標對象、使用者屬性、漏斗、報表、轉換等。
權限名稱 | 說明 |
---|---|
firebaseanalytics.resources.googleAnalyticsEdit | 預設會將Analytics「編輯者」角色授予連結的Analytics資源 |
firebaseanalytics.resources.googleAnalyticsAdditionalAccess | 根據預設,將「行銷人」Analytics角色授予連結的Analytics資源 |
firebaseanalytics.resources.googleAnalyticsReadAndAnalyze | 預設會將Analytics檢視者角色指派給連結的Analytics資源 |
firebaseanalytics.resources.googleAnalyticsRestrictedAccess | 根據預設,系統會將Analytics檢視者角色授予已連結的Analytics資源,但無法存取收益資料和費用資料 |
Firebase AI Logic權限
權限名稱 | 說明 |
---|---|
firebasevertexai.configs.get | 擷取「Firebase AI Logic」的設定 |
firebasevertexai.configs.update | 更新「Firebase AI Logic」的設定 |
Firebase App Check權限
權限名稱 | 說明 |
---|---|
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 App Distribution權限
權限名稱 | 說明 |
---|---|
firebaseappdistro.releases.list | 擷取現有發布內容和邀請連結的清單 |
firebaseappdistro.releases.update | 建立、刪除及修改發布內容 建立及刪除邀請連結 |
firebaseappdistro.testers.list | 擷取專案中現有測試人員的清單 |
firebaseappdistro.testers.update | 在專案中建立及刪除測試人員 |
firebaseappdistro.groups.list | 擷取專案中現有測試人員群組的清單 |
firebaseappdistro.groups.update | 在專案中建立及刪除測試人員群組 |
Firebase Authentication權限
權限名稱 | 說明 |
---|---|
firebaseauth.configs.create | 建立 Authentication 設定 |
firebaseauth.configs.get | 擷取 Authentication 設定 |
firebaseauth.configs.getHashConfig | 取得使用者帳戶的密碼雜湊設定和密碼雜湊 |
firebaseauth.configs.getSecret | 在 Authentication 設定中取得用戶端密鑰 |
firebaseauth.configs.update | 更新現有的 Authentication 設定 |
firebaseauth.users.create | 在「Authentication」中建立新使用者 |
firebaseauth.users.createSession | 為登入使用者建立工作階段 Cookie |
firebaseauth.users.delete | 刪除 Authentication 中的現有使用者 |
firebaseauth.users.get | 擷取現有 Authentication 使用者清單 |
firebaseauth.users.sendEmail | 傳送電子郵件給使用者 |
firebaseauth.users.update | 更新 Authentication 中的現有使用者 |
Firebase A/B Testing 權限 (Beta 版)
權限名稱 | 說明 |
---|---|
firebaseabt.experimentresults.get | 擷取實驗結果 |
firebaseabt.experiments.create | 建立新實驗 |
firebaseabt.experiments.delete | 刪除現有實驗 |
firebaseabt.experiments.get | 擷取現有實驗的詳細資料 |
firebaseabt.experiments.list | 擷取現有實驗的清單 |
firebaseabt.experiments.update | 更新現有實驗 |
firebaseabt.projectmetadata.get | 擷取數據分析中繼資料,以便設定實驗 |
Firebase App Hosting 權限 (Beta 版)
權限名稱 | 說明 |
---|---|
firebaseapphosting.backends.create | 為 Firebase 專案建立新的 App Hosting 後端。 |
firebaseapphosting.backends.delete | 從 Firebase 專案刪除現有的 App Hosting 後端。 |
firebaseapphosting.backends.get | 在 Firebase 專案中擷取特定 App Hosting 後端的相關資訊。 |
firebaseapphosting.backends.list | 列出 Firebase 專案中的所有可用 App Hosting 後端。 |
firebaseapphosting.backends.update | 修改現有App Hosting後端的設定。 |
firebaseapphosting.builds.create | 在 Firebase 專案中,為 App Hosting 後端啟動新的建構程序。 |
firebaseapphosting.builds.delete | 刪除 App Hosting 後端的現有建構版本。 |
firebaseapphosting.builds.get | 在後端擷取現有建構作業的詳細資料。App Hosting |
firebaseapphosting.builds.list | 列出 Firebase 專案中與 App Hosting 後端相關聯的所有建構版本。 |
firebaseapphosting.builds.update | 修改現有未完成的 App Hosting 建構作業設定。 |
firebaseapphosting.domains.create | 在 Firebase 專案中,為後端建立新的網域關聯。App Hosting |
firebaseapphosting.domains.delete | 從 App Hosting 後端移除網域關聯。 |
firebaseapphosting.domains.get | 擷取與 App Hosting 網站相關聯的特定網域資訊。 |
firebaseapphosting.domains.list | 列出與 App Hosting 相關聯的所有網域。 |
firebaseapphosting.domains.update | 修改連結至App Hosting後端的網域設定或設定。 |
firebaseapphosting.rollouts.create | 發起新的推出作業,將現有建構版本升級為該 App Hosting 後端目前提供的版本。 |
firebaseapphosting.rollouts.get | 擷取特定App Hosting推出作業的相關資訊。 |
firebaseapphosting.rollouts.list | 列出與 App Hosting 後端相關聯的所有推出作業。 |
firebaseapphosting.traffic.get | 擷取網站的目前流量分配比例和推出政策。App Hosting |
firebaseapphosting.traffic.list | 與 `firebaseapphosting.traffic.get` 的功能相同,但新增了在您擁有這項權限的後端中,擷取清單的功能。 |
firebaseapphosting.traffic.update | 修改後端目前的流量分配和推出政策。 App Hosting |
Cloud Firestore權限
如需 Cloud Firestore 權限清單和說明,請參閱 Google Cloud 說明文件。
Cloud Storage權限
如需 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 控制台或 gcloud CLI,將這些角色指派給專案成員。如需詳細步驟和這項角色設定的安全影響,請參閱 IAM 說明文件。
- Cloud Functions 管理員角色 (
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 Cloud Messaging權限
權限名稱 | 說明 |
---|---|
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 Dynamic Links權限
權限名稱 | 說明 |
---|---|
firebasedynamiclinks.domains.create | 建立新的 Dynamic Links 網域 |
firebasedynamiclinks.domains.delete | 刪除現有 Dynamic Links 網域 |
firebasedynamiclinks.domains.get | 擷取現有 Dynamic Links 網域的詳細資料 |
firebasedynamiclinks.domains.list | 擷取現有 Dynamic Links 網域清單 |
firebasedynamiclinks.domains.update | 更新現有 Dynamic Links 網域 |
firebasedynamiclinks.links.create | 建立新Dynamic Links |
firebasedynamiclinks.links.get | 擷取現有Dynamic Links的詳細資料 |
firebasedynamiclinks.links.list | 擷取現有 Dynamic Links |
firebasedynamiclinks.links.update | 更新現有 Dynamic Links |
firebasedynamiclinks.stats.get | 擷取 Dynamic Links 統計資料 |
firebasedynamiclinks.destinations.list | 擷取現有Dynamic Links目的地 |
firebasedynamiclinks.destinations.update | 更新現有Dynamic Links目的地 |
Firebase Extensions 發布權限
權限名稱 | 說明 |
---|---|
firebaseextensionspublisher.extensions.create | 上傳擴充功能的新版本 |
firebaseextensionspublisher.extensions.delete | 刪除或淘汰擴充功能版本 |
firebaseextensionspublisher.extensions.get | 擷取擴充功能版本的詳細資料 |
firebaseextensionspublisher.extensions.list | 列出這個發布者專案上傳的所有擴充功能版本 |
Firebase Hosting權限
權限名稱 | 說明 |
---|---|
firebasehosting.sites.create | 為 Firebase 專案建立新的Hosting 資源 |
firebasehosting.sites.delete | 刪除 Firebase 專案的現有Hosting資源 |
firebasehosting.sites.get | 擷取 Firebase 專案現有Hosting資源的詳細資料 |
firebasehosting.sites.list | 為 Firebase 專案擷取Hosting資源清單 |
firebasehosting.sites.update | 更新 Firebase 專案的現有Hosting資源 |
Firebase In-App Messaging 權限 (Beta 版)
權限名稱 | 說明 |
---|---|
firebaseinappmessaging.campaigns.create | 建立新廣告活動 |
firebaseinappmessaging.campaigns.delete | 刪除現有廣告活動 |
firebaseinappmessaging.campaigns.get | 擷取現有廣告活動的詳細資料 |
firebaseinappmessaging.campaigns.list | 擷取現有廣告活動清單 |
firebaseinappmessaging.campaigns.update | 更新現有廣告活動 |
Firebase ML 權限 (Beta 版)
權限名稱 | 說明 |
---|---|
firebaseml.models.create | 建立新的機器學習模型 |
firebaseml.models.update | 更新現有機器學習模型 |
firebaseml.models.delete | 刪除現有的機器學習模型 |
firebaseml.models.get | 擷取現有機器學習模型的詳細資料 |
firebaseml.models.list | 擷取現有機器學習模型清單 |
firebaseml.modelversions.create | 建立新模型版本 |
firebaseml.modelversions.get | 擷取現有模型版本的詳細資料 |
firebaseml.modelversions.list | 擷取現有模型版本的清單 |
firebaseml.modelversions.update | 更新現有模型版本 |
Firebase Performance Monitoring權限
權限名稱 | 說明 |
---|---|
firebaseperformance.config.create | 建立新的問題門檻設定 |
firebaseperformance.config.delete | 刪除現有的問題門檻設定 |
firebaseperformance.config.update | 修改快訊和現有問題的門檻設定 |
firebaseperformance.data.get | 查看所有成效資料和問題門檻值 |
Firebase Realtime Database權限
權限名稱 | 說明 |
---|---|
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 Remote Config權限
權限名稱 | 說明 |
---|---|
cloudconfig.configs.get | 擷取 Remote Config 資料 |
cloudconfig.configs.update | 更新「Remote Config」資料 |
Firebase Test Lab權限
Test Lab 需要存取 Cloud Storage 值區,因此需要特定權限設定,但標準 Firebase 預先定義角色並未包含所有權限。如要授予 Test Lab 存取權,請使用下列其中一種方法:
從 Firebase 控制台啟動的測試
在專屬的 Firebase 專案中測試應用程式。
新增需要 Test Lab 存取權的成員,然後使用 Firebase 控制台指派舊版專案角色。
- 如要允許成員使用 Test Lab 執行測試,請指派專案「編輯者」或更高等級的角色。
- 如要允許成員在 Test Lab 中查看測試結果,請指派專案檢視者以上的角色。
從 gcloud CLI、Testing API 或 Gradle 管理的裝置啟動測試時,使用您自己的 Cloud Storage bucket
使用 Google Cloud 控制台指派一組預先定義的角色 (這兩個角色加總起來會授予必要權限)。
如要允許成員使用 Test Lab 執行測試,請指派下列兩項角色:
- Firebase Test Lab 管理員 (
roles/cloudtestservice.testAdmin
) - Firebase Analytics 檢視者 (
roles/firebase.analyticsViewer
)
- Firebase Test Lab 管理員 (
如要允許成員在 Test Lab 中查看測試結果,請同時指派下列角色:
- Firebase Test Lab 檢視者 (
roles/cloudtestservice.testViewer
) - Firebase Analytics 檢視者 (
roles/firebase.analyticsViewer
)
- Firebase Test Lab 檢視者 (
權限名稱 | 說明 |
---|---|
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 控制台 > 專案設定 > 整合) |