بدء استخدام قواعد أمان 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، انتقِل إلى ملف القواعد المذكور في ملف firebase.json.

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

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

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

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

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

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

تفعيل القواعد

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