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 Firestore 和 Cloud Storage for Firebase 生成Firebase Security Rules。目前無法生成Firebase Realtime Database的Security Rules。

  • 從伺服器或其他後端環境存取資料庫或 bucket 時 (例如使用 Firebase Admin SDK 時),不會呼叫 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 和測試。

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

  3. 將 Security Rules 部署至 Firebase 專案。

步驟 1:生成 Security Rules 和測試

設定及執行工具:

  1. 啟用 Firebase 代理技能:

    • Google Antigravity:請參閱設定說明,從 Antigravity Marketplace 安裝 Firebase 外掛程式。您也可以執行下列指令,在專案層級安裝技能:

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

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

  3. 在專案根目錄中,根據 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 存放區複製原始提示詞範本,然後貼到代理的對話中。

步驟 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_test 或 storage_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