您可以為 Firebase 專案強制啟用僅限通過驗證的使用者模式。強制執行之後,透過 Firebase AI Logic 傳送的所有 Gemini API 要求都必須來自應用程式的已驗證使用者。具體來說,應用程式的終端使用者必須先使用 Firebase Authentication 進行驗證,才能從應用程式傳送要求至 Firebase AI Logic。如果終端使用者未通過驗證,系統會封鎖要求。
如果要求遭到封鎖,回應會是 401: unauthenticated 錯誤。
重要事項
請注意「僅限通過驗證的使用者」模式的下列重要考量。
強制啟用「僅限通過驗證的使用者」模式
強制啟用「僅限通過驗證的使用者」模式時,請注意下列事項:
這項設定是 Firebase AI Logic 的專案層級設定。
- 這項配額適用於專案中註冊的所有應用程式。
- 且只會套用至強制執行的專案。
這項設定會封鎖透過 Firebase AI Logic 傳送的未附上 Firebase Authentication 憑證的所有要求。
- 使用者必須先透過 Firebase Authentication 驗證,才能將要求傳送至 Firebase AI Logic。
- 這項設定適用於透過 Firebase AI Logic 對Gemini Developer API 和 Vertex AI Gemini API 提出的�
- 這項設定適用於所有使用伺服器提示詞範本的要求。
- 這項設定無法以使用者、API 或範本為單位套用。
這項設定不會封鎖專案中不是透過 Firebase AI Logic 提出的 Gemini API 要求。
如果使用混合式 / 裝置端:
- 如果使用者未通過驗證,這項設定會封鎖對雲端主機模型的請求。
- 無論使用者的驗證狀態為何,這項設定不會封鎖對裝置端模型的請求。
如果使用 Gemini Live API:
- 這項設定會封鎖 網頁應用程式使用 Firebase AI Logic 的 Gemini Live API,即使是已通過驗證的使用者也不例外。包括使用 Firebase JS SDK 的網頁應用程式,或 Flutter 網頁應用程式。
如果您使用 Firebase AI Logic REST API:
- 這項設定會封鎖 推論要求,不會傳送憑證。Firebase Authentication包括
templateGenerateContent或templateStreamGenerateContent等伺服器提示範本的要求。 - 這項設定不會封鎖 控制平面要求 (例如管理範本和設定的要求),因為這些要求受到 IAM 保護。
- 這項設定會封鎖 推論要求,不會傳送憑證。Firebase Authentication包括
這項設定「不會封鎖」對
countTokens(Count Tokens API) 的要求。
強制啟用「僅限通過驗證的使用者」模式前
強制執行「僅限通過驗證的使用者」模式前,請注意下列事項:
如果現有的應用程式版本「未」使用 Firebase Authentication:
- 這項設定會封鎖透過 Firebase AI Logic 來自這些現有應用程式版本的請求。
- 強制啟用「僅限通過驗證的使用者」模式之前,請確保所有運作中的用戶端都已更新,並使用 Firebase Authentication 。
舊版 Flutter 外掛程式需要特殊例項,才能在要求中傳送 Firebase Authentication 憑證。
- 如果應用程式使用 Flutter 外掛程式
firebase_aiv3.11.0 以下版本 (BoM v4.12.0 以下版本),且未在例項化期間傳遞 Authentication,這項設定會封鎖透過 Firebase AI Logic 提出的要求,即使是已驗證的使用者也不例外。 - 強制執行已驗證使用者模式前,請確保 Flutter 的所有運作中用戶端都已更新至較新版本的外掛程式。
- 如果應用程式使用 Flutter 外掛程式
設定「Firebase Authentication」
Firebase Authentication 說明文件提供支援的驗證供應商說明和實作說明,包括使用密碼、電話號碼、熱門的聯合身分識別供應商 (如 Google、Facebook 和 GitHub) 等。
在應用程式中導入 Firebase Authentication 後,應用程式會在每次向 Firebase AI Logic 發出的要求中,自動傳送已驗證使用者的 Firebase Authentication 憑證。
請注意部分驗證供應商的相關事項:
自訂驗證:您需要擷取已簽署的驗證權杖,並連同要求傳送至 Firebase AI Logic。詳情請參閱「自訂驗證」。
匿名或電子郵件/密碼驗證方法:這些使用者會被視為已通過驗證,因此他們對 Firebase AI Logic 的要求不會遭到封鎖。
請注意,即使匿名和電子郵件地址/密碼驗證方法需要使用者造訪您的應用程式才能建立憑證,但這些並非穩健的驗證形式 (特別是為了保護付費資源),因為這些方法預設不會要求使用者驗證身分。Firebase Authentication如果應用程式使用這些驗證方式的預設實作方式,即使強制執行「僅限通過驗證的使用者」模式,也可能無法提供充分保護。請確認您也已強制執行Firebase App Check。
管理「僅限通過驗證的使用者」模式設定
您可以在 Firebase 控制台中管理僅限通過驗證的使用者模式設定。
所需的身分與存取權管理權限和角色
如要管理已驗證使用者模式設定,您需要 firebasevertexai.configs.update 權限,這項權限預設包含在下列 IAM 角色中:擁有者、編輯者、Firebase 管理員和 Firebase AI Logic 管理員。
強制啟用「僅限通過驗證的使用者」模式
如要為 Firebase 專案強制啟用「僅限通過驗證的使用者」模式,請按照下列步驟操作:
如尚未閱讀,請參閱本指南稍早的「重要事項」一節,瞭解已驗證使用者模式。
如果尚未在應用程式中設定 Firebase Authentication (如本指南先前所述),請先完成設定。
強制啟用「僅限通過驗證的使用者」模式:
在 Firebase 控制台中,依序前往「AI Services」(AI 服務) >「AI Logic」(AI 邏輯) >「Settings」(設定) 分頁標籤。
在「僅限通過驗證的使用者」模式下方,將「強制啟用『僅限通過驗證的使用者』模式」切換鈕滑動至「強制啟用」。
查看確認對話方塊,然後按一下「確認」。
停止強制執行「僅限通過驗證的使用者」模式
如果停止強制執行「僅限通過驗證的使用者」模式,請注意下列事項:
- 未傳送 Firebase Authentication 憑證的 Firebase AI Logic 要求不會遭到封鎖。
- 這項設定會套用至整項專案的 Firebase AI Logic。
如要停止對 Firebase 專案強制執行「僅限通過驗證的使用者」模式,請按照下列步驟操作:
在 Firebase 控制台中,依序前往「AI Services」(AI 服務) >「AI Logic」(AI 邏輯) >「Settings」(設定) 分頁標籤。
在「僅限通過驗證的使用者模式」下方,關閉「強制啟用『僅限通過驗證的使用者』模式」。
查看確認對話方塊,然後按一下「確認」。