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