افهم قواعد أمان Firebase للتخزين السحابي

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

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

تحتوي قاعدة بيانات Firebase Realtime على ميزة مماثلة ، تسمى قواعد قاعدة بيانات Firebase Realtime

المصادقة

تُعد معرفة من هم المستخدمون جزءًا مهمًا من إنشاء تطبيق ، وتوفر مصادقة Firebase حلًا سهل الاستخدام وآمنًا من جانب العميل فقط للمصادقة. ترتبط قواعد أمان Firebase للتخزين السحابي بمصادقة Firebase للأمان المستند إلى المستخدم. عندما تتم مصادقة مستخدم باستخدام مصادقة Firebase ، يصبح متغير request.auth في قواعد أمان التخزين السحابي كائنًا يحتوي على المعرف الفريد للمستخدم ( request.auth.uid ) وجميع معلومات المستخدم الأخرى في الرمز المميز ( request.auth.token ) . عندما لا يتم مصادقة المستخدم ، يكون request.auth null . يسمح لك هذا بالتحكم بأمان في الوصول إلى البيانات على أساس كل مستخدم. يمكنك معرفة المزيد في قسم المصادقة .

تفويض

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

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

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if request.auth != null;
    }
  }
}

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

تأكيد صحة البيانات

يمكن أيضًا استخدام قواعد أمان Firebase للتخزين السحابي للتحقق من صحة البيانات ، بما في ذلك التحقق من صحة اسم الملف والمسار بالإضافة إلى خصائص البيانات الوصفية للملف مثل contentType size .

service firebase.storage {
  match /b/{bucket}/o {
    match /images/{imageId} {
      // Only allow uploads of any image file that's less than 5MB
      allow write: if request.resource.size < 5 * 1024 * 1024
                   && request.resource.contentType.matches('image/.*');
    }
  }
}

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

  • ابدأ في تطوير قواعد التخطيط لحاويات التخزين السحابي.

  • تعرف على المزيد حول تأمين بياناتك باستخدام قواعد الأمان.