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 Security Rules,例如使用 Firebase Admin SDK 時。如果您使用 Admin SDK,則必須負責管理後端程式碼中的授權和資料驗證。

  • 即使使用這個提示,控制台中的 Gemini in Firebase 也無法生成 Firebase Security Rules。Firebase請改用可存取程式碼集的替代 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:請參閱設定操作說明,啟用 Firebase 整合套件。如果您使用 CLI,可以執行下列指令來啟用技能:

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

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

  3. 在專案根目錄中,根據 AI 程式碼編寫代理程式與 MCP 提示的互動方式,要求代理程式生成 Security Rules (適用於 Cloud Firestore 或 Cloud 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_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