直接從行動和網頁應用程式呼叫 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) 和 Web (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 參照網址 (網頁) 的要求。
-
- 確認 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 會封鎖所有直接傳送至 Gemini API (403: unauthorized) 的非範本要求,防止惡意行為人傳送任意提示詞或濫用配額。
監控、限制和計費
掌握傳入流量和安全性異常狀況,並保護專案免於用量突然暴增或費用失控。
在 Firebase 控制台設定 AI 監控
在 Firebase 控制台設定 AI 監控
,掌握要求數量、延遲時間、詞元用量
和錯誤率 (包括 401 驗證失敗和僅限 403 範本的封鎖) 等重要指標。
您也可以在 Google Cloud 控制台檢查個別追蹤記錄。
設定頻率限制及管理配額
保護專案,避免用量突然暴增和錢包阻斷攻擊:
- 設定每位使用者的頻率限制 (預設為每分鐘 100 次),防止個別用戶端執行個體消耗過多配額。
- 在 Google Cloud 控制台中查看及管理各項基礎 API 的專案配額。
設定快訊和支出上限,避免帳單費用超乎預期
如果 Firebase 專案採用即付即用 Blaze 定價方案:
後續步驟
- 查看一般 Firebase 安全性檢查清單。
- 查看 Firebase AI Logic 的一般正式版檢查清單。
- 進一步瞭解 Firebase AI Logic 的定價和費用管理。