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