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

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

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

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

ابدأ بتعلُّم البنية الأساسية للغة قواعد أمان Firebase.

إعداد Authentication

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

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

اطّلِع على مزيد من المعلومات عن قواعد أمان Firebase وFirebase Authentication.

تحديد هياكل البيانات والقواعد

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

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

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

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

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

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

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

للوصول إلى قواعدك من Firebase CLI، انتقِل إلىملف القواعد المُشار إليه في ملف firebase.json.

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

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

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

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

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

نشر القواعد

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