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