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

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

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

使用提示

您可以在 Firebase 擴充功能 for Gemini CLI 中使用 Security Rules 功能,產生 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 的 Firebase 擴充功能:

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

    gemini
  3. 從專案根目錄執行擴充功能,為 Cloud FirestoreCloud Storage 產生 Security Rules

    • Cloud Firestore 生成 Security Rules

      /firestore:generate_security_rules

      在父項目錄中,擴充功能會建立 firestore.rules 檔案和新的 security_rules_test_firestore 目錄,其中包含 Node.js 專案,以及所產生 Security Rules 的單元測試。

    • Cloud Storage for Firebase 生成 Security Rules

      /storage:generate_security_rules

      在父項目錄中,擴充功能會建立 storage.rules 檔案和新的 security_rules_test_storage 目錄,其中包含 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 的安全擴充功能,這項開放原始碼擴充功能會分析程式碼變更,找出安全風險和漏洞。