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

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

הסבר על השפה של כללי האבטחה של Firebase

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

כדאי להתחיל בלמידה של תחביר הליבה של שפת כללי האבטחה של Firebase.

הגדר את Authentication

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

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

מידע נוסף על כללי האבטחה של Firebase ועל Firebase Authentication

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

חשוב לבנות את הנתונים בקפידה כדי להתאים אותם לדרישות האבטחה.

הגדרת נתונים לאבטחה

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

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

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

גישה לכללים

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

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

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

כתיבת כללים בסיסיים

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

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

איך בודקים את הכללים

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

פריסת כללים

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