Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

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

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

قاعدة بيانات Firebase الحقيقي لديها ميزة مشابهة، ودعا Firebase الحقيقي قواعد بيانات

المصادقة

تُعد معرفة من هم المستخدمون جزءًا مهمًا من إنشاء تطبيق ، وتوفر مصادقة 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/.*');
    }
  }
}

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