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