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