Firebase App Check
App Check 可防止未經授權的用戶端存取後端資源,進而保護應用程式後端免於遭到濫用。這項服務可與 Google 服務 (包括 Firebase 和 Google Cloud 服務) 和您自己的後端搭配使用,確保資源安全無虞。
有了 App Check,執行應用程式的裝置將使用應用程式或裝置認證提供者,以便驗證下列一或兩項作業:
- 要求來自您已驗證的應用程式
- 要求來自未經竄改的真實裝置
這項認證會附加至應用程式對您指定 API 發出的每項要求。啟用 App Check 強制執行功能後,系統會拒絕來自沒有有效認證的用戶端要求,以及來自您未授權的應用程式或平台的任何要求。
App Check 內建支援功能,可將下列服務用作認證提供者:
- 在 Apple 平台上使用 DeviceCheck 或 App Attest
- Android 上的 Play Integrity
- reCAPTCHA Enterprise 用於網頁應用程式
如果這些服務無法滿足您的需求,您也可以實作自己的服務,使用第三方認證服務供應商或您自己的認證技術。
App Check 支援下列 Google 服務:
支援的 Google 服務 |
---|
Firebase Data Connect (預先發布版) |
Realtime Database |
Cloud Firestore |
Cloud Storage |
Cloud Functions (可呼叫的函式) |
Authentication (Beta 版;需要升級至 Firebase Authentication with Identity Platform) |
Google Identity for iOS (Beta 版) |
Vertex AI in Firebase (預先發布版) |
您也可以使用 App Check 保護非 Google 後端資源。
運作原理
為服務啟用 App Check,並在應用程式中加入用戶端 SDK 後,系統會定期執行下列操作:
- 應用程式會與所選供應商互動以取得認證 應用程式或裝置的真實性 (或兩者皆有,視供應者而定)。
- 認證會傳送至 App Check 伺服器,由伺服器驗證 使用向應用程式註冊的參數證明認證的有效性 會傳回包含到期時間的 App Check 權杖。這個 可能會保留其認證資料的部分資訊 已驗證。
- App Check 用戶端 SDK 會在應用程式中快取權杖,隨時準備與應用程式向受保護服務提出的任何要求一併傳送。
由「App Check」保護的服務僅接受附帶的要求 目前有效的 App Check 權杖。
「App Check」提供的安全防護機制有多強?
App Check 仰賴認證提供者的強度來判斷 應用程式或裝置的真實性這能防止部分 (而非全部) 濫用媒介 導向的後端使用 App Check 無法保證能完全杜絕濫用行為,但透過整合 App Check,您已朝著保護後端資源免於遭受濫用行為的目標邁進了一大步。
「App Check」與「Firebase Authentication」有什麼關聯?
「App Check」和「Firebase Authentication」是應用程式安全性的相輔相成 故事Firebase Authentication 提供使用者驗證,可保護使用者;App Check 則提供應用程式或裝置真實性的認證,可保護開發人員。App Check 會保護您對 Google 服務的存取權 要求 API 呼叫必須包含有效的 App Check 權杖。這兩個概念相輔相成,有助於確保應用程式的安全。
配額與限制
使用 App Check 時須遵守認證的配額與限制 供應商。
DeviceCheck 和 App Attest 的存取權必須遵守設定的所有配額或限制 由 Apple 提供。
Play Integrity 標準 API 用量的每日呼叫上限為 10,000 次 級別。如要瞭解如何提高用量層級,請參閱 Play Integrity 說明文件。
SafetyNet 的每日配額為 10,000 個呼叫。如要瞭解如何要求增加配額,請參閱 SafetyNet 說明文件。
reCAPTCHA Enterprise 每個月可進行 10,000 次評估,而且無須付費, 能超過 $180 萬美元的費用請參閱 reCAPTCHA 定價。
開始使用
準備踏出第一步了嗎?
Apple 平台
Android
網路
Flutter
C++
Unity
瞭解如何實作自訂 App Check 供應器
瞭解如何使用 App Check 保護非 Google 的後端資源
選取平台: