直接從行動和網頁應用程式呼叫 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 控制台的引導式設定中,自動對 Firebase AI Logic 強制執行 App Check。如果先前已設定 Firebase AI Logic,請務必明確強制執行 App Check。在本機開發時,您可以設定App Check 偵錯供應商,然後向正式版認證供應商註冊應用程式,再發布給使用者。
使用有限使用權杖啟用重放攻擊防護機制
設定 App Check 時,請考慮強制執行重放攻擊防護機制,確保 App Check 權杖只能使用一次。這個選項提供的防護功能比基本防護更強大,可讓您為應用程式和用途設定適當的防護等級。
為 Firebase API 金鑰設定限制
Firebase API 金鑰會在提出要求時,識別 Firebase 專案和應用程式。為避免 API 金鑰遭未經授權使用,請採取下列措施:
在 Google Cloud 控制台中設定「應用程式限制」,將金鑰使用限制為僅限來自應用程式特定軟體包 ID (Apple)、套件名稱和 SHA-1 指紋 (Android) 或 HTTP 參照網址 (Web) 的要求。
-
- 確認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,並傳遞動態輸入變數。 您也可以透過伺服器提示詞範本,視需要更新提示或切換模型,不必發布新版應用程式。
驗證及清理用戶提供的範本變數
伺服器提示詞範本可保護提示詞設計,但接受動態變數的範本仍可能受到提示詞注入攻擊。由於範本會將使用者輸入變數串連至最終提示,請務必執行下列操作:
- 在用戶端驗證及清理所有使用者輸入內容,再將變數傳遞至範本 (例如強制執行字元限制和預期格式)。
- 在範本中加入明確的系統指令,定義使用者輸入內容的處理方式,以確保安全。
強制執行僅限範本模式
如果所有應用程式功能都使用伺服器提示詞範本,請考慮強制執行
僅限範本模式
。強制執行後,系統會封鎖所有對 Firebase AI Logic (403: unauthorized) 的直接要求 (不含範本),防止惡意行為人傳送任意提示或濫用配額。Gemini API
監控、限制和計費
掌握傳入流量和安全異常狀況,並防範專案用量突然暴增或成本失控。
在 Firebase 控制台中設定 AI 監控功能
在 Firebase 控制台設定 AI 監控,掌握要求計數、延遲時間、權杖用量和錯誤率等重要指標 (包括401授權失敗和403僅限範本的封鎖)。您也可以在 Google Cloud 控制台中檢查個別追蹤記錄。
設定頻率限制及管理配額
保護專案免於用量突然暴增和錢包拒絕服務攻擊:
- 為每位使用者設定速率限制 (預設為每分鐘 100 次),避免個別用戶端例項耗用過多配額。
- 在每個基礎 API 的 Google Cloud 控制台中,查看及管理專案配額。
透過快訊和支出上限避免意外帳單
如果 Firebase 專案採用即付即用 Blaze 定價方案:
後續步驟
- 詳閱一般Firebase 安全性檢查清單。
- 查看一般 Firebase AI Logic正式版檢查清單。
- 進一步瞭解 的定價和成本管理 Firebase AI Logic。