直接透過行動和網頁應用程式呼叫 Gemini API 時,需要採用多層式深度防禦機制,才能保護後端基礎架構、配額和專屬提示。請參閱這份檢查清單,瞭解如何為 Firebase AI Logic 導入建議的安全性最佳做法。
應用程式、裝置和使用者驗證
驗證傳入要求是否來自正版裝置上未經竄改的應用程式執行個體,以及是否來自正版使用者。
強制執行 Firebase App Check
強制執行 Firebase App Check,有助於保護 Gemini API 不受濫用,因為該函式是直接從應用程式呼叫。強制執行 App Check 時,系統會驗證傳入的要求是否來自正版應用程式和/或未經竄改的裝置。
App Check 支援 Apple 平台 (DeviceCheck、App Attest 或 reCAPTCHA Enterprise)、Android (Play Integrity 或 reCAPTCHA Enterprise) 和網頁 (reCAPTCHA Enterprise) 的驗證供應商。此外,也支援 Flutter 和 Unity 應用程式的所有這些供應商。
2026 年 7 月初起,Firebase 會在Firebase控制台的引導式設定期間,自動強制執行 App CheckFirebase AI Logic。如果您先前已設定 Firebase AI Logic,請務必明確強制執行 App Check。如要在本機開發,可以設定 App Check debug provider,然後向正式版認證供應商註冊應用程式,再發布給使用者。
使用次數受限的權杖啟用重放攻擊防護機制
設定 App Check 時,請考慮強制執行重放攻擊防護機制,確保 App Check 權杖只能使用一次。這個選項提供的保護功能比基本保護更進階,可讓您為應用程式和用途設定適當的保護等級。
為 Firebase API 金鑰設定限制
Firebase API 金鑰會在發出要求時,識別 Firebase 專案和應用程式。為避免 API 金鑰遭未經授權使用,請採取下列措施:
在 Google Cloud 控制台中設定「應用程式限制」,將金鑰使用限制為僅限來自應用程式特定軟體包 ID (Apple)、套件名稱和 SHA-1 指紋 (Android) 或 HTTP 參照網址 (網頁) 的要求。
-
- 確認 Firebase AI Logic API (
firebasevertexai.googleapis.com) 已加入許可清單。 - 確認許可清單上只有應用程式需要的特定 Firebase 服務 API。請參閱受限 Firebase 金鑰的必要 API 清單。
- 確認 Firebase AI Logic API (
請注意,Firebase 相關 API 使用 API 金鑰僅是為了識別 Firebase 專案或應用程式,並非為了授權呼叫 API。
限制只有通過驗證的使用者才能提出要求
建議強制啟用「僅限通過驗證的使用者」模式,這樣透過 Firebase AI Logic 提出的所有要求都必須包含 Firebase Authentication 的有效憑證。如果要求來自未經驗證的終端使用者,系統會拒絕要求並傳回 401: unauthenticated 錯誤。
提示防護和要求強化
防止用戶端反編譯作業公開提示設計,並鎖定後端,避免惡意使用者執行任意提示。
使用伺服器提示詞範本
使用伺服器提示詞範本,將提示詞、系統指令和模型設定安全地儲存在雲端,而不是以硬式編碼方式寫入用戶端應用程式程式碼,以免遭人透過二進位檔反編譯擷取。
應用程式只會參照範本 ID,並傳遞動態輸入變數。 此外,您也可以視需要更新提示詞或切換模型,不必發布新版應用程式。
驗證及清除用戶提供的範本變數
伺服器提示詞範本可保護提示詞設計,但接受動態變數的範本仍可能受到提示詞注入攻擊。由於範本會將使用者輸入變數串連至最終提示,請務必執行下列操作:
- 在用戶端驗證並清理所有使用者輸入內容,再將變數傳遞至範本 (例如強制執行字元限制和預期格式)。
- 在範本中加入明確的系統指令,定義使用者輸入內容的處理方式。
強制執行僅限範本模式
如果所有應用程式功能都使用伺服器提示詞範本,請考慮強制執行僅限範本模式。強制執行後,系統會封鎖對 403: unauthorized 的所有直接要求 (未套用範本),防止惡意人士傳送任意提示或濫用配額。Firebase AI LogicGemini API
監控、限制和計費
掌握流量和安全性異常狀況,並保護專案免於用量意外暴增或成本失控。
在 Firebase 控制台中設定 AI 監控
在 Firebase 控制台中設定 AI 監控,即可掌握要求計數、延遲時間、權杖用量和錯誤率等重要指標 (包括 401 授權失敗和403僅限範本的封鎖)。您也可以在 Google Cloud 控制台中檢查個別追蹤記錄。
設定頻率限制及管理配額
保護專案,避免用量突然暴增和錢包遭竊攻擊:
- 為每位使用者設定速率限制 (預設為每分鐘 100 次),防止個別用戶端執行個體耗用過多配額。
- 在每個基礎 API 的 Google Cloud 控制台中,查看及管理專案配額。
透過快訊和支出上限避免意外支出
如果 Firebase 專案採用即付即用 Blaze 定價方案:
後續步驟
- 查看一般Firebase 安全性檢查清單。
- 請參閱一般Firebase AI Logic製作檢查清單。
- 進一步瞭解 Firebase AI Logic 的定價和費用管理。