這則提示可協助 AI 助理 (例如 Google Antigravity) 生成及調整應用程式的 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」。
- 建議:如果尚未安裝 Antigravity,請先完成安裝。以下操作說明介紹如何啟用及使用 Firebase 代理技能和 MCP 伺服器,生成 Security Rules。如要使用其他 AI 程式設計代理,請從
firebase-tools存放區複製 Cloud Firestore 或 Cloud Storage for Firebase 的提示詞,然後貼到您選擇的 AI 程式設計代理。 - Firebase 代理技能和 MCP 伺服器會搭配運作,存取生成及驗證 Firebase Security Rules 的提示,並協助測試和部署 Security Rules。使用這些工具生成 Firebase Security Rules 之前,請先安裝 Firebase MCP 伺服器。
限制
我們正在積極改善這項功能,因此這份限制清單可能會有變動。請經常回來查看最新消息。
提示詞旨在為 Cloud Firestore 和 Cloud Storage for Firebase 生成Firebase Security Rules。目前還無法生成Firebase Realtime Database的Security Rules。
從伺服器或其他後端環境 (例如使用 Firebase Admin SDK) 存取資料庫或 bucket 時,系統不會呼叫 Firebase Security Rules。如果您使用 Admin SDK,則必須負責在後端程式碼中管理授權和資料驗證。
即使使用這則提示,Firebase 控制台中的 Gemini in Firebase 也無法生成 Firebase Security Rules。請改用可存取程式碼集的其他 AI 助理,例如 Antigravity (本頁會說明)。
使用提示詞
如要使用這項功能,請搭配 Firebase MCP 伺服器和 Firebase 代理技能,以及相容的 AI 助理 (例如 Antigravity) 生成 Security Rules 和測試。這些工具會分析原始碼,協助您找出 Cloud Firestore 和 Cloud Storage 的資料結構定義和存取模式。這些代理程式會根據最小權限原則草擬 Security Rules,並透過反覆的「攻擊」模擬,嘗試找出安全漏洞。為了協助進行最終驗證,他們提供使用 @firebase/rules-unit-testing 的起始單元測試套件,讓您可以使用 Firebase Local Emulator Suite 在本機驗證安全性邏輯。
使用這些工具需要三個步驟,本節將說明這些步驟:
步驟 1:生成 Security Rules 和測試
設定及執行工具:
啟用 Firebase 代理技能:
啟動 AI 助理 (例如在終端機中執行
agy,或開啟電腦版應用程式)。在專案根目錄中,根據 AI 程式設計代理與 MCP 提示互動的方式,要求代理為 Cloud Firestore 或 Cloud Storage 生成 Security Rules:
如果是使用自然語言的程式設計代理 (例如 Antigravity),請使用自然語言提示代理。
為Cloud Firestore產生Security Rules:
Generate Firestore security rules for this project, then run the unit tests.代理會在上層目錄中建立
firestore.rules檔案和新的security_rules_test_firestore目錄,其中包含 Node.js 專案,並針對產生的 Security Rules 進行單元測試。為Cloud Storage for Firebase產生Security Rules:
Generate Cloud Storage security rules for this project, then run the unit tests.代理會在上層目錄中建立
storage.rules檔案和新的security_rules_test_storage目錄,其中包含 Node.js 專案,並針對產生的 Security Rules 進行單元測試。
如果程式設計代理支援斜線指令 (例如 Claude Code),請使用下列指令。
為Cloud Firestore產生Security Rules:
/firestore:generate_security_rules為Cloud Storage for Firebase產生Security Rules:
/storage:generate_security_rules
如果程式設計代理不支援 MCP 提示詞整合,您可以從
firebase-tools存放區複製原始提示詞範本,然後貼到代理的對話中。- 為Cloud Firestore生成Security Rules:從Cloud Firestore複製提示。
- 生成Cloud Storage for Firebase的Security Rules:複製Cloud Storage for Firebase中的提示。
步驟 2:查看 Security Rules 驗證和測試結果
請確認 AI 程式設計代理已完成下列事項。工具執行完畢後,您應該會看到生成的摘要。
語法驗證:生成 Security Rules 後,AI 程式設計代理會自動使用 Firebase MCP 伺服器的
firebase_validate_security_rules指令驗證語法。單元測試:驗證語法後,AI 程式設計代理會嘗試使用 Firebase Local Emulator Suite 執行生成的單元測試。
如果測試未自動執行,請在另一個終端機中啟動 Firebase Local Emulator Suite,然後使用下列其中一個選項執行測試:
方法 1:指示 AI 助理執行測試:
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