ההנחיה הזו יכולה לעזור לכם ליצור ולשפר את Firebase Security Rules לאפליקציה שלכם באמצעות עוזר AI (כמו Google Antigravity). אתם יכולים להשתמש בהנחיה כדי לנסח 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 ואת Firebase CLI. הוראות מלאות זמינות במאמר בנושא התקנה, הגדרה ושילוב של 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. מתקינים את שרת ה-MCP של Firebase לפני שמשתמשים בכלים האלה כדי ליצור 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, אתם אחראים לניהול ההרשאה ולאימות הנתונים בקוד ה-Backend.
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, צריך לעיין בהוראות ההגדרה. אם אתם משתמשים ב-CLI, אתם יכולים להפעיל את המיומנויות על ידי הרצת הפקודה:
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 עם בדיקות יחידה ל-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 עם בדיקות יחידה ל-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: Copy the prompt from Cloud Firestore.
- Generate Security Rules for Cloud Storage for Firebase: Copy the prompt from Cloud Storage for Firebase.
שלב 2: בדיקת תוצאות האימות והבדיקה של Security Rules
חשוב לוודא שסוכן ה-AI לכתיבת קוד מבצע את הפעולות הבאות. אחרי הפעלת הכלים, תקבלו סיכום שנוצר על ידי 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