Firebase Security Rules 可為 Cloud Firestore、Realtime Database 和 Cloud Storage 中的資料提供強大且可完全自訂的保護措施。您可以輕鬆取得 開始使用 Rules,以確保您的 保護應用程式免受惡意使用者侵擾
瞭解Firebase Security Rules語言
開始撰寫規則之前,請花點時間
您使用的 Firebase 產品專屬 Firebase Security Rules 語言。
Cloud Storage 會使用超集
採用依賴 match
和 allow
的一般運算語言 (CEL)
陳述式,用來在已定義的路徑上設定存取條件。
首先學習 Firebase Security Rules 語言的核心語法。
設定「Authentication」
如果您尚未將 Firebase Authentication 新增至應用程式,請先完成這項操作。 Firebase Authentication 支援多種常見的驗證方法,且已與 Firebase Security Rules,提供全面的驗證功能。
您可以為應用程式設定其他自訂驗證資訊。
進一步瞭解 Firebase Security Rules 與 Firebase Authentication。
定義資料和規則結構
您建構資料的方式可能會影響您建構和追蹤資料的 並實作規則定義資料結構時,請考量這些結構對 Rules 結構的影響。
例如,在 Cloud Storage 中,您可能會加入一個欄位,用來表示每位使用者的特定角色。這樣就能 這個欄位並用於授予以角色為基礎的存取權。您也可以建立 Cloud Firestore 資料庫,將存取條件儲存在 Cloud Firestore 文件,然後從 Cloud Storage Security Rules 存取這些文件。
定義資料和規則架構時,請記得 規則也會依產品順序排列,透過 Realtime Database, 規則由上而下運作,並透過淺層規則覆寫更深層的規則。如果規則授予特定路徑的讀取或寫入權限,則也會授予該路徑下所有子節點的存取權。相較之下,Cloud Firestore 和 Cloud 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。