כללי האבטחה של 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 ופריסתם.