Firebase 安全規則入門

Firebase 安全規則為 Cloud Firestore、實時數據庫和雲存儲中的數據提供強大、完全可自定義的保護。您可以按照本指南中的步驟輕鬆開始使用規則,保護您的數據並保護您的應用程序免受惡意用戶的侵害。

了解 Firebase 安全規則語言

在開始編寫規則之前,值得花一些時間查看您正在使用的 Firebase 產品的特定 Firebase 安全規則語言。實時數據庫的規則利用類似 JavaScript 的語法和 JSON 結構。或者,Cloud Firestore 和 Cloud Storage 利用通用表達式語言 (CEL) 的超集,該超集依賴於在定義的路徑上設置訪問條件的matchallow語句。

詳細了解Firebase 安全規則語言

設置身份驗證

如果您還沒有這樣做,請使用Firebase 身份驗證來識別您的用戶。 Firebase 身份驗證支持許多常見的身份驗證方法,並與 Firebase 安全規則集成以提供全面的驗證功能。

您可以為您的應用程序設置額外的自定義身份驗證信息。

詳細了解Firebase 安全規則和 Firebase 身份驗證

定義您的數據和規則結構

構建數據的方式可能會影響構建和實施規則的方式。當您定義數據結構時,請考慮它們可能對您的規則結構產生的影響。

例如,在 Cloud Firestore 中,您可能希望包含一個表示每個用戶的特定角色的字段。然後,您的規則可以讀取該字段並使用它來授予基於角色的訪問權限。

在定義數據和規則架構時,請記住,如果任何規則授予對數據集的訪問權限,則 Firebase 安全規則也會授予對該數據集的訪問權限。換句話說,如果您已在數據層次結構中的更高級別授予訪問權限,則無法細化子路徑的訪問權限。

訪問您的規則

要查看現有規則,請使用 Firebase CLI 或 Firebase 控制台。確保使用相同的方法一致地編輯規則,以避免錯誤地覆蓋更新。如果您不確定本地定義的規則是否反映最新更新,Firebase 控制台始終顯示 Firebase 安全規則的最新部署版本。

要從Firebase 控制台訪問您的規則,請選擇您的項目,然後導航到Realtime DatabaseCloud FirestoreStorage 。進入正確的數據庫或存儲桶後,單擊規則

要從 Firebase CLI 訪問您的規則,請轉到firebase.json 文件中記錄的規則文件。

編寫基本規則

當您開發應用程序並了解規則時,請嘗試實施一些基本的安全規則,包括以下用例:

  • 僅限內容所有者:限制用戶對內容的訪問。
  • 混合訪問:限制用戶的寫入訪問,但允許公共讀取訪問。
  • 基於屬性的訪問:限制對組或用戶類型的訪問。

測試你的規則

全面驗證您的應用的行為並驗證您的 Firebase 安全規則
配置中,使用Firebase 模擬器在本地環境中運行和自動化單元測試。

如果您在 Firebase 控制台中設置 Firebase 安全規則,則可以使用Firebase 規則模擬器快速驗證行為。不過,我們建議您在將更改部署到生產環境之前使用 Firebase 模擬器進行更徹底的測試。

部署規則

使用 Firebase 控制台或 Firebase CLI 將規則部署到生產環境。請按照管理和部署 Firebase 安全規則中概述的步驟進行操作。