מתחילים לעבוד עם כללי אבטחה של Firebase

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

הסבר על השפה של כללי האבטחה של Firebase

לפני שמתחילים לכתוב כללים, כדאי להקדיש זמן כדי לקרוא את השפה הספציפית של כללי האבטחה של Firebase למוצרי Firebase שבהם אתם משתמשים. Realtime Database משתמש בתחביר שדומה ל-JavaScript ובמבנה JSON ל-Rules.

מומלץ להתחיל ללמוד את התחביר הבסיסי של שפת כללי האבטחה של Firebase.

הגדר את Authentication

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

אתם יכולים להגדיר פרטי אימות נוספים בהתאמה אישית לאפליקציה.

מידע נוסף על כללי האבטחה של Firebase ו-Firebase Authentication

הגדרת המבנים של הנתונים והכללים

הגדרת נתונים לאבטחה

האופן שבו תבנו את המבנה של הנתונים עשוי להשפיע על האופן שבו תבנו את הכללים ותטמיעו אותם. כשמגדירים את מבני הנתונים, חשוב להביא בחשבון את ההשלכות שלהם על המבנה של Rules.

לדוגמה, ב-Realtime Database, יכול להיות שתרצו לכלול שדה שמציין תפקיד ספציפי לכל משתמש. לאחר מכן, הכללים יוכלו לקרוא את השדה הזה ולהשתמש בו כדי להעניק גישה מבוססת-תפקיד.

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

גישה לכללים

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

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

כדי לגשת לכללים מ-CLI של Firebase, עוברים לקובץ הכללים שמופיע בקובץ firebase.json.

כתיבה של כללים בסיסיים

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

  • בעלי התוכן בלבד: הגבלת הגישה של משתמשים לתוכן.
  • גישה משולבת: הגבלת הרשאת הכתיבה לפי משתמש, אבל מתן הרשאת קריאה לכולם.
  • גישה מבוססת-מאפיין: הגבלת הגישה לקבוצה או לסוג של משתמשים.

בדיקת הכללים

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

פריסת כללים

אפשר לפרוס את הכללים בסביבת הייצור באמצעות מסוף Firebase או ה-CLI של Firebase. פועלים לפי השלבים שמפורטים במאמר ניהול ופריסה של כללי אבטחה של Firebase.