Google is committed to advancing racial equity for Black communities. See how.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

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

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

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

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

المصادقة

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

تفويض

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

يتيح لك Google 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/.*');
    }
  }
}

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

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

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