這項提示可協助 AI 助理 (例如 Gemini CLI) 生成及修正應用程式的 Firebase Security Rules。您可以使用提示草擬常見用途的 Security Rules,例如授予使用者專屬存取權、實作角色型權限,以及驗證資料。
這項提示會著重於為以下內容生成 Security Rules:
- Cloud Firestore:根據應用程式的邏輯保護集合和文件。
- Cloud Storage for Firebase:驗證所儲存檔案的存取權限。
使用這個提示有助於建立強大的安全防護機制,但請務必先徹底測試 Security Rules,再部署至實際工作環境。如要進一步瞭解如何測試 Security Rules,請參閱「開始使用 Firebase Security Rules:測試 Security Rules」。
事前準備
- 熟悉Firebase Security Rules最佳做法。
- 如要執行 Firebase Security Rules 的單元測試並使用 Firebase Local Emulator Suite,請安裝 Node.js 和 Firebase CLI。如需完整操作說明,請參閱「安裝、設定及整合 Firebase Local Emulator Suite」。
- 建議:如果尚未安裝 Gemini CLI,請先安裝。下列操作說明解說如何安裝及使用 Gemini CLI 擴充功能產生 Security Rules。如要使用其他 AI 助理,可以從擴充功能的存放區複製提示,然後貼到所選的 AI 助理。
- 這項 Gemini CLI 擴充功能會使用 Firebase MCP 伺服器驗證產生的 Firebase Security Rules。您也可以使用 MCP 伺服器,更輕鬆地測試及部署 Security Rules。 安裝 Firebase MCP 伺服器 再使用擴充功能產生 Firebase Security Rules。
限制
我們正積極改善這項功能的使用體驗,因此這份限制清單可能會有所變動。請經常回來查看最新消息。
這項提示的目的是為 Cloud Firestore 和 Cloud Storage for Firebase 生成 Firebase Security Rules。目前還無法為Firebase Realtime Database生成Security Rules。
從伺服器或其他後端環境存取資料庫或 bucket 時,不會呼叫 Firebase Security Rules,例如使用 Firebase Admin SDK 時。如果您使用 Admin SDK,則必須負責管理後端程式碼中的授權和資料驗證。
即使使用這個提示,Firebase 控制台中的 Gemini 也無法生成 Firebase Security Rules。Firebase請改用可存取程式碼基底的替代 AI 助理,例如 Gemini CLI (本頁面會說明)。
使用提示
您可以透過 Firebase Security Rules 的 Gemini CLI 擴充功能使用這項提示,產生 Security Rules 和測試。這項擴充功能會分析來源程式碼,協助找出 Cloud Firestore 和 Cloud Storage 的資料結構定義和存取模式。這項工具會根據最小授權原則草擬 Security Rules,並透過反覆的「攻擊」模擬嘗試找出安全漏洞。為協助完成最終驗證,這項工具提供使用 @firebase/rules-unit-testing 的起始單元測試套件,讓您使用 Firebase Local Emulator Suite 在本機驗證安全性邏輯。
使用這項擴充功能需要三個步驟,本節將說明這些步驟:
步驟 1:產生 Security Rules 和測試
安裝並執行擴充功能:
安裝 Gemini CLI 擴充功能:
gemini extensions install https://github.com/firebase/snippets-rules開始時間 Gemini CLI:
gemini從專案根目錄執行擴充功能,為 Cloud Firestore 或 Cloud Storage 產生 Security Rules:
為 Cloud Firestore 生成 Security Rules:
/firebase-rules:firestore Generate Firebase Security Rules using PROJECT ID PROJECT_ID在父項目錄中,擴充功能會建立
firestore.rules檔案和新的rules_test目錄,其中包含 Node.js 專案,以及針對產生的 Security Rules 進行的單元測試。為 Cloud Storage for Firebase 生成 Security Rules:
/firebase-rules:storage Generate Firebase Security Rules using PROJECT ID PROJECT_ID and BUCKET NAME BUCKET_NAME在父項目錄中,擴充功能會建立
storage.rules檔案和新的storage_rules_test目錄,其中包含 Node.js 專案,以及所產生 Security Rules 的單元測試。
步驟 2:查看Security Rules驗證和測試結果
請確保 AI 助理完成下列事項。擴充功能執行完畢後,您應該會看到生成的摘要。
語法驗證:生成 Security Rules 後,Gemini CLI 會使用 Firebase MCP 伺服器的
firebase_validate_security_rules指令自動驗證語法。單元測試:驗證語法後,Gemini CLI 會嘗試使用 Firebase Local Emulator Suite 執行產生的單元測試。
如果測試未自動執行,請在另一個終端機中啟動 Firebase Local Emulator Suite,然後使用下列任一選項執行測試:
方法 1:指示 Gemini CLI 執行測試:
Firebase Emulator Suite is running in a separate terminal. Please execute the tests.方法 2:按照
rules_test或storage_rules_test目錄中README.md檔案的指示,手動執行測試。
步驟 3:將 Security Rules 部署至 Firebase 專案
對產生的 Security Rules 結果感到滿意後,請使用下列 Firebase CLI 指令,將 Security Rules 部署至 Firebase 專案:
Cloud Firestore
firebase deploy --only firestore:rulesCloud Storage for Firebase
firebase deploy --only storage
其他資源
- 如需安全防護機制的額外協助,您也可以使用 Gemini CLI 的安全擴充功能,這項開放原始碼擴充功能會分析程式碼變更,找出安全風險和漏洞。