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