بدء استخدام قواعد أمان 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" ونشرها.