Firebase 應用程式檢查
App Check 可防止未經授權的用戶端存取您的後端資源,進而協助保護您的 API 資源免於濫用。它可與 Firebase 服務、Google Cloud 服務和您自己的 API 搭配使用,以確保您的資源安全。
透過 App Check,執行您的應用程式的裝置將使用應用程式或裝置證明提供者來證明以下一項或兩項:
- 請求源自您的真實應用程序
- 請求來自真實的、未被篡改的設備
此證明附加到您的應用程式向您指定的 API 發出的每個請求。當您啟用應用程式檢查強制執行時,來自沒有有效證明的用戶端的請求將被拒絕,來自您未經授權的應用程式或平台的任何請求也將被拒絕。
App Check 內建支援使用以下服務作為證明提供者:
- Apple 平台上的DeviceCheck或App Attest
- 在 Android 上玩 Integrity或SafetyNet (已棄用)
- Web 應用程式上的reCAPTCHA Enterprise 。
如果這些不足以滿足您的需求,您還可以使用第三方證明提供者或您自己的證明技術來實現自己的服務。
App Check 目前適用於以下 Firebase 產品:
支援的 Firebase 產品 |
---|
即時資料庫 |
雲端Firestore |
雲端儲存 |
雲函數(可呼叫函數) |
身份驗證(測試版;需要使用 Identity Platform 升級到 Firebase 驗證) |
您也可以使用 App Check 來保護您的非 Firebase 後端資源。
準備好開始了嗎?
它是如何運作的?
當您為服務啟用 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 驗證有何關係?
應用檢查和 Firebase 身份驗證是應用安全故事的補充部分。 Firebase 驗證提供用戶身份驗證,從而保護您的用戶,而 App Check 提供應用程式或裝置真實性證明,從而保護您(開發者)。 App Check 透過要求 API 呼叫包含有效的 Firebase App Check 令牌來保護對 Firebase 資源和自訂後端的存取。這兩個概念協同作用可幫助保護您的應用程式。
配額和限制
您對 App Check 的使用受到您使用的證明提供者的配額和限制。
DeviceCheck 和 App Attest 存取受 Apple 設定的任何配額或限制的約束。
Play Integrity 的標準 API 使用層每日呼叫配額為 10,000 次。有關提高使用等級的信息,請參閱Play Integrity 文件。
SafetyNet 的每日配額為 10,000 個通話。有關請求增加配額的信息,請參閱SafetyNet 文件。
reCAPTCHA Enterprise 每月 100 萬次呼叫是免費的,超過此數量則需要付費。請參閱reCAPTCHA Enterprise 定價。
開始使用
準備好開始了嗎?
蘋果平台
安卓
網路
撲
C++
統一
了解如何實作自訂 App Check 提供者:
了解如何使用 App Check 保護您的非 Firebase 後端資源: