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 服務:
支援的 Firebase 和 Google Cloud 服務 |
---|
Firebase Authentication (預先發布版) |
Firebase Data Connect |
Cloud Firestore |
Firebase Realtime Database |
Cloud Storage for Firebase |
Cloud Functions for Firebase (僅限可呼叫函式) |
Firebase AI Logic |
支援的 Google 地圖平台服務 |
Maps JavaScript API (搶先版) |
Places API (新版) (預先發布版) |
其他支援的 Google 服務 |
Google Identity for iOS |
您也可以使用 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 會要求 API 呼叫必須包含有效的 App Check 權杖,藉此保護 Google 後端資源和自訂後端。這兩個概念相輔相成,有助於保護應用程式安全。
配額與限制
使用 App Check 時,必須遵守所用認證供應商的配額和限制。
DeviceCheck 和 App Attest 的存取權須遵守 Apple 設定的配額或限制。
Play Integrity 的標準 API 用量層級每日配額為 10,000 次呼叫。如要瞭解如何提高用量層級,請參閱 Play Integrity 說明文件。
reCAPTCHA Enterprise 每月提供 10,000 次免費評估,超過次數則須付費。請參閱 reCAPTCHA 定價。
開始使用
準備踏出第一步了嗎?
Apple 平台
Android
網頁
Flutter
Unity
C++
瞭解如何導入自訂 App Check 提供者
瞭解如何使用 App Check 保護自訂後端資源
選取平台:
iOS+ Android 網頁 Flutter Unity C++