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