توفّر Firebase Security Rules حماية فعّالة وقابلة للتخصيص بالكامل لبياناتك في Cloud Firestore وRealtime Database وCloud Storage. يمكنك البدء بسهولة من خلال Security Rules اتّباع الخطوات الواردة في هذا الدليل، وتأمين بياناتك وحماية تطبيقك من المستخدمين الضارين.
طلب إلى الذكاء الاصطناعي للحصول على مساعدة
للحصول على مساعدة من الذكاء الاصطناعي، انسخ الطلب أدناه إلى وكيل الترميز المستند إلى الذكاء الاصطناعي (مثل "Gemini في استوديو Android" وAntigravity وClaude Code وCodex وCursor). يمكنك تخصيص الطلب وتكراره مع الوكيل. يمكنك الانتقال إلى مهارات وكلاء Firebase للحصول على معلومات مفصّلة حول التثبيت.
Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me write, validate, and deploy Firebase Security Rules to protect my app's data.
فهم اللغة Firebase Security Rules
قبل البدء في كتابة القواعد، من المفيد تخصيص بعض الوقت لمراجعة Firebase Security Rules اللغة المحدّدة لمنتجات Firebase التي تستخدمها.
تستفيد Realtime Database من بنية JSON وبنية مشابهة لبنية JavaScript في Security Rules. بدلاً من ذلك، تستخدم السمتان Cloud Firestore وCloud Storage مجموعة فرعية من لغة التعبير الشائعة (CEL) تعتمد على عبارتَي match وallow اللتين تحدّدان شرطًا للوصول إلى مسار محدّد.
مزيد من المعلومات حول لغة Firebase Security Rules
إعداد Authentication
إذا لم يسبق لك إجراء ذلك، حدِّد المستخدمين باستخدام Firebase Authentication. يتوافق Firebase Authentication مع العديد من طرق المصادقة الشائعة ويتكامل مع Firebase Security Rules لتوفير إمكانات شاملة لإثبات الهوية.
يمكنك إعداد معلومات مصادقة إضافية ومخصّصة لتطبيقك.
مزيد من المعلومات حول Firebase Security Rules وFirebase Authentication
تحديد بنية البيانات والقواعد
قد تؤثّر طريقة تنظيم بياناتك في طريقة تنظيم قواعدك وتنفيذها. أثناء تحديد هياكل البيانات، ضع في اعتبارك الآثار التي قد تحدثها على بنية Security Rules.
على سبيل المثال، في Cloud Firestore، قد تحتاج إلى تضمين حقل يشير إلى دور معيّن لكل مستخدم. بعد ذلك، يمكن لقواعدك قراءة هذا الحقل واستخدامه لمنح إذن الوصول المستند إلى الأدوار.
أثناء تحديد بنية البيانات والقواعد، ضَع في اعتبارك أنّه إذا منحت أي قاعدة إذن الوصول إلى مجموعة بيانات، سيمنح Firebase Security Rules إذن الوصول إلى مجموعة البيانات هذه. بعبارة أخرى، لا يمكنك تحسين إذن الوصول على مستوى مسار فرعي إذا كنت قد منحت إذن الوصول على مستوى أعلى في التسلسل الهرمي لبياناتك.
الوصول إلى القواعد
للاطّلاع على Security Rules الحالي، استخدِم إما واجهة سطر الأوامر Firebase أو وحدة تحكّم Firebase. احرص على تعديل قواعدك باستخدام الطريقة نفسها بشكل متّسق لتجنُّب الكتابة فوق التعديلات عن طريق الخطأ. إذا لم تكن متأكدًا مما إذا كانت القواعد المحدّدة محليًا تعكس آخر التحديثات، تعرض وحدة تحكّم Firebase دائمًا أحدث إصدار تم نشره من Firebase Security Rules.
للوصول إلى قواعدك من وحدة تحكّم Firebase، اختَر مشروعك، ثم انتقِل إلى Realtime Database أو Cloud Firestore أو مساحة التخزين. انقر على القواعد بعد الانتقال إلى قاعدة البيانات أو حزمة التخزين الصحيحة.
للوصول إلى قواعدك من واجهة سطر الأوامر Firebase، انتقِل إلى ملف القواعد المذكور في ملف firebase.json.
كتابة قواعد أساسية
أثناء تطوير تطبيقك وفهم Security Rules، جرِّب تنفيذ بعض قواعد الأمان الأساسية، بما في ذلك حالات الاستخدام التالية:
- مالك المحتوى فقط: حظر وصول المستخدمين إلى المحتوى
- الوصول المختلط: حظر إذن الكتابة حسب المستخدم، ولكن السماح بالوصول العام للقراءة
- الوصول المستند إلى السمات: يمكنك حظر الوصول إلى مجموعة أو نوع من المستخدمين.
اختبار القواعد
للتأكّد من صحة سلوك تطبيقك والتحقّق من إعدادات Firebase Security Rules
، استخدِم محاكي Firebase لتشغيل اختبارات الوحدات وأتمتتها في بيئة محلية.
إذا كنت بصدد إعداد Firebase Security Rules في وحدة تحكّم Firebase، يمكنك استخدام محاكي قواعد Firebase للتحقّق من صحة السلوك بسرعة. ومع ذلك، ننصحك بإجراء اختبار أكثر شمولاً باستخدام محاكي Firebase قبل نشر التغييرات في مرحلة الإنتاج.
تفعيل القواعد
استخدِم وحدة تحكّم Firebase أو واجهة سطر الأوامر Firebase لنشر قواعدك في مرحلة الإنتاج. اتّبِع الخطوات الموضّحة في إدارة Firebase Security Rules وتفعيله.