يمكن أن يساعد هذا الطلب مساعد الذكاء الاصطناعي (مثل Gemini CLI) في إنشاء 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 وواجهة سطر الأوامر Firebase. للاطّلاع على التعليمات الكاملة، يُرجى الرجوع إلى مقالة تثبيت Firebase Local Emulator Suite وإعداده ودمجه.
- ننصحك بما يلي: إذا لم يسبق لك ذلك،
ثبِّت Gemini CLI.
توضّح التعليمات التالية كيفية تثبيت إضافة Firebase لـ Gemini CLI واستخدامها من أجل إنشاء Security Rules. إذا كنت تفضّل استخدام مساعد آخر مستند إلى الذكاء الاصطناعي، يمكنك نسخ طلب Cloud Firestore أو Cloud Storage for Firebase من مستودع
firebase-toolsولصقه في المساعد الذي اخترته. - يربط إضافة Firebase في Gemini CLI بخادم MCP في Firebase للوصول إلى الطلبات التي تنشئ 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، تكون أنت المسؤول عن إدارة أذونات الوصول والتحقّق من صحة البيانات في رمز الخلفية.
لا يمكن لـ "Gemini في Firebase" ضِمن وحدة تحكّم Firebase إنشاء Firebase Security Rules، حتى عند استخدام هذا الطلب. بدلاً من ذلك، استخدِم مساعدًا بديلاً يعمل بالذكاء الاصطناعي ويمكنه الوصول إلى قاعدة الرموز البرمجية، مثل Gemini CLI (الموضّح في هذه الصفحة).
استخدام الطلب
تتوفّر هذه الرسالة من خلال إمكانية Security Rules ضمن
إضافة Firebase لـ Gemini CLI
لإنشاء Security Rules والاختبارات. تحلّل هذه الإضافة رمز المصدر للمساعدة في تحديد مخططات البيانات وأنماط الوصول إلى Cloud Firestore وCloud Storage. تم تصميمها لإنشاء Security Rules استنادًا إلى مبدأ الامتياز الأقل، كما أنّها تحاول الكشف عن الثغرات الأمنية من خلال عمليات محاكاة متكررة للهجمات. للمساعدة في عملية التحقّق النهائية، توفّر هذه الأداة حزمة اختبارات وحدة أساسية باستخدام @firebase/rules-unit-testing، ما يتيح لك التحقّق من منطق الأمان محليًا باستخدام Firebase Local Emulator Suite.
يتطلّب استخدام هذه الإضافة اتّباع ثلاث خطوات موضّحة في هذا القسم:
الخطوة 1: إنشاء Security Rules والاختبارات
ثبِّت الإضافة وشغِّلها:
ثبِّت إضافة Firebase لـ Gemini CLI:
gemini extensions install https://github.com/gemini-cli-extensions/firebaseوقت البدء Gemini CLI:
geminiمن جذر مشروعك، شغِّل الإضافة لإنشاء Security Rules إما Cloud Firestore أو Cloud Storage:
إنشاء Security Rules لـ Cloud Firestore:
/firestore:generate_security_rulesفي الدليل الرئيسي، تنشئ الإضافة ملف
firestore.rulesودليلsecurity_rules_test_firestoreجديدًا يحتوي على مشروع Node.js يتضمّن اختبارات الوحدات لملف Security Rules الذي تم إنشاؤه.إنشاء Security Rules لـ Cloud Storage for Firebase:
/storage:generate_security_rulesفي الدليل الرئيسي، تنشئ الإضافة ملف
storage.rulesودليلsecurity_rules_test_storageجديدًا يحتوي على مشروع Node.js يتضمّن اختبارات الوحدات لملف Security Rules الذي تم إنشاؤه.
الخطوة 2: مراجعة نتائج التحقّق من صحة Security Rules واختباره
تأكَّد من أنّ مساعد الذكاء الاصطناعي ينفّذ ما يلي: من المفترض أن تتلقّى ملخّصًا من إنشاء الذكاء الاصطناعي بعد تشغيل الإضافة.
التحقّق من صحة البنية: بعد إنشاء Security Rules، تتحقّق Gemini CLI تلقائيًا من صحة البنية باستخدام الأمر
firebase_validate_security_rulesمن خادم Firebase MCP.اختبارات الوحدات: بعد التحقّق من صحة البنية، تحاول Gemini CLI تنفيذ اختبارات الوحدات التي تم إنشاؤها باستخدام Firebase Local Emulator Suite.
إذا لم يتم تشغيل الاختبارات تلقائيًا، ابدأ Firebase Local Emulator Suite في نافذة طرفية منفصلة، ثم استخدِم أحد الخيارات التالية لتشغيل الاختبارات:
الخيار 1: توجيه Gemini CLI لإجراء الاختبارات:
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 التالية لنشر Security Rules في مشروعك على Firebase:
Cloud Firestore
firebase deploy --only firestore:rulesCloud Storage for Firebase
firebase deploy --only storage
مراجع إضافية
- للحصول على مساعدة إضافية بشأن مستوى الأمان، يمكنك أيضًا استخدام إضافة الأمان في Gemini CLI، وهي إضافة مفتوحة المصدر تحلّل تغييرات الرموز البرمجية لتحديد المخاطر والثغرات الأمنية.