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

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

事前準備

限制

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

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

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

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

使用提示

您可以透過 Firebase Security RulesGemini CLI 擴充功能使用這項提示,產生 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. 安裝 Gemini CLI 擴充功能:

    gemini extensions install https://github.com/firebase/snippets-rules
  2. 開始時間 Gemini CLI

    gemini
  3. 從專案根目錄執行擴充功能,為 Cloud FirestoreCloud 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驗證和測試結果

  1. 請確保 AI 助理完成下列事項。擴充功能執行完畢後,您應該會看到生成的摘要。

    • 語法驗證:生成 Security Rules 後,Gemini CLI 會使用 Firebase MCP 伺服器的 firebase_validate_security_rules 指令自動驗證語法。

    • 單元測試:驗證語法後,Gemini CLI 會嘗試使用 Firebase Local Emulator Suite 執行產生的單元測試。

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

    • 方法 1:指示 Gemini CLI 執行測試:

      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

其他資源

  • 如需安全防護機制的額外協助,您也可以使用 Gemini CLI 的安全擴充功能,這項開放原始碼擴充功能會分析程式碼變更,找出安全風險和漏洞。