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

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

כדי לקבל עזרה מ-AI, מעתיקים את ההנחיה שלמטה לסוכן תכנות מבוסס-AI (כמו Gemini ב-Android Studio,‏ Antigravity,‏ Claude Code,‏ Codex ו-Cursor). אתם יכולים להתאים אישית את ההנחיה ולשפר אותה בעזרת הסוכן. מידע מפורט על ההתקנה זמין במאמר בנושא סקילים של נציגים ב-Firebase.

Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me write, validate, and deploy Firebase Security Rules to protect my app's Cloud Storage data.

הבנת השפה 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

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

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

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

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

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

גישה לכללים

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

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

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

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

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

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

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

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

פריסת כללים

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