Firebase Security Rules

使用彈性且可擴充的 Firebase 安全性規則,保護 Cloud FirestoreFirebase Realtime DatabaseCloud Storage 中的資料安全。

Firebase Security Rules,防止惡意使用者存取您的資料。您可以撰寫簡單或複雜的規則,根據特定應用程式的需求,以精細程度保護應用程式的資料。

Firebase Security Rules 運用可擴充的彈性設定語言,定義使用者可存取 Realtime DatabaseCloud FirestoreCloud Storage 的資料。Firebase Realtime Database Security Rules 在規則定義中運用 JSON,而 Cloud Firestore Security RulesFirebase Security Rules 則運用專為 Cloud Storage 打造的獨特語言,可容納更複雜的規則專屬結構。

進一步瞭解如何為應用程式中使用的特定 Firebase 產品設定 Rules,以及 Rules 在不同 Firebase 產品中的運作方式。

開始使用

主要功能

彈性 根據應用程式的結構和行為,編寫適用的自訂規則。 Rules 使用可讓您運用自身資料授權存取的語言。
精細程度 您可以視需要設定廣泛或嚴格的規則。
獨立安全 由於 Rules 是在應用程式外部 (在 Firebase 控制台或 Firebase CLI 中) 定義,因此用戶端不必負責強制執行安全性,錯誤不會危及資料,而且資料一律受到保護。

影片廣告的運作方式為何?

Firebase Security Rules 的運作方式是比對資料庫路徑的模式,然後套用自訂條件,允許存取這些路徑的資料。所有 Firebase 產品的 Rules 都包含路徑比對元件和條件陳述式,可允許讀取或寫入存取權。您必須為應用程式中使用的每項 Firebase 產品定義 Rules

如為 Cloud FirestoreCloud Storage,請使用下列 Rules 語法:

service <<name>> {
  // Match the resource path.
  match <<path>> {
    // Allow the request if the following conditions are true.
    allow <<methods>> : if <<condition>>
  }
}

如要使用 Realtime Database,請使用下列 JSON 格式的語法:Rules

{
  "rules": {
    "<<path>>": {
    // Allow the request if the condition for each method is true.
      ".read": <<condition>>,
      ".write": <<condition>>
    }
  }
}

Rules 會套用為 OR 陳述式,而非 AND 陳述式。 因此,如果路徑符合多項規則,且任何相符條件授予存取權,則Rules授予該路徑資料的存取權。因此,如果廣泛規則授予資料存取權,您就無法使用更具體的規則加以限制。不過,只要確保 Rules 不會過度重疊,即可避免這個問題。Firebase Security Rules 標記在相符路徑中重疊,並以編譯器警告的形式顯示。

Firebase Security Rules 也可以運用 Authentication 授予使用者權限,而您設定的條件可以非常基本,也可以非常複雜。開始編寫 Rules 前,請先進一步瞭解Rules 語言行為

實作路徑

整合產品 SDK 為應用程式設定 Cloud FirestoreCloud StorageRealtime Database
撰寫 Firebase Security Rules 進一步瞭解Rules的運作方式,以及如何設定一些基本Rules
測試 Firebase Security Rules 使用 Realtime DatabaseCloud Firestore 模擬器測試應用程式的行為,並驗證規則,再將規則部署至實際工作環境。
部署 Firebase Security Rules 使用 Firebase 控制台或 Firebase CLI 將規則部署至正式環境。

後續步驟