ההנחיה הזו יכולה לעזור לעוזר הדיגיטלי מבוסס-AI (כמו Google Antigravity) ליצור ולשפר את Firebase Security Rules לאפליקציה. אתם יכולים להשתמש בהנחיה כדי לנסח Security Rules לתרחישים נפוצים, כמו מתן גישה ספציפית למשתמשים, הטמעת הרשאות מבוססות-תפקידים ואימות נתונים.
ההנחיה הזו מתמקדת ביצירת Security Rules עבור:
- Cloud Firestore: אבטחת אוספים ומסמכים על סמך הלוגיקה של האפליקציה.
- Cloud Storage for Firebase: אימות הרשאות הגישה לקבצים ששמורים אצלכם.
ההנחיה הזו יכולה לעזור לכם להתחיל עם מצב אבטחה חזק, אבל תמיד כדאי לבדוק את Security Rules ביסודיות לפני שפורסים אותו בסביבת הייצור. מידע נוסף על בדיקת Security Rules זמין במאמר תחילת העבודה עם Firebase Security Rules: בדיקת Security Rules.
דרישות מוקדמות
- חשוב להכיר את השיטות המומלצות של Firebase Security Rules.
- כדי להריץ בדיקות יחידה של Firebase Security Rules ולהשתמש ב-Firebase Local Emulator Suite, צריך להתקין את Node.js ואת ה-CLI של Firebase. הוראות מלאות מפורטות במאמר התקנה, הגדרה ושילוב של Firebase Local Emulator Suite.
- מומלץ: אם עדיין לא עשיתם את זה, התקינו את Antigravity.
בהוראות הבאות מוסבר איך להפעיל את היכולות של סוכן Firebase ואת שרת ה-MCP כדי ליצור Security Rules. אם אתם מעדיפים להשתמש בסוכן תכנות אחר מבוסס-AI, אתם יכולים להעתיק ולהדביק את הפרומפט של Cloud Firestore או של Cloud Storage for Firebase ממאגר
firebase-toolsאל סוכן התכנות מבוסס-AI שבחרתם. - הסקילים האג'נטיים ב-Firebase ושרת ה-MCP פועלים יחד כדי לגשת להנחיות שיוצרות ומאמתות את Firebase Security Rules, ועוזרים בבדיקה ובפריסה של Security Rules. התקנת שרת Firebase MCP לפני השימוש בכלים האלה ליצירת Firebase Security Rules.
מגבלות
אנחנו פועלים כל הזמן כדי לשפר את חוויית השימוש, ולכן יכול להיות שרשימת המגבלות הזו תשתנה. מומלץ לחזור לכאן לעיתים קרובות כדי לבדוק אם יש עדכונים.
ההנחיה נועדה ליצור Firebase Security Rules עבור Cloud Firestore ו-Cloud Storage for Firebase. עדיין אין לו יכולת ליצור Security Rules עבור Firebase Realtime Database.
Firebase Security Rules לא מופעלות כשניגשים למסד הנתונים או לקטגוריה משרת או מסביבת קצה עורפית אחרת, למשל כשמשתמשים ב-Firebase Admin SDK. אם אתם משתמשים ב-Admin SDK, אתם אחראים לניהול ההרשאה ולאימות הנתונים בקוד העורפי.
Gemini ב-Firebase במסוף Firebase לא יכול ליצור Firebase Security Rules, גם כשמשתמשים בהנחיה הזו. במקום זאת, השתמשו בעוזר אישי אחר מבוסס-AI שיש לו גישה לבסיס הקוד שלכם, כמו Antigravity (שמתואר בדף הזה).
שימוש בפרומפט
היכולת הזו זמינה כשמשתמשים בשרת ה-MCP של Firebase ובסקיל אג'נטי ב-Firebase עם עוזר AI תואם (כמו Antigravity) כדי ליצור את Security Rules והבדיקות. הכלים האלה מנתחים את קוד המקור כדי לזהות סכימות של נתונים ודפוסי גישה ל-Cloud Firestore ול-Cloud Storage. הם נועדו ליצור טיוטות של Security Rules על סמך העיקרון של הרשאות מינימליות, ולנסות לחשוף נקודות חולשה באמצעות סימולציות חוזרות של "מתקפות". כדי לעזור באימות הסופי, הם מספקים חבילת מקרים לבדיקה ראשונית באמצעות @firebase/rules-unit-testing, שמאפשרת לאמת את לוגיקת האבטחה באופן מקומי באמצעות Firebase Local Emulator Suite.
כדי להשתמש בכלים האלה, צריך לבצע את שלושת השלבים שמתוארים בקטע הזה:
שלב 1: יוצרים Security Rules ובדיקות
מגדירים ומפעילים את הכלים:
מפעילים את הסקילים האג'נטיים ב-Firebase:
Google Antigravity: כדי להתקין את הפלאגין של Firebase מ-Antigravity Marketplace, צריך לפעול לפי הוראות ההגדרה. אפשר גם להתקין את המיומנויות ברמת הפרויקט באמצעות הפקודה:
npx skills add firebase/agent-skills --agent=antigravityסוכני תכנות אחרים מבוססי-AI: פועלים לפי ההוראות בנושא יכולות של סוכנים ושרת MCP.
מפעילים את העוזר האישי מבוסס-AI (לדוגמה, מריצים את הפקודה
agyבטרמינל עבור ה-CLI, או פותחים את אפליקציית שולחן העבודה).מהשורש של הפרויקט, מבקשים מהסוכן ליצור Security Rules עבור Cloud Firestore או Cloud Storage, בהתאם לאופן שבו סוכן ה-AI לתכנות יוצר אינטראקציה עם הנחיות MCP:
לסוכני תכנות שמשתמשים בשפה טבעית (כמו Antigravity), נותנים לסוכן הנחיה בשפה טבעית.
יצירת Security Rules עבור Cloud Firestore:
Generate Firestore security rules for this project, then run the unit tests.בספריית האם, הנציג יוצר קובץ
firestore.rulesוספרייתsecurity_rules_test_firestoreחדשה שמכילה פרויקט Node.js עם בדיקות יחידה (unit testing) ל-Security Rules שנוצר.יצירת Security Rules עבור Cloud Storage for Firebase:
Generate Cloud Storage security rules for this project, then run the unit tests.בספריית האם, הנציג יוצר קובץ
storage.rulesוספרייתsecurity_rules_test_storageחדשה שמכילה פרויקט Node.js עם בדיקות יחידה (unit testing) ל-Security Rules שנוצר.
בסוכני תכנות שתומכים בפקודות דרך שורת הפקודות (כמו Claude Code), משתמשים בפקודות הבאות.
יצירת Security Rules עבור Cloud Firestore:
/firestore:generate_security_rulesיצירת Security Rules עבור Cloud Storage for Firebase:
/storage:generate_security_rules
בסוכני תכנות שלא תומכים בשילוב פרומפטים של MCP, אתם יכולים להעתיק את תבנית הפרומפט הגולמית מהמאגר של
firebase-toolsולהדביק אותה בצ'אט של הסוכן.- Generate Security Rules for Cloud Firestore: מעתיקים את הפרומפט מ-Cloud Firestore.
- יצירת Security Rules עבור Cloud Storage for Firebase: מעתיקים את ההנחיה מ-Cloud Storage for Firebase.
שלב 2: בדיקת תוצאות האימות והבדיקה של Security Rules
חשוב לוודא שסוכן ה-AI לתכנות מבצע את הפעולות הבאות. אחרי שהכלים יופעלו, תקבלו סיכום שנוצר.
אימות תחביר: אחרי שנוצר Security Rules, סוכן ה-AI לתכנות מאמת באופן אוטומטי את התחביר באמצעות הפקודה
firebase_validate_security_rulesמשרת ה-MCP של Firebase.בדיקות יחידה: אחרי אימות התחביר, סוכן ה-AI לתכנות מנסה להריץ את בדיקות היחידה שנוצרו באמצעות Firebase Local Emulator Suite.
אם הבדיקות לא פועלות באופן אוטומטי, מפעילים את Firebase Local Emulator Suite בטרמינל נפרד, ואז משתמשים באחת מהאפשרויות הבאות כדי להריץ את הבדיקות:
אפשרות 1: מנחים את העוזר האישי מבוסס-AI להריץ בדיקות:
Firebase Emulator Suite is running in a separate terminal. Please execute the tests.אפשרות 2: מריצים בדיקות באופן ידני לפי ההוראות בקובץ
README.mdבספרייהrules_testאוstorage_rules_test.
שלב 3: פורסים את Security Rules בפרויקט ב-Firebase
אם מרוצים מהתוצאה של Security Rules שנוצר, משתמשים בפקודות הבאות של Firebase CLI כדי לפרוס את Security Rules בפרויקט Firebase:
Cloud Firestore
firebase deploy --only firestore:rulesCloud Storage for Firebase
firebase deploy --only storage