開始使用 Firebase 安全性規則

Firebase Security Rules 可為 Cloud FirestoreRealtime DatabaseCloud Storage 中的資料提供強大且可完全自訂的保護措施。您可以輕鬆取得 開始使用 Rules,以確保您的 保護應用程式免受惡意使用者侵擾

瞭解Firebase Security Rules語言

開始撰寫規則之前,請花點時間 您使用的 Firebase 產品專屬 Firebase Security Rules 語言。 Cloud Storage 會使用超集 採用依賴 matchallow 的一般運算語言 (CEL) 陳述式,用來在已定義的路徑上設定存取條件。

首先學習 Firebase Security Rules 語言的核心語法

設定「Authentication

如果您尚未將 Firebase Authentication 新增至應用程式,請先完成這項操作。 Firebase Authentication 支援多種常見的驗證方法,且已與 Firebase Security Rules,提供全面的驗證功能。

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

進一步瞭解 Firebase Security RulesFirebase Authentication

定義資料和規則結構

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

例如,在 Cloud Storage 中,您可能會加入一個欄位,用來表示每位使用者的特定角色。這樣就能 這個欄位並用於授予以角色為基礎的存取權。您也可以建立 Cloud Firestore 資料庫,將存取條件儲存在 Cloud Firestore 文件,然後從 Cloud Storage Security Rules 存取這些文件。

定義資料和規則架構時,請記得 規則也會依產品順序排列,透過 Realtime Database, 規則由上而下運作,並透過淺層規則覆寫更深層的規則。如果規則授予特定路徑的讀取或寫入權限,則也會授予該路徑下所有子節點的存取權。相較之下,Cloud FirestoreCloud Storage 的規則只會套用至資料階層結構的特定層級,您必須撰寫明確的規則,才能控管不同層級的存取權。

存取規則

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

如要透過 Firebase 控制台存取規則,請選取專案,然後在左側導覽面板中按一下「儲存空間」。找到正確的資料庫或儲存空間值區後,請按一下 Rules

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

撰寫基本規則

開發應用程式及瞭解「Rules」的過程中, 實作 Rules 來解決一些基本用途, 包括:

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

測試規則

如果您在 Firebase 控制台中設定 Firebase Security Rules,可以使用 Firebase 規則 Playground 快速驗證行為。不過,我們建議您使用 Local Emulator Suite,再部署 變更正式環境

部署規則

請使用 Firebase 控制台或 Firebase CLI 部署規則 Google 提供端對端開發平台 可將實驗階段的機器學習模型轉換至正式版環境請按照 管理及部署 Firebase Security Rules