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

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

فهم اللغة Firebase Security Rules

قبل البدء في كتابة القواعد، من المفيد تخصيص بعض الوقت لمراجعة لغة Firebase Security Rules المحدّدة لمنتجات Firebase التي تستخدمها. تستفيد Realtime Database من بنية JSON وبنية مشابهة لـ JavaScript في Rules. بدلاً من ذلك، تستفيد السمتَان Cloud Firestore وCloud Storage من مجموعة فائقة للغة التعبير الشائعة (CEL) تعتمد على بيانَي match وallow اللذَين يحدّدان شرطًا للوصول إلى مسار محدّد.

اطّلِع على مزيد من المعلومات عن لغة Firebase Security Rules.

إعداد Authentication

حدِّد المستخدمين باستخدام Firebase Authentication إذا لم يسبق لك إجراء ذلك. يتيح Firebase Authentication العديد من طرق المصادقة الشائعة ويتكامل مع Firebase Security Rules لتوفير إمكانات شاملة لإثبات الملكية.

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

مزيد من المعلومات حول Firebase Security Rules وFirebase Authentication

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

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

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

عند تحديد بنية البيانات والقواعد، ضَع في اعتبارك أنّه إذا منح أي قاعدة إذن الوصول إلى مجموعة بيانات، سيمنح Firebase Security Rules إذن الوصول إلى تلك المجموعة. بعبارة أخرى، لا يمكنك تحسين إذن الوصول في مسار فرعي إذا منحت إذن الوصول على مستوى أعلى في التسلسل الهرمي للبيانات.

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

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

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

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

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

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

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

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

للتحقّق بشكل كامل من سلوك تطبيقك والتأكّد من إعدادات Firebase Security Rules
، استخدِم محاكي Firebase لتشغيل اختبارات الوحدت وتشغيلها آليًا في بيئة محلية.

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

نشر القواعد

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