عند الاتصال بـ Gemini API مباشرةً من تطبيقاتك على الأجهزة الجوّالة والويب، تتطلّب حماية البنية الأساسية الخلفية والحصة والطلبات الخاصة اتباع نهج دفاعي متعدد الطبقات. راجِع قائمة التحقّق هذه لتنفيذ أفضل ممارسات الأمان المقترَحة في Firebase AI Logic.
التحقّق من التطبيق والجهاز والمستخدم
التحقّق من أنّ الطلبات الواردة صادرة من نسخ شرعية وغير معدَّلة من تطبيقك يتم تشغيلها على أجهزة أصلية، بالإضافة إلى أنّها صادرة من مستخدمين حقيقيين
فرض Firebase App Check
فرض استخدام Firebase App Check للمساعدة في حماية Gemini API من إساءة الاستخدام عند استدعائه مباشرةً من تطبيقك، وعند فرض استخدام App Check، يتم التحقّق من أنّ الطلبات الواردة صادرة من تطبيقك الأصلي و/أو جهاز لم يتم التلاعب به.
تتيح App Check استخدام موفّري خدمات التصديق على منصات Apple (DeviceCheck أو App Attest أو reCAPTCHA Enterprise) وAndroid (Play Integrity أو reCAPTCHA Enterprise) والويب (reCAPTCHA Enterprise)، كما تتيح استخدام جميع هؤلاء الموفّرين لتطبيقات Flutter وUnity أيضًا.
اعتبارًا من أوائل يوليو 2026، ستفرض Firebase تلقائيًا App Check على Firebase AI Logic أثناء عملية الإعداد الموجّه في Firebase. إذا سبق لك إعداد Firebase AI Logic، احرص على فرض App Check بشكل صريح. للتطوير على الجهاز، يمكنك إعداد App Check مقدّم خدمة تصحيح الأخطاء، ثم تسجيل تطبيقك لدى موفّر خدمة إثبات صحة الإصدار الخاص بمرحلة الإصدار العلني قبل إطلاقه للمستخدمين النهائيين.
تفعيل ميزة "الحماية من إعادة التشغيل" باستخدام الرموز المميزة ذات الاستخدام المحدود
كجزء من عملية إعداد App Check، ننصح بفرض الحماية من إعادة الإرسال لكي تكون رموز App Check المميزة قابلة للاستخدام لمرة واحدة فقط. يوفّر هذا الخيار حماية محسّنة تتجاوز الحماية الأساسية، ويتيح لك ضبط مستوى الحماية المناسب لتطبيقك وحالات الاستخدام.
إعداد قيود على مفاتيح واجهة برمجة التطبيقات في Firebase
تحدّد مفاتيح واجهة برمجة التطبيقات في Firebase مشروع Firebase وتطبيقك عند تقديم الطلبات. لمنع الاستخدام غير المصرّح به لمفاتيح واجهة برمجة التطبيقات، اتّبِع الخطوات التالية:
اضبط "قيود التطبيق" في وحدة تحكّم Google Cloud لحصر استخدام المفتاح على الطلبات الواردة من المعرّف المحدّد لحزمة تطبيقك (Apple) أو اسم الحزمة وبصمة SHA-1 (Android) أو برنامج الإحالة الناجحة عبر HTTP (الويب) فقط.
راجِع قائمة السماح الخاصة "بقيود واجهة برمجة التطبيقات" لكل مفتاح:
- تأكَّد من أنّ واجهة برمجة التطبيقات Firebase AI Logic (
firebasevertexai.googleapis.com) مضمّنة في القائمة المسموح بها. - تأكَّد من أنّ واجهات برمجة التطبيقات الأخرى الوحيدة المدرَجة في قائمة السماح هي خدمات Firebase المحدّدة التي يتطلّبها تطبيقك. اطّلِع على قائمة واجهات برمجة التطبيقات المطلوبة لمفاتيح Firebase المحظورة.
- تأكَّد من أنّ واجهة برمجة التطبيقات Firebase AI Logic (
يُرجى العِلم أنّ واجهات برمجة التطبيقات المرتبطة بمنصة Firebase تستخدم مفاتيح واجهة برمجة التطبيقات فقط لتحديد مشروع Firebase أو التطبيق، وليس للحصول على إذن لاستدعاء واجهة برمجة التطبيقات.
حصر الطلبات على المستخدمين الذين تمت المصادقة عليهم فقط
ننصحك بفرض وضع المستخدمين الذين تم التحقّق من هويتهم لكي تتضمّن جميع الطلبات عبر Firebase AI Logic بيانات اعتماد صالحة من Firebase Authentication. إذا كان الطلب واردًا من مستخدم نهائي لم تتم مصادقته، سيتم رفض الطلب مع ظهور الخطأ 401: unauthenticated.
حماية الطلبات وتعزيزها
منع تفكيك الرمز البرمجي للعميل من الكشف عن تصاميم الطلبات، وحماية الخلفية حتى لا يتمكّن المستخدمون الضارون من تنفيذ طلبات عشوائية
استخدام نماذج طلبات الخادم
استخدِم نماذج طلبات الخادم للحفاظ على أمان الطلبات وتعليمات النظام وإعدادات النماذج في السحابة الإلكترونية، بدلاً من ترميزها بشكل ثابت في رمز تطبيق العميل حيث يمكن استخراجها باستخدام تفكيك البرنامج الثنائي.
يشير تطبيقك فقط إلى معرّف نموذج ويمرّر متغيّرات إدخال ديناميكية. تتيح لك نماذج الطلبات من الخادم أيضًا تعديل الطلبات أو تبديل النماذج عند الطلب بدون إصدار نسخة جديدة من تطبيقك.
التحقّق من صحة متغيّرات النموذج المقدَّمة من العميل وتنظيفها
تحمي نماذج الطلبات على الخادم تصميم الطلب، ولكن النماذج التي تقبل متغيرات ديناميكية قد تظل عرضة لتقنية "حقن الطلبات". بما أنّ النماذج تدمج متغيرات إدخال المستخدم في الطلب النهائي، احرص على تنفيذ ما يلي:
- يجب التحقّق من صحة بيانات أدخلها المستخدم وتنظيفها على العميل قبل تمرير المتغيرات إلى نموذج (مثل فرض عدد الأحرف المسموح به والتنسيقات المتوقّعة).
- أدرِج في النماذج تعليمات واضحة للنظام تحدّد ضوابط حول كيفية معالجة بيانات أدخلها المستخدم.
فرض وضع "النماذج فقط"
ننصحك بفرض
وضع النماذج فقط
بعد أن تستخدم جميع ميزات تطبيقك نماذج الطلبات من الخادم. عند فرضها، تحظر Firebase AI Logic جميع الطلبات المباشرة غير المستندة إلى نماذج إلى Gemini API (403: unauthorized)، ما يمنع الجهات المسيئة من إرسال طلبات عشوائية أو إساءة استخدام حصتك.
الرصد والحدود والفوترة
يمكنك الاطّلاع على عدد الزيارات الواردة وحالات عدم تطابق الأمان، وحماية مشروعك من الارتفاعات غير المتوقّعة في الاستخدام أو التكاليف المرتفعة.
إعداد ميزة تتبُّع استخدام الذكاء الاصطناعي في وحدة تحكّم Firebase
إعداد
ميزة مراقبة الذكاء الاصطناعي في Firebase console
للحصول على إحصاءات حول المقاييس الرئيسية، مثل عدد الطلبات ووقت الاستجابة واستخدام الرموز المميزة
ونِسب الأخطاء (بما في ذلك أخطاء المصادقة 401 والوحدات التي تستخدم نموذج 403 فقط).
يمكنك أيضًا فحص عمليات التتبُّع الفردية في وحدة تحكّم Google Cloud.
ضبط حدود المعدّل وإدارة الحصص
حماية مشروعك من الارتفاعات غير المتوقّعة في الاستخدام وهجمات رفض المحفظة:
- ضبط حدود المعدّل لكل مستخدم (القيمة التلقائية هي 100 طلب في الدقيقة) لمنع مثيلات العميل الفردية من استهلاك حصص مفرطة
- مراجعة حصص المشاريع وإدارتها في وحدة تحكّم Google Cloud لكل واجهة برمجة تطبيقات أساسية
تجنُّب الفواتير المفاجئة من خلال التنبيهات وحدود الإنفاق
إذا كان مشروعك على Firebase يستخدِم خطة التسعير Blaze بنظام الدفع حسب الاستخدام:
الخطوات التالية
- راجِع قائمة التحقّق من أمان Firebase العامة.
- راجِع قائمة المهام العامة لعملية الإنتاج في Firebase AI Logic.
- مزيد من المعلومات حول الأسعار وإدارة التكاليف في Firebase AI Logic