توفّر 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 الحالي، استخدِم واجهة سطر الأوامر (CLI) في 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 ونشره.