כללי אבטחה של Firebase

השתמש בכללי האבטחה הגמישים והניתנים להרחבה של Firebase כדי לאבטח את הנתונים שלך ב-Cloud Firestore, Firebase Realtime Database ו-Cloud Storage.

כללי האבטחה של Firebase עומדים בין הנתונים שלך למשתמשים זדוניים. אתה יכול לכתוב כללים פשוטים או מורכבים שמגנים על נתוני האפליקציה שלך לרמת הפירוט שהאפליקציה הספציפית שלך דורשת.

כללי האבטחה של Firebase ממנפים שפות תצורה ניתנות להרחבה וגמישות כדי להגדיר לאילו נתונים המשתמשים שלך יכולים לגשת עבור מסד נתונים בזמן אמת, Cloud Firestore ו-Cloud Storage. כללי אבטחת מסד הנתונים של Firebase בזמן אמת ממנפים את JSON בהגדרות כללים, בעוד שכללי האבטחה של Cloud Firestore וכללי האבטחה של Firebase עבור אחסון ענן ממנפים שפה ייחודית שנבנתה כדי להכיל מבנים מורכבים יותר ספציפיים לכללים.

למידע נוסף על איך להגדיר כללים עבור מוצרי Firebase הספציפיים שבהם אתה משתמש באפליקציה שלך, וכיצד התנהגות הכללים שונה בין מוצרי Firebase.

יכולות מפתח

גְמִישׁוּת כתוב כללים מותאמים אישית הגיוניים עבור המבנה וההתנהגות של האפליקציה שלך. כללים משתמשים בשפות המאפשרות לך למנף את הנתונים שלך כדי לאשר גישה.
גרעיניות הכללים שלך יכולים להיות רחבים או צרים ככל שאתה צריך.
אבטחה עצמאית מכיוון שהכללים מוגדרים מחוץ לאפליקציה שלך (במסוף Firebase או Firebase CLI), לקוחות אינם אחראים לאכיפת אבטחה, באגים אינם מתפשרים על הנתונים והנתונים שלך מוגנים תמיד.

איך הם עובדים?

כללי האבטחה של Firebase פועלים על ידי התאמת דפוס לנתיבי מסד נתונים, ולאחר מכן החלת תנאים מותאמים אישית כדי לאפשר גישה לנתונים בנתיבים אלה. לכל הכללים במוצרי Firebase יש רכיב תואם נתיב והצהרה מותנית המאפשרים גישת קריאה או כתיבה. עליך להגדיר כללים עבור כל מוצר Firebase שבו אתה משתמש באפליקציה שלך.

עבור Cloud Firestore ו-Cloud Storage, הכללים משתמשים בתחביר הבא:

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

עבור מסד נתונים בזמן אמת, כללים מבוססי JSON משתמשים בתחביר הבא:

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

כללים מיושמים כהצהרות OR , לא הצהרות AND . כתוצאה מכך, אם כללים מרובים תואמים נתיב, וכל אחד מהתנאים התואמים מעניק גישה, כללים מעניקים גישה לנתונים בנתיב זה. לכן, אם כלל רחב מעניק גישה לנתונים, לא תוכל להגביל עם כלל ספציפי יותר. עם זאת, אתה יכול להימנע מבעיה זו על ידי לוודא שהכללים שלך לא חופפים יותר מדי. דגל כללי האבטחה של Firebase חופף בנתיבים התואמים שלך כאזהרות מהדר.

כללי האבטחה של Firebase יכולים גם למנף את האימות כדי להעניק הרשאות מבוססות משתמשים, והתנאים שתקבע יכולים להיות בסיסיים מאוד או מורכבים להפליא. למד עוד על שפה והתנהגות של כללים לפני שתתחיל לכתוב כללים.

מסלול יישום

שלב את ערכות ה-SDK של המוצר הגדר את Cloud Firestore , Cloud Storage או מסד נתונים בזמן אמת עבור האפליקציה שלך.
כתוב את כללי האבטחה שלך ב-Firebase למד עוד על אופן הפעולה של כללים והגדר כמה כללים בסיסיים
בדוק את כללי האבטחה שלך ב-Firebase השתמש באמולטורים של Realtime Database ו-Cloud Firestore כדי לבדוק את התנהגות האפליקציה שלך ולאמת את הכללים שלך לפני שאתה פורס אותם לייצור.
פרוס את כללי האבטחה שלך ב-Firebase השתמש במסוף Firebase או ב-Firebase CLI כדי לפרוס את הכללים שלך לייצור.

הצעדים הבאים