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

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

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

تحتوي قاعدة بيانات Firebase Realtime على ميزة مشابهة تسمى قواعد أمان قاعدة بيانات Firebase Realtime

المصادقة

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

تفويض

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

يتيح لك التخزين السحابي تحديد قواعد الترخيص لكل ملف ولكل مسار والتي توجد على خوادمنا وتحديد الوصول إلى الملفات الموجودة في تطبيقك. على سبيل المثال، تتطلب قواعد أمان التخزين السحابي الافتراضية مصادقة 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/.*');
    }
  }
}

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

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

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