يمكن أن يساعد هذا الطلب مساعدك المستند إلى الذكاء الاصطناعي، مثل Gemini CLI، في إنشاء Firebase Security Rules وتحسينه لتطبيقك. يمكنك استخدام الطلب لإنشاء مسودة Rules لحالات الاستخدام الشائعة، مثل منح إذن وصول خاص بمستخدم معيّن، وتنفيذ أذونات مستندة إلى الأدوار، والتحقّق من صحة البيانات.
تركز هذه المطالبة على إنشاء Rules لما يلي:
- Cloud Firestore: يمكنك تأمين المجموعات والمستندات استنادًا إلى منطق تطبيقك.
- Cloud Storage for Firebase: التحقّق من صحة أذونات الوصول إلى الملفات المخزَّنة
يمكن أن يساعدك استخدام هذا الطلب في البدء بوضع أمان قوي، ولكن عليك دائمًا اختبار Rules جيدًا قبل نشره في بيئة الإنتاج. لمزيد من المعلومات حول اختبار Rules، يُرجى مراجعة مقالة بدء استخدام Firebase Security Rules: اختبار القواعد.
المتطلبات الأساسية
- تعرَّف على أفضل الممارسات المتعلّقة بقواعد الأمان.
- لتنفيذ اختبارات الوحدات لـ Firebase Security Rules واستخدام Firebase Local Emulator Suite، عليك تثبيت Node.js وواجهة سطر الأوامر Firebase. للاطّلاع على التعليمات الكاملة، يُرجى الرجوع إلى تثبيت Local Emulator Suite وإعداده ودمجه.
- ننصحك بما يلي: إذا لم يسبق لك ذلك، ثبِّت Gemini CLI. توضّح التعليمات التالية كيفية تثبيت Gemini CLI إضافة لإنشاء Rules واستخدامها. إذا كنت تفضّل استخدام مساعد آخر يعمل بالذكاء الاصطناعي، يمكنك نسخ الطلب ولصقه من المستودع في المساعد الذي اخترته.
- تستخدم هذه الإضافة Gemini CLI خادم Firebase MCP للتحقّق من صحة Firebase Security Rules التي تنشئها. يمكن أيضًا استخدام خادم MCP لتسهيل اختبار Rules ونشره. ثبِّت خادم MCP في Firebase قبل استخدام الإضافة لإنشاء Firebase Security Rules.
القيود
نحن نعمل بنشاط على تحسين هذه التجربة، لذا قد تتغيّر قائمة القيود هذه. يُرجى مراجعة هذه الصفحة بشكل متكرر للاطّلاع على آخر الأخبار.
- يتعذّر على "Gemini في Firebase" إنشاء Firebase Security Rules. استخدام مساعد آخر مستنِد إلى الذكاء الاصطناعي، مثل Gemini CLI
- تم تصميم الطلب لإنشاء Firebase Security Rules لـ Cloud Firestore وCloud Storage for Firebase. لا يمكنه بعد إنشاء Rules لـ Firebase Realtime Database.
- لا يتم استدعاء Firebase Security Rules عند الوصول إلى قاعدة البيانات أو الحزمة من خادم أو بيئة خلفية أخرى، مثلاً عند استخدام Firebase Admin SDK. إذا كنت تستخدم Admin SDK، ستكون مسؤولاً عن إدارة عملية منح الإذن والتحقّق من صحة البيانات في رمز الخلفية.
استخدام الطلب
استخدِم الإضافة التجريبية Gemini CLI لـ Firebase Security Rules لإنشاء القواعد والاختبارات.
يحلّل هذا الامتداد رمز المصدر للمساعدة في تحديد مخططات البيانات وأنماط الوصول إلى Cloud Firestore وCloud Storage. تم تصميمها لإنشاء Rules استنادًا إلى مبدأ الحدّ الأدنى من الأذونات المميزة، كما أنّها تحاول الكشف عن الثغرات الأمنية من خلال عمليات محاكاة متكرّرة "للهجمات". للمساعدة في عملية التحقّق النهائية، توفّر هذه الأداة مجموعة اختبارات وحدة أساسية باستخدام
@firebase/rules-unit-testing، ما يتيح لك التحقّق من منطق الأمان محليًا باستخدام "مجموعة أدوات المحاكاة المحلية" من Firebase.لتثبيت الإضافة واستخدامها، اتّبِع الخطوات التالية:
ثبِّت إضافة Gemini CLI باتّباع الخطوات التالية:
gemini extensions install https://github.com/firebase/snippets-rulesفتح Gemini CLI
gemini
من جذر مشروعك، شغِّل الإضافة لإنشاء قواعد Cloud Firestore:
/firebase-rules:firestore Generate rules using PROJECT ID PROJECT_IDأو إنشاء قواعد لـ Cloud Storage:
/firebase-rules:storage Generate rules using PROJECT ID PROJECT_ID and BUCKET NAME BUCKET_NAME
تنشئ الإضافة الدليل
rules_testلـ Cloud Firestore أو الدليلstorage_rules_testلـ Cloud Storage في جذر مشروعك. يحتوي هذا الدليل الجديد على ملف.rulesالذي تم إنشاؤه بالإضافة إلى مشروع Node.js يتضمّن اختبارات الوحدات.راجِع نتائج التحقّق من صحة القواعد والاختبار:
- التحقّق من صحة البنية: بعد إنشاء القواعد، يتحقّق Gemini CLI تلقائيًا من صحة البنية باستخدام الأمر
firebase_validate_security_rulesمن خادم Firebase MCP. - اختبارات الوحدة: بعد التحقّق من صحة البنية، تحاول Gemini CLI تنفيذ اختبارات الوحدة التي تم إنشاؤها باستخدام Firebase Local Emulator Suite. لتشغيل الاختبارات، عليك تشغيل Firebase Local Emulator Suite في وحدة طرفية منفصلة.
إذا لم يتم تشغيل الاختبارات تلقائيًا، ابدأ Firebase Local Emulator Suite في نافذة طرفية منفصلة، ثم استخدِم أحد الخيارَين التاليَين لتشغيل الاختبارات:
* Instruct Gemini CLI to run tests: ```none Firebase Emulator Suite is running in a separate terminal. Please execute the tests. ``` * Run tests manually by following the instructions in the `README.md` file in the `rules_test` or `storage_rules_test` directory.- التحقّق من صحة البنية: بعد إنشاء القواعد، يتحقّق Gemini CLI تلقائيًا من صحة البنية باستخدام الأمر
عندما تصبح راضيًا عن نتيجة Rules التي تم إنشاؤها، استخدِم أمر Firebase CLI التالي لنشر Rules.
Cloud Firestore
firebase deploy --only firestore:rulesCloud Storage
firebase deploy --only storage
مراجع إضافية
- للحصول على مساعدة إضافية بشأن مستوى الأمان، يمكنك أيضًا استخدام إضافة الأمان في Gemini CLI، وهي إضافة مفتوحة المصدر تحلّل تغييرات الرموز البرمجية لتحديد المخاطر المتعلقة بالأمان والثغرات الأمنية.