Firebase 應用檢查
App Check 通過防止未經授權的客戶端訪問您的後端資源來幫助保護您的 API 資源免遭濫用。它適用於 Firebase 服務、Google Cloud 服務和您自己的 API,以確保您的資源安全。
借助 App Check,運行您的應用的設備將使用可證明以下一項或兩項的應用或設備證明提供程序:
- 請求來自您的真實應用
- 請求來自真實的、未篡改的設備
此證明附加到您的應用程序向您指定的 API 發出的每個請求。當您啟用應用檢查強制執行時,來自沒有有效證明的客戶端的請求將被拒絕,來自您未授權的應用或平台的任何請求也將被拒絕。
App Check 內置支持將以下服務用作證明提供者:
- Apple 平台上的DeviceCheck或App Attest
- 在 Android 上播放 Integrity或SafetyNet (已棄用)
- web 應用程序上的reCAPTCHA v3或reCAPTCHA Enterprise
如果這些不足以滿足您的需求,您還可以使用第三方證明提供者或您自己的證明技術來實現自己的服務。
App Check 目前適用於以下 Firebase 產品:
支持的 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 v3 的每月配額為 100 萬次調用,以及 1,000 QPS 的限制。有關請求增加配額的信息,請參閱reCAPTCHA 文檔。
reCAPTCHA Enterprise 每月可免費撥打 100 萬次電話,而且費用超出此範圍。請參閱reCAPTCHA Enterprise 定價。
開始使用
準備好開始了嗎?
蘋果平台
安卓
網絡
撲
了解如何實現自定義 App Check 提供程序:
了解如何使用 App Check 保護您的非 Firebase 後端資源: