Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now

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

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

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

כללי האבטחה של Firebase ממנפים שפות תצורה נרחבות וגמישות כדי להגדיר לאילו נתונים המשתמשים יכולים לגשת עבור מסד נתונים בזמן אמת, ענן Firestore ואחסון ענן. כללי מסדי נתונים בזמן אמת של 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 השתמש במאמיני מסד הנתונים בזמן אמת ובענן Firestore כדי לבדוק את התנהגות האפליקציה שלך ולאמת את הכללים שלך לפני שתפרוס אותם לייצור.
פרוס את כללי האבטחה שלך ב- Firebase השתמש בקונסולת Firebase או ב- Firebase CLI כדי לפרוס את הכללים שלך לייצור.

הצעדים הבאים