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

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

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

قبل البدء في كتابة القواعد، ننصحك بتخصيص بعض الوقت لمراجعة لغة قواعد أمان Firebase المحدّدة لمنتجات Firebase التي تستخدمها. تستفيد Cloud Storage من مجموعة شاملة من لغة التعبير الشائعة (CEL) تعتمد على عبارات match وallow التي تحدِّد شرطًا للوصول إلى مسار محدّد.

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

إعداد المصادقة

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

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

مزيد من المعلومات حول قواعد أمان Firebase ومصادقة Firebase

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

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

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

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

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

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

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

للوصول إلى القواعد من واجهة سطر الأوامر في Firebase، انتقِل إلى ملف القواعد المُشار إليه في ملف Firebase.json.

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

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

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

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

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

نشر القواعد

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