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

يمكن أن يساعد هذا الطلب مساعدك المستند إلى الذكاء الاصطناعي (مثل 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 وFirebase CLI. للحصول على التعليمات الكاملة، يُرجى الرجوع إلى تثبيت Firebase Local Emulator Suite وضبطه ودمجه.
  • إجراء مقترَح: إذا لم يسبق لك ذلك، ثبِّت Antigravity. توضّح التعليمات التالية كيفية تفعيل واستخدام مهارات وكلاء Firebase وخادم MCP لإنشاء Security Rules. إذا كنت تفضّل استخدام وكيل ترميز آخر يعمل بالذكاء الاصطناعي، يمكنك نسخ الطلب الخاص بـ Cloud Firestore أو Cloud Storage for Firebase من مستودع firebase-tools ولصقه في وكيل الترميز الذي اخترته.
  • تعمل مهارات وكيل 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 are not called when accessing your database or bucket from a server or other backend environment, such as when using the Firebase Admin SDK. إذا كنت تستخدم Admin SDK، فأنت مسؤول عن إدارة التفويض والتحقّق من صحة البيانات في رمز الواجهة الخلفية.

  • ‫Gemini في Firebase ضمن وحدة تحكّم Firebase غير قادر على إنشاء Firebase Security Rules، حتى عند استخدام هذا الطلب. بدلاً من ذلك، استخدِم مساعدًا بديلاً يعمل بالذكاء الاصطناعي ويمكنه الوصول إلى قاعدة الرموز البرمجية، مثل Antigravity (الموضّح في هذه الصفحة).

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

تتوفّر هذه الميزة عند استخدام خادم Firebase MCP ومهارات وكلاء Firebase مع مساعد مستند إلى الذكاء الاصطناعي متوافق (مثل Antigravity) لإنشاء 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. فعِّل مهارات وكلاء Firebase باتّباع الخطوات التالية:

    • Google Antigravity: يُرجى الرجوع إلى تعليمات الإعداد لتثبيت مكوّن Firebase الإضافي من "سوق Antigravity". يمكنك أيضًا تثبيت المهارات على مستوى المشروع من خلال تنفيذ الأمر التالي:

      npx skills add firebase/agent-skills --agent=antigravity
    • وكلاء ترميز آخرون مستندون إلى الذكاء الاصطناعي: اتّبِع التعليمات المتعلّقة بمهارات الوكيل وخادم MCP.

  2. ابدأ تشغيل مساعد الذكاء الاصطناعي (على سبيل المثال، شغِّل agy في الوحدة الطرفية لواجهة سطر الأوامر، أو افتح تطبيق الكمبيوتر المكتبي).

  3. من جذر مشروعك، اطلب من الوكيل إنشاء Security Rules إما لـ Cloud Firestore أو Cloud Storage استنادًا إلى كيفية تفاعل وكيل الترميز بالذكاء الاصطناعي مع طلبات 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 ولصقه في محادثة الوكيل.

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

  1. تأكَّد من تنفيذ وكيل الترميز بالذكاء الاصطناعي للإجراءات التالية. من المفترض أن تحصل على ملخّص بعد تشغيل الأدوات.

    • التحقّق من صحة البنية: بعد إنشاء Security Rules، يتحقّق وكيل الترميز المستند إلى الذكاء الاصطناعي تلقائيًا من صحة البنية باستخدام الأمر firebase_validate_security_rules من خادم MCP في Firebase.

    • اختبارات الوحدة: بعد التحقّق من صحة البنية، يحاول وكيل الذكاء الاصطناعي الخاص بالترميز تشغيل اختبارات الوحدة التي تم إنشاؤها باستخدام Firebase Local Emulator Suite.

  2. إذا لم يتم تشغيل الاختبارات تلقائيًا، ابدأ Firebase Local Emulator Suite في نافذة طرفية منفصلة، ثم استخدِم أحد الخيارات التالية لتشغيل الاختبارات:

    • الخيار 1: توجيه مساعدك المستند إلى الذكاء الاصطناعي لإجراء الاختبارات:

      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:rules
  • Cloud Storage for Firebase

    firebase deploy --only storage