التحقق من صحة قواعد أمان Firebase بسرعة

لاختبار Firebase Security Rules المعدَّلة بسرعة في وحدة تحكّم Firebase، استخدِم Rules Playground.

تُعدّ "ساحة تجارب القواعد" أداة ملائمة يمكنك استخدامها أثناء استكشاف سلوكيات جديدة أو التحقّق بسرعة من صحة القواعد أثناء كتابتها. تعرض هذه السمة رسالة تؤكّد ما إذا كان قد تم السماح بالوصول أو رفضه وفقًا للمعلمات التي ضبطتها للمحاكاة.

استخدام "ساحة تجارب القواعد"

  1. افتح Firebase وحدة التحكّم واختَر مشروعك.
  2. بعد ذلك، نفِّذ أحد الإجراءات التالية من شريط التنقّل في المنتج:
    • انقر على Realtime Database أو Cloud Firestore أو مساحة التخزين، حسب الاقتضاء، ثم انقر على القواعد للانتقال إلى Rules أداة التعديل.
  3. بعد إجراء التعديلات، انقر على ساحة تجارب القواعد من المحرّر.
  4. في إعدادات ساحة تجارب القواعد، حدِّد خيارات الاختبار، بما في ذلك:
    • اختبار عمليات القراءة أو الكتابة
    • الموقع الجغرافي المحدّد في قاعدة البيانات أو حزمة التخزين، كمسار
    • نوع المصادقة: مستخدم مجهول الهوية لم تتم مصادقته أو مستخدم مجهول الهوية تمت مصادقته أو معرّف مستخدم محدّد
    • البيانات الخاصة بالمستند التي تشير إليها قواعدك تحديدًا (على سبيل المثال، إذا كانت قواعدك تتطلّب توفّر حقل معيّن قبل السماح بالكتابة)
  5. انقر على تنفيذ وابحث عن النتائج في البانر أعلى المحرّر.

مثال على سيناريو في "ساحة تجارب القواعد"

اختبِر سلوك Rules Playground باستخدام سيناريو المثال التالي والقواعد الأساسية.

service cloud.firestore {
  match /databases/{database}/documents {
    // Allow only authenticated content owners access
    match /some_collection/{document} {
      allow read, write: if request.auth != null && request.auth.uid == request.resource.data.author_uid
      }
    }
  }

 // These rules grant access to a node matching the authenticated
 // user's ID from the Firebase auth token
 {
   "rules": {
     "users": {
       "$uid": {
         ".read": "$uid === auth.uid",
         ".write": "$uid === auth.uid"
       }
     }
   }
 }
 

// Grants a user access to a node matching their user ID
service firebase.storage {
  match /b/{bucket}/o {
    // Files look like: "user/<UID>/file.txt"
    match /user/{userId}/{fileName} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}
  • في محرّر Rules، أضِف القاعدة المحدّدة.

  • اختَر get من القائمة المنسدلة نوع المحاكاة وأدخِل مسارًا صالحًا في الحقل الموقع الجغرافي.

  • فعِّل المصادقة واختَر نوع المصادقة من القائمة المنسدلة مقدّم الخدمة.

  • أدخِل تفاصيل معرّف المستخدم وانقر على تنفيذ.

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