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 產品設定 Security Rules,以及 Security Rules 在不同 Firebase 產品中的行為差異。

開始使用

主要功能

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

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

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

如為 Cloud FirestoreCloud Storage,請使用下列 Security 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 格式的語法:Security Rules

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

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

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

實作路徑

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

後續步驟