AI 提示:編寫 Firebase 安全性規則

這項提示可協助 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」。

事前準備

限制

我們正積極改善這項功能的使用體驗,因此這份限制清單可能會有所變動。請經常回來查看最新消息。

  • 這項提示旨在為 Cloud FirestoreCloud Storage for Firebase 生成 Firebase Security Rules。目前還無法為Firebase Realtime Database生成Security Rules

  • 從伺服器或其他後端環境存取資料庫或 bucket 時,不會呼叫 Firebase Security Rules,例如使用 Firebase Admin SDK 時。如果您使用 Admin SDK,則必須負責管理後端程式碼中的授權和資料驗證。

  • 即使使用這個提示,Firebase 控制台中的 Gemini in Firebase 也無法生成 Firebase Security Rules。請改用可存取程式碼集的替代 AI 助理,例如 Antigravity (本頁面會說明)。

使用提示

使用 Firebase MCP 伺服器Firebase 代理程式技能,搭配相容的 AI 助理 (例如 Antigravity) 生成 Security Rules 和測試時,即可使用這項功能。這些工具會分析原始碼,協助找出 Cloud FirestoreCloud Storage 的資料結構定義和存取模式。這些草案的設計依據是最小權限原則,並透過反覆的「攻擊」模擬,嘗試找出安全漏洞。Security Rules為協助完成最終驗證,他們會提供使用 @firebase/rules-unit-testing 的起始單元測試套件,讓您使用 Firebase Local Emulator Suite 在本機驗證安全邏輯。

使用這些工具需要三個步驟,本節將說明這些步驟:

  1. 產生Security Rules和測試

  2. 查看Security Rules驗證和測試結果

  3. Security Rules 部署至 Firebase 專案

步驟 1:產生 Security Rules 和測試

設定及執行工具:

  1. 啟用 Firebase 代理程式技能:

    • Google Antigravity:請參閱設定操作說明,啟用 Firebase 整合套件。如果您使用 CLI,可以執行下列指令來啟用技能:

      npx skills add firebase/agent-skills --agent=antigravity
    • 其他 AI 程式碼編寫代理:請按照代理技能MCP 伺服器的操作說明進行。

  2. 啟動 AI 助理 (例如在終端機中執行 agy,或開啟桌面應用程式)。

  3. 從專案的根目錄,要求代理程式根據 AI 程式碼編寫代理程式與 MCP 提示的互動方式,生成 Security Rules (適用於 Cloud FirestoreCloud Storage):

    • 如果是使用自然語言的程式碼編寫代理 (例如 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 存放區複製原始提示詞範本,然後貼到代理程式的對話中。

步驟 2:查看Security Rules驗證和測試結果

  1. 請確保 AI 程式設計代理程式完成下列事項。工具執行完畢後,您應該會看到生成的摘要。

    • 語法驗證:產生 Security Rules 後,AI 編碼代理程式會使用 Firebase MCP 伺服器的 firebase_validate_security_rules 指令,自動驗證語法。

    • 單元測試:驗證語法後,AI 程式設計代理程式會嘗試使用 Firebase Local Emulator Suite 執行產生的單元測試。

  2. 如果測試未自動執行,請在另一個終端機中啟動 Firebase Local Emulator Suite,然後使用下列任一選項執行測試:

    • 方法 1:指示 AI 助理執行測試:

      Firebase Emulator Suite is running in a separate terminal. Please execute the tests.
      
    • 方法 2:按照 rules_teststorage_rules_test 目錄中 README.md 檔案的指示,手動執行測試。

步驟 3:將 Security Rules 部署至 Firebase 專案

對產生的 Security Rules 結果感到滿意後,請使用下列 Firebase CLI 指令,將 Security Rules 部署至 Firebase 專案:

  • Cloud Firestore

    firebase deploy --only firestore:rules
  • Cloud Storage for Firebase

    firebase deploy --only storage