لطالما كان الأمان أحد أكثر الجوانب تعقيدًا في عملية تطوير التطبيقات. في معظم التطبيقات، على المطوّرين إنشاء خادم وتشغيله للتعامل مع المصادقة (تحديد هوية المستخدم) والتفويض (تحديد ما يمكن للمستخدم فعله). من الصعب إعداد المصادقة والتفويض، ومن الصعب الحصول على الإعدادات الصحيحة، وهما أمران بالغا الأهمية لنجاح منتجك.
على غرار الطريقة التي يسهّل بها Firebase Authentication مصادقة المستخدمين، يسهّل Firebase Security Rules لـ Cloud Storage تفويض المستخدمين والتحقّق من صحة الطلبات. تساعدك Cloud Storage Security Rules في إدارة التعقيدات من خلال السماح لك بتحديد الأذونات المستندة إلى المسار. باستخدام بضعة أسطر من الرموز البرمجية، يمكنك كتابة قواعد تفويض تقيّد طلبات Cloud Storage لمستخدم معيّن أو تحدّ من حجم التحميل.
يتضمّن Firebase Realtime Database ميزة مشابهة تُسمّى Firebase Realtime Database Security Rules
طلب إلى الذكاء الاصطناعي للحصول على مساعدة منه
للحصول على مساعدة من الذكاء الاصطناعي، انسخ الطلب أدناه إلى وكيل الترميز بالذكاء الاصطناعي (مثل Gemini في "استوديو Android" وAntigravity وClaude Code وCodex وCursor). يمكنك تخصيص الطلب وتكراره مع الوكيل. انتقِل إلى مهارات وكلاء Firebase للحصول على معلومات مفصّلة عن التثبيت.
Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me write, validate, and deploy Firebase Security Rules to protect my app's Cloud Storage data.
المصادقة
إنّ معرفة المستخدمين هي جزء مهم من إنشاء التطبيق، وتوفّر Firebase Authentication حلاً سهلاً وآمنًا للمصادقة من جهة العميل فقط. يرتبط Firebase Security Rules لـ Cloud Storage بـ Firebase Authentication
لأمان المستخدم. عندما تتم مصادقة مستخدم من خلال Firebase Authentication، يصبح المتغيّر request.auth في Cloud Storage Security Rules عنصرًا يحتوي على رقم التعريف الفريد للمستخدم (request.auth.uid) وجميع معلومات المستخدم الأخرى في الرمز المميّز (request.auth.token). وعندما لا تتم مصادقة المستخدم، يكون request.auth هو null. يتيح لك ذلك التحكّم بشكل آمن في الوصول
إلى البيانات لكل مستخدم على حدة. يمكنك الاطّلاع على مزيد من المعلومات في قسم المصادقة.
التفويض
تحديد هوية المستخدم هو جزء فقط من الأمان. بعد تحديد هؤلاء المستخدمين، ستحتاج إلى طريقة للتحكّم في وصولهم إلى الملفات في Cloud Storage.
يتيح لك Cloud Storage تحديد قواعد التفويض لكل ملف ومسار، وهي قواعد موجودة على خوادمنا وتحدّد إمكانية الوصول إلى الملفات في تطبيقك.
على سبيل المثال، يتطلّب Cloud Storage Security Rules التلقائي استخدام Firebase Authentication لتنفيذ أي عمليات read أو write على جميع الملفات:
service firebase.storage { match /b/{bucket}/o { match /someFolder/{fileName} { allow read, write: if request.auth != null; } } }
يمكنك تعديل Security Rules هذه في وحدة تحكّم Firebase من خلال الانتقال إلى قواعد البيانات ومساحة التخزين > مساحة التخزين > علامة التبويب القواعد.
التحقق من صحة البيانات
Firebase Security Rules في Cloud Storage يمكن استخدامها أيضًا للتحقّق من صحة البيانات، بما في ذلك
التحقّق من صحة اسم الملف ومساره بالإضافة إلى خصائص البيانات الوصفية للملف، مثل
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/.*'); } } }
الخطوات التالية
البدء في التخطيط لتطوير القواعد لدلاء Cloud Storage.
مزيد من المعلومات حول تأمين بياناتك باستخدام قواعد الأمان
الدفاع في العمق باستخدام عناصر التحكّم في خدمة VPC
يمكنك استخدام عناصر التحكّم في خدمة سحابة VPC لحماية مشروعك بالكامل من خلال محيط أمان. هذا بديل أكثر شمولاً لعنصر التحكّم في الوصول الأكثر دقة الذي يوفّره Cloud Storage Security Rules.
تعمل "قواعد أمان Firebase" و"عناصر التحكّم في خدمة VPC" معًا: تتعامل "قواعد الأمان" مع التفويض (مَن يمكنه الوصول إلى أي ملف)، بينما توفّر "عناصر التحكّم في خدمة VPC" حماية على مستوى الشبكة (منع البيانات من مغادرة بيئتك المصرَّح بها). ويُعدّ هذا النهج المتعدّد الطبقات من أفضل الممارسات لتأمين بيانات المؤسسات الحساسة.