عندما تستدعي واجهة برمجة تطبيقات مباشرةً من تطبيق على الجهاز الجوّال أو تطبيق ويب (على سبيل المثال، واجهات برمجة التطبيقات التي تتيح الوصول إلى نماذج الذكاء الاصطناعي التوليدي)، تكون واجهة برمجة التطبيقات عرضة لإساءة الاستخدام من قِبل البرامج العميلة غير المصرّح بها. للمساعدة في حماية واجهات برمجة التطبيقات هذه، يمكنك استخدام Firebase App Check للتحقّق من أنّ جميع طلبات البيانات الواردة من واجهة برمجة التطبيقات هي من تطبيقك الفعلي.
توفّر Firebase AI Logic بوابة وكيل تتيح لك الدمج مع Firebase App Check وحماية واجهات برمجة التطبيقات الخاصة بنماذج الذكاء الاصطناعي التوليدي التي تستدعيها تطبيقاتك على الأجهزة الجوّالة والويب. يتيح استخدام App Check مع حِزم تطوير البرامج (SDK)Firebase AI Logic جميع إعداداتنا:
يحمي هذا النطاق كلاً من موفّرَي "واجهة برمجة التطبيقات Gemini": Gemini Developer API وVertex AI Gemini API.
يحمي جميع الطُرز المتوافقة، سواء طُرز Gemini أو طُرز Imagen.
ملخّص شامل حول طريقة عمل App Check
باستخدام App Check، تستخدم الأجهزة التي تشغّل تطبيقك موفّرًا لخدمة إثبات صحة التطبيق أو الجهاز يتحقّق من أحد الأمرين التاليين أو كليهما:
- الطلبات صادرة من تطبيقك الأصلي
- أن تكون الطلبات صادرة من جهاز أصلي لم يتم التلاعب به
يتم إرفاق شهادة التصديق هذه بكل طلب يقدّمه تطبيقك باستخدام إحدى حِزم تطوير البرامج (SDK).Firebase AI Logic عند تفعيل خيار فرض App Check، سيتم رفض الطلبات الواردة من الأجهزة التي لا تتضمّن شهادة مصادقة صالحة، بالإضافة إلى أي طلبات واردة من تطبيق أو منصة لم تمنحها الإذن.
ننصحك عند إعداد App Check بالحرص على الاستعداد للحماية المحسّنة القادمة (المعروفة باسم الحماية من إعادة التشغيل).
يمكنك العثور على معلومات تفصيلية عن App Check في المستندات، بما في ذلك الحصص والحدود.
مقدّمو الخدمات المتاحون وتعليمات التنفيذ
توفّر مستندات App Check أوصافًا لمقدّمي خدمات التصديق، بالإضافة إلى تعليمات التنفيذ.
اختَر مزوّد خدمة تلقائيًا، واتّبِع تعليمات التنفيذ في الروابط التالية:
- منصات Apple: DeviceCheck أو App Attest
- Android: Play Integrity
- الويب: reCAPTCHA Enterprise
- Flutter: تتوافق مع جميع موفّري الخدمات التلقائيين المذكورين أعلاه
يجب أيضًا اتّباع متطلبات التثبيت الخاصة لكل من Flutter وApp Check. - Unity: تتوافق مع جميع موفّري الخدمات التلقائيين المذكورين أعلاه
يُرجى العِلم أنّه إذا لم يكن أي من موفّري الخدمات التلقائيين كافيًا لتلبية احتياجاتك، يمكنك تنفيذ موفّر خدمات مخصّص يستخدم إما موفّر خدمات إثبات صحة تابعًا لجهة خارجية أو تقنيات إثبات صحة خاصة بك.
(إجراء يُنصح به) الاستعداد للحماية المحسَّنة القادمة من App Check (المعروفة باسم الحماية من إعادة التشغيل)
(إجراء مطلوب) قبل طرح تطبيقك للمستخدمين، عليك تفعيل فرض App Check.
يجب إنشاء مثيل خاص لـ Flutter
انقر على مزوّد Gemini API لعرض المحتوى والرمز الخاصين بالمزوّد على هذه الصفحة. |
عند استخدام App Check مع Firebase AI Logic في تطبيقات Flutter، عليك تمرير App Check بشكل صريح أثناء إنشاء مثيل، كما يلي:
// ...
final ai = await FirebaseAI.googleAI(
appCheck: FirebaseAppCheck.instance, // for Flutter, pass in App Check explicitly
);
// ...
الاستعداد لميزة "الحماية المحسَّنة" القادمة
لا تتوفّر حاليًا إمكانية استخدام الرموز المميّزة ذات الاستخدام المحدود إلا على منصات Apple (الإصدار 12.2.0 والإصدارات الأحدث) وAndroid (الإصدار 17.2.0 والإصدارات الأحدث، والإصدار 34.2.0 والإصدارات الأحدث من قائمة المواد) والويب (الإصدار 12.3.0 والإصدارات الأحدث). سيتم طرح ميزة التوافق مع المنصات الأخرى خلال الأسابيع القليلة المقبلة. |
تستخدم App Check تلقائيًا رموز الجلسات التي تتضمّن مدة بقاء قابلة للضبط تتراوح بين
في المستقبل، ستضيف App Check خيار تفعيل الحماية من إعادة التشغيل لـ Firebase AI Logic (على غرار الدعم الذي توفّره App Check حاليًا لبعض الموارد الأخرى). عند تفعيل ميزة "الحماية من إعادة الإرسال"، يتم تعزيز الحماية بالطرق التالية:
لن يسمح App Check بالطلبات إلا إذا كانت مصحوبة بنوع خاص من الرموز المميزة يُعرف باسم الرمز المميز المحدود الاستخدام.
بعد التحقّق من صحة الرمز المميّز المحدود الاستخدام، يتم استخدامه مرة واحدة فقط لمنع الهجمات التي تهدف إلى إعادة استخدام الرموز.
للاستعداد لتفعيل ميزة الحماية من إعادة التشغيل، ننصحك بتفعيل استخدام الرموز المميزة ذات الاستخدام المحدود كجزء من عملية إعداد App Check. بهذه الطريقة، عندما تصبح ميزة "الحماية من إعادة التشغيل" متاحة، يمكنك تفعيلها في وقت أقرب لأنّ عددًا أكبر من المستخدمين سيستخدمون إصدارات من تطبيقك ترسل رموزًا مميّزة ذات استخدام محدود.
يُرجى مراعاة ما يلي في حال تفعيل استخدام الرموز المميّزة ذات الاستخدام المحدود في تطبيقك الآن (في حال عدم توفّر ميزة الحماية من إعادة التشغيل):
لا تحظر App Check استخدام رموز الجلسات الصالحة.
وكما هو الحال مع رموز الجلسات، يتم تخزين الرموز المميّزة ذات الاستخدام المحدود مؤقتًا في حزمة تطوير البرامج (SDK) App Check ويتم إرسالها مع الطلبات. توفّر الرموز المميزة ذات الاستخدام المحدود قدرًا ضئيلاً من الحماية الإضافية مقارنةً برموز الجلسات التلقائية، لأنّ رموز الاستخدام المحدود لها مدة حياة طرد على الشبكة (TTL) أقصر (
5 دقائق فقط ولا يمكن تعديلها) مقارنةً برموز الجلسات.على الرغم من أنّ الرموز المميّزة ذات الاستخدام المحدود تكون صالحة لمدة
5 دقائق ، ستستمر حزمة SDK في إنشاء رمز مميّز جديد لكل طلب. يمكن أن تؤدي هذه العملية إلى تأخير استجابة طلبك.
ومع ذلك، عندما تصبح ميزة الحماية من إعادة التشغيل متاحة لـ Firebase AI Logic في المستقبل (وتفعّلها)، لن يكون من الممكن استخدام رموز الجلسات وإعادة استخدام الرموز المميّزة ذات الاستخدام المحدود. يُرجى العِلم أنّه سيظل هناك تأخير إضافي في إنشاء رمز مميز جديد لكل طلب.
تفعيل استخدام الرموز المميزة ذات الاستخدام المحدود
انقر على مزوّد Gemini API لعرض المحتوى والرمز الخاصين بالمزوّد على هذه الصفحة. |
في ما يلي كيفية تفعيل استخدام الرموز المميزة ذات الاستخدام المحدود:
نفِّذ App Check، وتأكَّد من أنّك فعّلت فرض App Check لتطبيقك.
في تطبيقك أثناء إنشاء مثيل، فعِّل استخدام الرموز المميّزة ذات الاستخدام المحدود من خلال ضبط المَعلمة
useLimitedUseAppCheckTokens
علىtrue
:Swift
// ... // During instantiation, enable usage of limited-use tokens let ai = FirebaseAI.firebaseAI( backend: .googleAI(), useLimitedUseAppCheckTokens: true ) // ...
Kotlin
// ... // During instantiation, enable usage of limited-use tokens val ai = Firebase.ai( backend = GenerativeBackend.googleAI(), useLimitedUseAppCheckTokens = true ) // ...
Java
// ... // During instantiation, enable usage of limited-use tokens FirebaseAI ai = FirebaseAI.getInstance( /* backend: */ GenerativeBackend.googleAI(), /* useLimitedUseAppCheckTokens: */ true ); // ...
Web
// ... // During instantiation, enable usage of limited-use tokens const ai = getAI(firebaseApp, { backend: new GoogleAIBackend(), useLimitedUseAppCheckTokens: true }); // ...
Dart
سيتوفّر استخدام الرموز المميّزة ذات الاستخدام المحدود مع تطبيقات Flutter في الإصدار القادم. يرجى معاودة التحقق بعد قليل.
Unity
ستتم إتاحة استخدام الرموز المميزة ذات الاستخدام المحدود مع ألعاب Unity في إصدار مستقبلي. يرجى معاودة التحقق بعد قليل.
فهم كيفية تكامل Firebase AI Logic مع App Check
لاستخدام حِزم تطوير البرامج (SDK)، يجب تفعيل واجهة برمجة التطبيقات Firebase AI Logic (firebasevertexai.googleapis.com
) في مشروعك على Firebase.Firebase AI Logic ويرجع ذلك إلى أنّ الطلبات التي يتم إجراؤها من خلال حِزم تطوير البرامج (SDK) الخاصة بـ Firebase AI Logic يتم إرسالها أولاً إلى خادم Firebase AI Logic، الذي يعمل كبوابة وكيل يتم فيها التحقّق من Firebase App Check قبل السماح للطلب بالمتابعة إلى الخلفية الخاصة بموفّر "Gemini API" الذي اخترته وإلى واجهات برمجة التطبيقات للوصول إلى نماذج Gemini وImagen.