طلب الذكاء الاصطناعي: كتابة قواعد أمان Firebase

يمكن أن يساعد هذا الطلب مساعد الذكاء الاصطناعي (مثل 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 CLI. للاطّلاع على التعليمات الكاملة، يُرجى الرجوع إلى مقالة تثبيت Firebase Local Emulator Suite وإعداده ودمجه.
  • ننصحك بما يلي: إذا لم يسبق لك ذلك، ثبِّت Gemini CLI. توضّح التعليمات التالية كيفية تثبيت إضافة Gemini CLI واستخدامها لإنشاء Security Rules. إذا كنت تفضّل استخدام مساعد آخر مستند إلى الذكاء الاصطناعي، يمكنك نسخ الطلب ولصقه من مستودع الإضافة في المساعد الذي اخترته.
  • تستخدم هذه الإضافة Gemini CLI خادم Firebase MCP للتحقّق من صحة Firebase Security Rules التي تنشئها. يمكن أيضًا استخدام خادم MCP لتسهيل اختبار 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 (الموضّح في هذه الصفحة).

استخدام الطلب

يتوفّر هذا الطلب من إضافة Gemini CLI في Firebase Security Rules لإنشاء Security Rules والاختبارات. تحلّل هذه الإضافة رمز المصدر للمساعدة في تحديد مخططات البيانات وأنماط الوصول إلى Cloud Firestore وCloud Storage. تم تصميم هذه الأداة لإنشاء Security Rules استنادًا إلى مبدأ الامتياز الأقل، وهي تحاول رصد الثغرات الأمنية من خلال عمليات محاكاة متكررة للهجمات. للمساعدة في عملية التحقّق النهائية، توفّر هذه الأداة حزمة اختبارات وحدة أساسية باستخدام @firebase/rules-unit-testing، ما يتيح لك التحقّق من منطق الأمان محليًا باستخدام Firebase Local Emulator Suite.

يتطلّب استخدام هذه الإضافة اتّباع ثلاث خطوات موضّحة في هذا القسم:

  1. إنشاء Security Rules والاختبارات

  2. راجِع Security Rules نتائج التحقّق من الصحة والاختبار.

  3. انشر Security Rules في مشروعك على Firebase.

الخطوة 1: إنشاء Security Rules والاختبارات

ثبِّت الإضافة وشغِّلها:

  1. ثبِّت إضافة Gemini CLI باتّباع الخطوات التالية:

    gemini extensions install https://github.com/firebase/snippets-rules
  2. وقت البدء Gemini CLI:

    gemini
  3. من جذر مشروعك، شغِّل الإضافة لإنشاء Security Rules إما Cloud Firestore أو Cloud Storage:

    • إنشاء Security Rules لـ Cloud Firestore:

      /firebase-rules:firestore Generate Firebase Security Rules using PROJECT ID PROJECT_ID

      في الدليل الرئيسي، تنشئ الإضافة ملف firestore.rules ودليل rules_test جديدًا يحتوي على مشروع Node.js مع اختبارات الوحدات لملف Security Rules الذي تم إنشاؤه.

    • إنشاء Security Rules لـ Cloud Storage for Firebase:

      /firebase-rules:storage Generate Firebase Security Rules using PROJECT ID PROJECT_ID and BUCKET NAME BUCKET_NAME

      في الدليل الرئيسي، تنشئ الإضافة ملف storage.rules ودليل storage_rules_test جديدًا يحتوي على مشروع Node.js يتضمّن اختبارات الوحدات لملف Security Rules الذي تم إنشاؤه.

الخطوة 2: مراجعة نتائج التحقّق من صحة Security Rules واختباره

  1. تأكَّد من أنّ مساعد الذكاء الاصطناعي ينفّذ ما يلي: من المفترض أن تتلقّى ملخّصًا من إنشاء الذكاء الاصطناعي بعد تشغيل الإضافة.

    • التحقّق من صحة البنية: بعد إنشاء Security Rules، تتحقّق Gemini CLI تلقائيًا من صحة البنية باستخدام الأمر firebase_validate_security_rules من خادم Firebase MCP.

    • اختبارات الوحدات: بعد التحقّق من صحة البنية، تحاول Gemini CLI تنفيذ اختبارات الوحدات التي تم إنشاؤها باستخدام Firebase Local Emulator Suite.

  2. إذا لم يتم تشغيل الاختبارات تلقائيًا، ابدأ 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:rules
  • Cloud Storage for Firebase

    firebase deploy --only storage

مراجع إضافية

  • للحصول على مساعدة إضافية بشأن مستوى الأمان، يمكنك أيضًا استخدام إضافة الأمان في Gemini CLI، وهي إضافة مفتوحة المصدر تحلّل تغييرات الرموز البرمجية لتحديد المخاطر والثغرات الأمنية.