開始使用 Firebase 安全性規則

Firebase Security RulesCloud FirestoreRealtime DatabaseCloud Storage 中的資料提供強大且完全可自訂的保護措施。請按照本指南中的步驟操作,輕鬆開始使用 Rules,確保資料安全無虞,並保護應用程式免於惡意使用者侵擾。

瞭解 Firebase Security Rules 種語言

開始編寫規則前,請花點時間查看所用 Firebase 產品的特定 Firebase Security Rules 語言。Realtime Database 採用類似 JavaScript 的語法和 JSON 結構。Rules或者,Cloud FirestoreCloud Storage 會運用一般運算語言 (CEL) 的超集,並依據 matchallow 陳述式,在定義的路徑中設定存取條件。

進一步瞭解 Firebase Security Rules 語言

設定「Authentication

如果尚未完成這項操作,請找出具有 Firebase Authentication 的使用者。 Firebase Authentication 支援多種常見的驗證方法,並與 Firebase Security Rules 整合,提供完整的驗證功能。

您可以為應用程式設定額外的自訂驗證資訊。

進一步瞭解 Firebase Security RulesFirebase Authentication

定義資料和規則結構

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

舉例來說,在 Cloud Firestore 中,您可能想加入一個欄位,指出每位使用者的特定角色。然後,規則就能讀取該欄位,並用來授予角色型存取權。

定義資料和規則架構時,請注意,如果任何規則授予資料集存取權,Firebase Security Rules 就會授予該資料集存取權。換句話說,如果您已在資料階層的較高層級授予存取權,就無法在子路徑中調整存取權。

存取規則

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

如要從 Firebase 控制台存取規則,請選取專案,然後前往 Realtime DatabaseCloud Firestore 或「Storage」。進入正確的資料庫或儲存空間 bucket 後,按一下「規則」

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

撰寫基本規則

開發應用程式並瞭解 Rules 時,請嘗試實作幾項基本安全性規則,包括下列用途:

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

測試規則

如要完整驗證應用程式的行為並確認 Firebase Security Rules
設定,請使用 Firebase 模擬器在本機環境中執行及自動化單元測試。

如果您在 Firebase 控制台中設定 Firebase Security Rules,可以使用 Firebase 規則模擬器快速驗證行為。不過,建議您先使用 Firebase 模擬器進行更徹底的測試,再將變更部署至正式環境。

部署規則

使用 Firebase 控制台或 Firebase CLI 將規則部署至正式環境。請按照「管理及部署 Firebase Security Rules」一文中的步驟操作。