Firebase Security Rules

يمكنك استخدام "قواعد أمان Firebase" المرنة والقابلة للتوسُّع تأمين بياناتك في Cloud Firestore وFirebase Realtime Database Cloud Storage

يظهر تطبيق "Firebase Security Rules" بين بياناتك والمستخدمين الضارين. يمكنك كتابة بيانات بسيطة أو هي قواعد معقّدة تحمي بيانات تطبيقك بمستوى الدقّة الذي يتطلبها تطبيقك المحدد.

الاستفادة من Firebase Security Rules لغات إعداد مرنة وقابلة للتوسُّع لتحديد البيانات التي يمكن للمستخدمين الوصول إليها. بإمكانها الوصول إلى Realtime Database وCloud Firestore وCloud Storage. Firebase Realtime Database Security Rules تستفيد من JSON في تعريفات القواعد تستفيد Cloud Firestore Security Rules وFirebase Security Rules لـ Cloud Storage من قيمة فريدة لغة تم تصميمها لاستيعاب بُنى أكثر تعقيدًا خاصة بالقواعد.

مزيد من المعلومات حول كيفية إعداد Rules لمنتجات Firebase المحدّدة المستخدَمة في تطبيقك، ومدى اختلاف سلوك Rules عبر Firebase المنتجات.

البدء

الإمكانات الرئيسية

المرونة كتابة قواعد مخصّصة منطقية لبنية تطبيقك وسلوكه تستخدم ميزة "Rules" لغات تتيح لك الاستفادة من بياناتك الخاصة. لمنح إذن الوصول.
الدقة يمكن أن تكون قواعدك واسعة أو ضيقة حسب حاجتك.
الأمان المستقل بما أنّه يتم تحديد Rules خارج تطبيقك (في وحدة تحكّم Firebase أو واجهة سطر الأوامر Firebase)، العملاء ليست مسئولة عن فرض الأمان، والأخطاء لا تهدد البيانات، فإن بياناتك محمية دائمًا.

كيف تعمل هذه الإعلانات؟

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

بالنسبة إلى Cloud Firestore وCloud Storage، استخدِم Rules ما يلي: بناء الجملة:

service <<name>> {
  // Match the resource path.
  match <<path>> {
    // Allow the request if the following conditions are true.
    allow <<methods>> : if <<condition>>
  }
}

بالنسبة إلى Realtime Database، تستخدم لغة Rules المستندة إلى JSON البنية التالية:

{
  "rules": {
    "<<path>>": {
    // Allow the request if the condition for each method is true.
      ".read": <<condition>>,
      ".write": <<condition>>
    }
  }
}

يتم تطبيق Rules كعبارات OR، وليس كعبارة AND. وبالتالي، إذا تطابقت قواعد متعددة مع أحد المسارات، وكان أيٌ من قواعد تمنح الشروط إمكانية الوصول، تمنح Rules إمكانية الوصول إلى البيانات الموجودة على ذلك . لذلك، إذا منحت إحدى القواعد العامة إمكانية الوصول إلى البيانات، فلا يمكنك حصر إمكانية الوصول باستخدام بقاعدة أكثر تحديدًا. ومع ذلك، يمكنك تجنب هذه المشكلة بالتأكد من أن لا تتداخل Rules كثيرًا. هناك تداخل في علم واحد (Firebase Security Rules) في المسارات المطابقة كتحذيرات من برنامج التحويل البرمجي.

بإمكان "Firebase Security Rules" أيضًا الاستفادة من Authentication لمنح الأذونات المستندة إلى المستخدمين، التي تحددها يمكن أن تكون أساسية للغاية أو معقدة بشكل لا يصدق. مزيد من المعلومات حول اللغة والسلوك لدى "Rules" قبل البدء في كتابة Rules.

مسار التنفيذ

دمج حِزم تطوير البرامج (SDK) للمنتجات إعداد Cloud Firestore Cloud Storage Realtime Database لـ التطبيق.
كتابة Firebase Security Rules مزيد من المعلومات حول طريقة عمل Rules إعداد بعض أجهزة Rules الأساسية
اختبار Firebase Security Rules استخدِم المحاكيات Realtime Database وCloud Firestore لاختبار خصائص تطبيقك. المستخدم والتحقق من صحة القواعد قبل تطبيقها على نطاق الإنتاج.
نشر Firebase Security Rules استخدام وحدة تحكّم Firebase أو واجهة سطر الأوامر Firebase لنشر القواعد إلى الإنتاج.

الخطوات التالية