بدء استخدام قواعد أمان Firebase

توفر "قواعد أمان Firebase" حماية قوية وقابلة للتخصيص بالكامل لبياناتك في Cloud Firestore وRealtime Database وCloud Storage. يمكنك البدء بسهولة باستخدام باتّباع الخطوات الواردة في هذا الدليل، ما يضمن حماية بياناتك وتطبيقك من المستخدمين الضارين.Security Rules

فهم لغة "قواعد أمان Firebase"

قبل البدء في كتابة القواعد، من المفيد تخصيص بعض الوقت لمراجعة لغة "قواعد أمان Firebase" الخاصة بمنتجات Firebase التي تستخدمها. Realtime Database يستخدِم بنية تشبه JavaScript وبنية JSON لـ Security Rules.

ابدأ بالتعرّف على البنية الأساسية للغة "قواعد أمان Firebase".

إعداد Authentication

إذا لم يسبق لك ذلك، أضِف Firebase Authentication إلى تطبيقك. Firebase Authentication تتيح العديد من طرق المصادقة الشائعة وتتكامل مع قواعد أمان Firebase لتوفير إمكانات تحقّق شاملة.

يمكنك إعداد معلومات مصادقة إضافية ومخصّصة لتطبيقك.

مزيد من المعلومات حول "قواعد أمان Firebase" وFirebase Authentication.

تحديد بنية بياناتك وقواعدك

تحديد البيانات لأغراض الأمان

قد تؤثر طريقة تنظيم بياناتك في طريقة تنظيم قواعدك وتنفيذها. أثناء تحديد بنية بياناتك، ضَع في اعتبارك الآثار المحتمَلة التي قد تحدثها على بنية Security Rules.

على سبيل المثال، في Realtime Database، قد تحتاج إلى تضمين حقل يشير إلى دور معيّن لكل مستخدم. بعد ذلك، يمكن لقواعدك قراءة هذا الحقل واستخدامه لمنح إذن الوصول استنادًا إلى الدور.

أثناء تحديد بنية بياناتك وقواعدك، ضَع في اعتبارك طريقة تسلسل القواعد أو عدم تسلسلها، حسب المنتج الذي تستخدمه. مع Realtime Database، تعمل القواعد من الأعلى إلى الأسفل، حيث تلغي القواعد الأقل عمقًا القواعد الأكثر عمقًا. إذا منحت إحدى القواعد أذونات القراءة أو الكتابة في مسار معيّن، فإنّها تمنح أيضًا إذن الوصول إلى جميع العُقد الفرعية ضمنه. في المقابل، في Cloud Firestore و Cloud Storage، لا يتم تطبيق القواعد إلا على مستويات محدّدة من التسلسل الهرمي للبيانات، وتكتب قواعد صريحة للتحكّم في الوصول إلى مستويات مختلفة.

الوصول إلى قواعدك

لعرض Security Rules الحالية، استخدِم إما Firebase CLI أو Firebase console. احرِص على تعديل قواعدك باستخدام الطريقة نفسها باستمرار لتجنُّب الكتابة فوق التعديلات عن طريق الخطأ. إذا لم تكن متأكدًا مما إذا كانت القواعد المحدّدة محليًا تعكس آخر التعديلات، تعرض دائمًا وحدة تحكّم Firebase أحدث إصدار تم نشره من "قواعد أمان Firebase".

للوصول إلى قواعدك من وحدة تحكّم FirebaseFirebase، اختَر مشروعك ، ثم انقر على قاعدة بيانات الوقت الفعلي في لوحة التنقّل اليمنى. انقر على Security Rules بعد الانتقال إلى قاعدة البيانات أو مساحة التخزين الصحيحة.

للوصول إلى قواعدك من Firebase CLI، انتقِل إلى ملف القواعد الموضّح في ملف firebase.json.

كتابة القواعد الأساسية

أثناء تطوير تطبيقك وفهم Security Rules، حاوِل تنفيذ Security Rules لمعالجة بعض حالات الاستخدام الأساسية، بما في ذلك ما يلي:

  • المالك فقط: يمكنك حظر وصول المستخدمين إلى المحتوى.
  • الوصول المختلط: يمكنك حظر إذن الكتابة للمستخدمين، ولكن السماح بإذن القراءة للجميع.
  • الوصول المستند إلى السمات: يمكنك حظر وصول مجموعة أو نوع من المستخدمين.

اختبار قواعدك

إذا كنت بصدد إعداد "قواعد أمان Firebase" في وحدة تحكّم Firebase، يمكنك استخدام "ساحة قواعد Firebase" للتحقّق بسرعة من السلوك. ومع ذلك، ننصحك بإجراء اختبار أكثر شمولاً باستخدام الـ Local Emulator Suite قبل نشر الـ تغييرات إلى مرحلة الإنتاج.

نشر القواعد

استخدِم وحدة تحكّم Firebase أو Firebase CLI لتفعيل قواعدك إلى مرحلة الإصدار العلني. اتّبِع الخطوات الموضّحة في إدارة "قواعد أمان Firebase" ونشرها.