מתחילים לעבוד עם כללי אבטחה של 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 הקיימים, אפשר להשתמש ב-CLI של Firebase או במסוף 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.