קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
Firebase Security Rules
plat_iosplat_androidplat_webplat_flutterplat_node
אתם יכולים להשתמש בכללי האבטחה הגמישים והניתנים להתאמה של 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 נעשה שימוש בשפה ייחודית שנועדה להתאים למבנים מורכבים יותר שספציפיים לכללים.
מידע נוסף על הגדרת Rules למוצרי Firebase הספציפיים שבהם אתם משתמשים באפליקציה, ועל ההבדלים בהתנהגות של Rules במוצרי Firebase השונים.
כדאי לכתוב כללים מותאמים אישית שמתאימים למבנה ולהתנהגות של האפליקציה.
Rules משתמשים בשפות שמאפשרות לכם להשתמש בנתונים שלכם כדי לאשר גישה.
רמת הפירוט
הכללים יכולים להיות רחבים או צרים ככל הצורך.
אבטחה עצמאית
כי ההגדרות של Rules מוגדרות מחוץ לאפליקציה (במסוף Firebase או
CLI של Firebase), לקוחות
לא אחראים לאכיפת האבטחה, באגים לא פוגעים בנתונים,
הנתונים שלכם תמיד מוגנים.
איך הם פועלים?
הפונקציה Firebase Security Rules פועלת על ידי התאמה של תבנית לנתיבים של מסד נתונים, ואז החלה
תנאים מותאמים אישית כדי לאפשר גישה לנתונים בנתיבים האלה. לכל Rules במוצרי Firebase יש רכיב להתאמת נתיב ובהצהרה מותנית שמאפשרת גישה לקריאה או לכתיבה. צריך להגדיר Rules עבור
כל מוצר של Firebase שבו אתם משתמשים באפליקציה.
בשביל 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, ב-Rules מבוסס-ה-JSON נעשה שימוש בתחביר הבא:
{
"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.
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-24 (שעון UTC)."],[],[],null,["Firebase Security Rules \nplat_ios plat_android plat_web plat_flutter plat_node \nUse our flexible, extensible Firebase Security Rules to\nsecure your data in Cloud Firestore, Firebase Realtime Database, and\nCloud Storage.\n\nFirebase Security Rules stand between your data and malicious users. You can write simple or\ncomplex rules that protect your app's data to the level of granularity that\nyour specific app requires.\n\nFirebase Security Rules leverage\nextensible, flexible configuration languages to define what data your users\ncan access for Realtime Database, Cloud Firestore, and Cloud Storage.\nFirebase Realtime Database Security Rules leverage JSON in rule definitions, while\nCloud Firestore Security Rules and Firebase Security Rules for Cloud Storage leverage a unique\nlanguage built to accommodate more complex rules-specific structures.\n\nLearn more about how to set up Rules for the specific Firebase products\nyou use in your app, and how Rules behavior differs across Firebase\nproducts.\n\n[Get started](/docs/rules/get-started)\n\nKey capabilities\n\n|----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Flexibility | Write custom rules that make sense for your app's structure and behavior. Rules use languages that allow you to leverage your own data to authorize access. |\n| Granularity | Your rules can be as broad or as narrow as you need. |\n| Independent security | Because Rules are defined outside of your app (in the Firebase console or Firebase CLI), clients aren't responsible for enforcing security, bugs don't compromise data, and your data is always protected. |\n\nHow do they work?\n\nFirebase Security Rules work by matching a pattern against database paths, and then applying\ncustom conditions to allow access to data at those paths. All Rules\nacross Firebase products have a path-matching component and a conditional\nstatement allowing read or write access. You must define Rules for\neach Firebase product you use in your app.\n\nFor Cloud Firestore and Cloud Storage, Rules use the following\nsyntax: \n\n service \u003c\u003cname\u003e\u003e {\n // Match the resource path.\n match \u003c\u003cpath\u003e\u003e {\n // Allow the request if the following conditions are true.\n allow \u003c\u003cmethods\u003e\u003e : if \u003c\u003ccondition\u003e\u003e\n }\n }\n\nFor Realtime Database, JSON-based Rules use the following syntax: \n\n {\n \"rules\": {\n \"\u003c\u003cpath\u003e\u003e\": {\n // Allow the request if the condition for each method is true.\n \".read\": \u003c\u003ccondition\u003e\u003e,\n \".write\": \u003c\u003ccondition\u003e\u003e\n }\n }\n }\n\nRules are applied as `OR` statements, not `AND` statements.\nConsequently, if multiple rules match a path, and any of the matched\nconditions grants access, Rules grant access to the data at that\npath. Therefore, if a broad rule grants access to data, you can't restrict with\na more specific rule. You can, however, avoid this problem by making sure your\nRules don't overlap too much. Firebase Security Rules flag overlaps in your\nmatched paths as compiler warnings.\n\nFirebase Security Rules can also leverage Authentication to grant user-based permissions, and the\nconditions you set can be very basic or incredibly complex. Learn more\nabout Rules [language](/docs/rules/rules-language) and [behavior](/docs/rules/rules-behavior)\nbefore you start writing Rules.\n\nImplementation path\n\n|---|-------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|\n| | Integrate the product SDKs | Set up [Cloud Firestore](/docs/firestore), [Cloud Storage](/docs/storage), or [Realtime Database](/docs/database) for your app. |\n| | Write your Firebase Security Rules | Learn more about [how Rules work](/docs/rules/rules-behavior) and [set up some basic Rules](/docs/rules/basics) |\n| | Test your Firebase Security Rules | Use the Realtime Database and Cloud Firestore emulators to test your app's behavior and validate your rules before you deploy them to production. |\n| | Deploy your Firebase Security Rules | Use the Firebase console or the Firebase CLI to deploy your rules to production. |\n\nNext steps\n\n- [Understand the Firebase Security Rules language](/docs/rules/rules-language).\n- Learn more about [how Firebase Security Rules work](/docs/rules/rules-behavior).\n- Explore the [common mistakes you should avoid](/docs/rules/insecure-rules)."]]