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