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 Security Rules שנפרסה.
כדי לגשת לכללים ממסוף Firebase, בוחרים לפרויקט, ואז לנווט אל Realtime Database, Cloud Firestore או אחסון. אחרי שמגיעים למסד הנתונים או האחסון הנכונים, לוחצים על כללים. בקטגוריה שלכם.
כדי לגשת לכללים מה-CLI של Firebase, צריך לעבור אל מצוין קובץ הכללים בקובץ firebase.json.
כתבו כללים בסיסיים
במהלך הפיתוח של האפליקציה וההיכרות עם Rules, כדאי לנסות להטמיע כמה כללי אבטחה בסיסיים, כולל התרחישי לדוגמה הבאים:
- בעלי התוכן בלבד: הגבלת הגישה לתוכן של המשתמש.
- גישה מעורבת:הגבלת גישת הכתיבה של המשתמש, אבל הרשאת גישה ציבורית לקריאה.
- גישה מבוססת-מאפיין: הגבלת הגישה לקבוצה או לסוג של משתמשים.
בדיקת הכללים
כדי לאמת את התנהגות האפליקציה ולאמת את Firebase Security Rules
משתמשים באמולטור Firebase כדי להריץ יחידה ולהפוך אותה לאוטומטית
בסביבה מקומית.
אם מגדירים את Firebase Security Rules במסוף Firebase, אפשר להשתמש ב- סימולטור הכללים של Firebase כדי לאמת במהירות את ההתנהגות. אבל אנחנו להמליץ על בדיקה יסודית יותר באמצעות אמולטור Firebase לפני פריסת שינויים בסביבת הייצור.
פריסת כללים
משתמשים במסוף Firebase או ב-CLI של Firebase כדי לפרוס את הכללים בסביבת הייצור. פועלים לפי השלבים שמפורטים בקטע ניהול ופריסה של Firebase Security Rules.