توفّر 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 Cloud Storage data.
فهم اللغة Firebase Security Rules
قبل البدء في كتابة القواعد، من المفيد تخصيص بعض الوقت لمراجعة Firebase Security Rules اللغة المحدّدة لمنتجات Firebase التي تستخدمها.
تستفيد السمة Cloud Storage من مجموعة فرعية
من "لغة التعبير الشائعة" (CEL) التي تعتمد على عبارتَي match وallow
اللتين تحدّدان شرطًا للوصول إلى مسار محدّد.
ابدأ بتعلُّم بنية لغة Firebase Security Rules الأساسية.
إعداد Authentication
إذا لم يسبق لك إجراء ذلك، أضِف Firebase Authentication إلى تطبيقك. تتوافق Firebase Authentication مع العديد من طرق المصادقة الشائعة وتتكامل مع Firebase Security Rules لتوفير إمكانات تحقّق شاملة.
يمكنك إعداد معلومات مصادقة إضافية ومخصّصة لتطبيقك.
مزيد من المعلومات حول Firebase Security Rules وFirebase Authentication
تحديد بنية البيانات والقواعد
نظِّم بياناتك بعناية لتتوافق مع متطلبات الأمان.
قد تؤثّر طريقة تنظيم بياناتك في طريقة تنظيم قواعدك وتنفيذها. أثناء تحديد هياكل البيانات، ضع في اعتبارك الآثار التي قد تحدثها على بنية Security Rules.
على سبيل المثال، في Cloud Storage، قد تحتاج إلى تضمين حقل يشير إلى دور معيّن لكل مستخدم. بعد ذلك، يمكن أن تقرأ قواعدك هذا الحقل وتستخدمه لمنح إذن الوصول المستند إلى الأدوار. يمكنك أيضًا إنشاء قاعدة بيانات Cloud Firestore وتخزين معايير الوصول في مستندات Cloud Firestore، ثم الوصول إلى هذه المستندات من Cloud Storage Security Rules.
أثناء تحديد بنية البيانات والقواعد، ضَع في اعتبارك طريقة تطبيق القواعد أو عدم تطبيقها بشكل متسلسل، وذلك حسب منتجك. في Realtime Database، تعمل القواعد من الأعلى إلى الأسفل، وتلغي القواعد الأقل عمقًا القواعد الأكثر عمقًا. إذا منحت قاعدة أذونات القراءة أو الكتابة في مسار معيّن، فإنّها تمنح أيضًا إذن الوصول إلى جميع العُقد الفرعية ضمن هذا المسار. في المقابل، باستخدام Cloud Firestore وCloud Storage، لا تنطبق القواعد إلا على مستويات محدّدة من التدرّج الهرمي للبيانات، وتكتب قواعد صريحة للتحكّم في الوصول إلى مستويات مختلفة.
الوصول إلى القواعد
للاطّلاع على Security Rules الحالي، استخدِم إما واجهة سطر الأوامر Firebase أو وحدة تحكّم Firebase. احرص على تعديل قواعدك باستخدام الطريقة نفسها بشكل متّسق لتجنُّب الكتابة فوق التعديلات عن طريق الخطأ. إذا لم تكن متأكدًا مما إذا كانت القواعد المحدّدة محليًا تعكس آخر التحديثات، تعرض وحدة تحكّم Firebase دائمًا أحدث إصدار تم نشره من Firebase Security Rules.
للوصول إلى قواعدك من وحدة تحكّم Firebase، اختَر مشروعك، ثم انقر على التخزين في لوحة التنقّل اليمنى. انقر على Security Rules بعد الانتقال إلى قاعدة البيانات أو حزمة التخزين الصحيحة.
للوصول إلى قواعدك من واجهة سطر الأوامر Firebase، انتقِل إلى ملف القواعد المذكور في ملف firebase.json.
كتابة قواعد أساسية
أثناء تطوير تطبيقك وفهم Security Rules، جرِّب تنفيذ Security Rules لتلبية بعض حالات الاستخدام الأساسية، بما في ذلك ما يلي:
- مالك المحتوى فقط: حظر وصول المستخدمين إلى المحتوى
- الوصول المختلط: حظر إذن الكتابة حسب المستخدم، ولكن السماح بالوصول العام للقراءة
- الوصول المستند إلى السمات: يمكنك حظر الوصول إلى مجموعة أو نوع من المستخدمين.
اختبار القواعد
إذا كنت بصدد إعداد Firebase Security Rules في وحدة تحكّم Firebase، يمكنك استخدام Firebase Rules Playground للتحقّق بسرعة من السلوك. ومع ذلك، ننصحك بإجراء اختبارات أكثر شمولاً باستخدام Local Emulator Suite قبل نشر تغييراتك في مرحلة الإنتاج.
تفعيل القواعد
استخدِم وحدة تحكّم Firebase أو واجهة سطر الأوامر Firebase لنشر قواعدك في مرحلة الإنتاج. اتّبِع الخطوات الموضّحة في إدارة Firebase Security Rules وتفعيله.