Firebase Security Rules
使用彈性且可擴充的 Firebase 安全性規則,保護 Cloud Firestore、Firebase Realtime Database 和 Cloud Storage 中的資料安全。
Firebase Security Rules,防止惡意使用者存取您的資料。您可以撰寫簡單或複雜的規則,根據特定應用程式的需求,以精細程度保護應用程式的資料。
Firebase Security Rules 運用可擴充的彈性設定語言,定義使用者可存取 Realtime Database、Cloud Firestore 和 Cloud Storage 的資料。Firebase Realtime Database Security Rules 在規則定義中運用 JSON,而 Cloud Firestore Security Rules 和 Firebase Security Rules 則運用專為 Cloud Storage 打造的獨特語言,可容納更複雜的規則專屬結構。
進一步瞭解如何為應用程式中使用的特定 Firebase 產品設定 Rules,以及 Rules 在不同 Firebase 產品中的運作方式。
主要功能
| 彈性 | 根據應用程式的結構和行為,編寫適用的自訂規則。 Rules 使用可讓您運用自身資料授權存取的語言。 |
| 精細程度 | 您可以視需要設定廣泛或嚴格的規則。 |
| 獨立安全 | 由於 Rules 是在應用程式外部 (在 Firebase 控制台或 Firebase CLI 中) 定義,因此用戶端不必負責強制執行安全性,錯誤不會危及資料,而且資料一律受到保護。 |
影片廣告的運作方式為何?
Firebase Security Rules 的運作方式是比對資料庫路徑的模式,然後套用自訂條件,允許存取這些路徑的資料。所有 Firebase 產品的 Rules 都包含路徑比對元件和條件陳述式,可允許讀取或寫入存取權。您必須為應用程式中使用的每項 Firebase 產品定義 Rules。
如為 Cloud Firestore 和 Cloud 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 Firestore、Cloud Storage 或 Realtime Database。 | |
| 撰寫 Firebase Security Rules | 進一步瞭解Rules的運作方式,以及如何設定一些基本Rules | |
| 測試 Firebase Security Rules | 使用 Realtime Database 和 Cloud Firestore 模擬器測試應用程式的行為,並驗證規則,再將規則部署至實際工作環境。 | |
| 部署 Firebase Security Rules | 使用 Firebase 控制台或 Firebase CLI 將規則部署至正式環境。 |