Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

قواعد أمان Firebase

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

تقف قواعد أمان Firebase بين بياناتك والمستخدمين الضارين. يمكنك كتابة قواعد بسيطة أو معقدة تحمي بيانات تطبيقك إلى مستوى الدقة الذي يتطلبه تطبيقك المحدد.

تستفيد قواعد أمان Firebase من لغات التكوين القابلة للتوسيع والمرنة لتحديد البيانات التي يمكن للمستخدمين الوصول إليها من أجل Realtime Database و Cloud Firestore و Cloud Storage. تستفيد قواعد قاعدة بيانات Firebase Realtime من JSON في تعريفات القواعد ، بينما تستفيد قواعد أمان Cloud Firestore وقواعد أمان Firebase للتخزين السحابي من لغة فريدة تم إنشاؤها لاستيعاب الهياكل الأكثر تعقيدًا الخاصة بالقواعد.

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

القدرات الأساسية

المرونة اكتب قواعد مخصصة تكون منطقية لهيكل تطبيقك وسلوكه. تستخدم القواعد اللغات التي تسمح لك بالاستفادة من بياناتك الخاصة للسماح بالوصول.
تقسيمات يمكن أن تكون قواعدك واسعة أو ضيقة حسب حاجتك.
أمن مستقل نظرًا لأنه يتم تحديد القواعد خارج تطبيقك (في وحدة تحكم Firebase أو Firebase CLI) ، فإن العملاء ليسوا مسؤولين عن فرض الأمان ، ولا تؤدي الأخطاء إلى تعريض البيانات للخطر ، وتكون بياناتك محمية دائمًا.

كيف يعملون؟

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

بالنسبة إلى Cloud Firestore والتخزين السحابي ، تستخدم القواعد البنية التالية:

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

بالنسبة لقاعدة بيانات Realtime ، تستخدم القواعد المستندة إلى JSON البنية التالية:

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

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

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

مسار التنفيذ

دمج حزم SDK للمنتج قم بإعداد Cloud Firestore أو Cloud Storage أو Realtime Database لتطبيقك.
اكتب قواعد أمان Firebase تعرف على المزيد حول كيفية عمل القواعد وإعداد بعض القواعد الأساسية
اختبر قواعد أمان Firebase استخدم محاكيات Realtime Database و Cloud Firestore لاختبار سلوك تطبيقك والتحقق من صحة القواعد قبل نشرها في الإنتاج.
انشر قواعد أمان Firebase استخدم وحدة تحكم Firebase أو Firebase CLI لنشر قواعدك في الإنتاج.

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