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

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

הבנת השפה Firebase Security Rules

לפני שמתחילים לכתוב כללים, כדאי להקדיש זמן כדי לבדוק את השפה הספציפית של Firebase Security Rules למוצרי Firebase שבהם אתם משתמשים. Realtime Database משתמש בתחביר שדומה ל-JavaScript ובמבנה JSON ל-Rules. לחלופין, אפשר להשתמש ב-Cloud Firestore וב-Cloud Storage כדי להשתמש בקבוצת-על של Common Expression Language ‏ (CEL) שמבוססת על הצהרות match ו-allow שמגדירות תנאי גישה בנתיב מוגדר.

מידע נוסף על השפה Firebase Security Rules

הגדר את Authentication

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

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

מידע נוסף על Firebase Security Rules ו-Firebase Authentication

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

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

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

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

גישה לכללים

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

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

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

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

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

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

בדיקת הכללים

כדי לאמת באופן מלא את התנהגות האפליקציה ואת ההגדרות של Firebase Security Rules
, אפשר להשתמש ב-Firebase Emulator כדי להריץ בדיקות יחידה בסביבה מקומית ולהפוך אותן לאוטומטיות.

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

פריסת כללים

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