開始使用 Firebase 安全性規則

Firebase 安全性規則可為 Cloud Firestore、即時資料庫和 Cloud Storage 中的資料提供強大且可完全自訂的防護機制。按照本指南中的步驟,您可以輕鬆開始使用規則,確保資料安全無虞,並保護應用程式免受惡意使用者的侵擾。

瞭解 Firebase 安全性規則語言

開始編寫規則前,建議您先花點時間針對目前使用的 Firebase 產品查看特定 Firebase 安全性規則語言。Cloud Storage 會使用一般運算語言 (CEL) 的超集,該超集合依賴於定義路徑上設定存取條件的 matchallow 陳述式。

請先瞭解 Firebase 安全性規則語言的核心語法

設定驗證

如果您尚未將 Firebase 驗證新增至您的應用程式,請進行這項操作。Firebase 驗證支援許多常見的驗證方法,並與 Firebase 安全性規則整合,以提供完善的驗證功能。

您可以為應用程式設定其他自訂驗證資訊。

進一步瞭解 Firebase 安全性規則和 Firebase 驗證

定義資料和規則結構

您建構資料的方式可能會影響您建構和實作規則的方式。定義資料結構時,請考量這些結構對規則結構可能造成的影響。

比方說,在 Cloud Storage 中,您可能會想要加入代表每個使用者特定角色的欄位。接著,您的規則可以讀取該欄位,並使用該欄位授予以角色為基礎的存取權。您也可以建立 Cloud Firestore 資料庫、將存取條件儲存在 Cloud Firestore 文件中,然後透過 Cloud Storage 安全性規則存取這些文件。

定義資料和規則架構時,請注意規則的串聯方式 (視產品而定)。在即時資料庫中,規則是由上而下運作,且規則較深的規則會覆寫深層的規則。如果規則授予特定路徑的讀取或寫入權限,則也會授予該路徑下所有子節點的存取權。相較之下,Cloud Firestore 和 Cloud Storage 僅會在資料階層的指定層級套用規則,並編寫明確規則來控管不同層級的存取權。

存取規則

如要查看現有規則,請使用 Firebase CLI 或 Firebase 控制台。請務必使用相同方法編輯規則,以免意外覆寫更新。如果不確定本機定義的規則是否反映最近的更新,Firebase 控制台一律會顯示最近部署的 Firebase 安全性規則版本。

如要從 Firebase 控制台存取規則,請選取專案,然後按一下左側導覽面板中的「Storage」(儲存空間)。瀏覽至正確的資料庫或儲存空間值區後,請按一下「Rules」

如要從 Firebase CLI 存取規則,請前往 firebase.json 檔案中註明的規則檔案。

撰寫基本規則

在開發應用程式和瞭解規則的過程中,請嘗試實作規則來解決一些基本用途,包括:

  • 僅限內容擁有者:限制使用者存取內容。
  • 混合存取權:限制使用者的寫入權限,但允許公開讀取。
  • 以屬性為基礎的存取權:限制特定群組或使用者的存取權。

測試規則

如果您在 Firebase 控制台中設定 Firebase 安全性規則,可以使用 Firebase 規則 Playground 快速驗證行為。不過,建議您先使用本機模擬器套件進行更全面的測試,再將變更部署至實際工作環境。

部署規則

使用 Firebase 主控台或 Firebase CLI 將規則部署至實際工作環境。請按照「管理及部署 Firebase 安全性規則」所述的步驟進行。