عند طلب واجهة برمجة تطبيقات مباشرةً من تطبيق على الأجهزة الجوّالة أو تطبيق ويب (مثل واجهات برمجة التطبيقات التي تتيح الوصول إلى نماذج الذكاء الاصطناعي التوليدي)، تكون واجهة برمجة التطبيقات عُرضة لإساءة الاستخدام من قِبل البرامج العميلة غير المفوّضة. للمساعدة في حماية واجهات برمجة التطبيقات هذه من إساءة الاستخدام، يمكنك استخدام Firebase App Check للتحقّق من أنّ جميع طلبات واجهة برمجة التطبيقات الواردة تأتي من تطبيقك الفعلي ومن جهاز لم يتم التلاعب به.
Firebase AI Logic توفّر بوابة وكيل تتيح لك التكامل مع Firebase App Check وحماية واجهات برمجة التطبيقات الخاصة بنماذج الذكاء الاصطناعي التوليدي التي تطلبها تطبيقاتك على الأجهزة الجوّالة وتطبيقات الويب. عند استخدام App Check مع Firebase AI Logic، يتم دعم جميع إعداداتنا:
حماية كلٍّ من موفِّرَي "Gemini API": Gemini Developer API و Agent Platform Gemini API (formerly Vertex AI).
حماية جميع النماذج المتوافقة، سواء نماذج Gemini أو نماذج Imagen
تتيح ميزة App Check أيضًا الحماية من إعادة استخدام الرموز، ما يعني أنّه لا يمكن استخدام الرمز المميّز لـ App Check إلا مرة واحدة.
ملخّص عالي المستوى لطريقة عمل App Check
باستخدام App Check، تستخدم الأجهزة التي تشغّل تطبيقك موفِّر شهادة تطبيق أو جهاز يتحقّق من أحد الإجراءَين التاليَين أو كليهما:
- الطلبات واردة من تطبيقك الأصلي
- الطلبات واردة من جهاز أصلي لم يتم التلاعب به
يتم إرفاق هذه الشهادة بكل طلب يقدّمه تطبيقك باستخدام حزمة Firebase AI Logic SDK. عند فرض App Check، سيتم رفض الطلبات الواردة من البرامج العميلة التي لا تتضمّن شهادة صالحة، بالإضافة إلى أي طلب وارد من تطبيق أو منصة لم تمنحها الإذن.
عند إعداد App Check، ننصحك بإضافة الحماية من إعادة استخدام الرموز، ما يجعل الرموز المميّزة لـ App Check قابلة للاستخدام مرة واحدة فقط. يوفّر هذا الخيار حماية محسّنة تتجاوز الحماية الأساسية، ويسمح لك بضبط مستوى حماية مناسب لتطبيقك وحالات استخدامه.
يمكنك العثور على معلومات مفصّلة عن App Check في مستنداتها، بما في ذلك الحصص والحدود.
إعداد App Check
توفّر مستندات App Check أوصافًا تفصيلية لموفّري الشهادات ، بالإضافة إلى تعليمات مفصّلة عن عملية التنفيذ.
.App CheckApp Checkاختَر موفِّر شهادة واتّبِع تعليمات التنفيذ على الروابط التالية:
- منصات Apple: DeviceCheck أو App Attest
- Android: Play Integrity
- الويب: reCAPTCHA Enterprise
- Flutter: تتيح هذه المنصة استخدام
جميع الموفّرين التلقائيين أعلاه
إذا كنت تستخدم إصدارات أقدم من المكوّن الإضافي، اطّلِع على الملاحظة حول عملية إنشاء مثيل خاصة أدناه. لـ Flutter وميزة App Check. - Unity: تتيح هذه المنصة استخدام جميع الموفّرين التلقائيين أعلاه.
(مطلوب) فعِّل ميزة App Check enforcement قبل إرسال تطبيقك إلى نظام تحكّم في رمز المصدر متاح للجميع أو مشاركة تطبيقك أو إتاحته للجميع.
(يُفضّل) حسِّن الحماية من خلال إضافة الحماية من إعادة استخدام الرموز، ما يعني أنّه لا يمكن استخدام الرمز المميّز لميزة "App Check" إلا مرة واحدة.
بالنسبة إلى عملية التطوير المحلية عند فرض App Check، عليك إعداد App Check موفِّر تصحيح الأخطاء لتجاوز الشهادة مع الحفاظ على فرض App Check. اطّلِع على تعليمات الإعداد لمنصتك: iOS+ | Android | الويب | Flutter | Unity.
تحسين الحماية من خلال إضافة الحماية من إعادة استخدام الرموز
|
ننصحك باستخدام أحدث إصدارات حِزم SDK، ولكن
تأكَّد من استخدام أحد هذه الإصدارات على الأقل لاستخدام
الحماية من إعادة استخدام الرموز: Apple platforms الإصدار 12.2.0 أو إصدار أحدث | Android BoM الإصدار 34.14.0 أو إصدار أحدث (App Check الإصدار 19.1.0 أو إصدار أحدث) | الويب الإصدار 12.14.0 أو إصدار أحدث | Flutter الإصدار 4.15.0 أو إصدار أحدث (App Check الإصدار 4.10.0 أو إصدار أحدث) | Unity الإصدار 13.12.0 أو إصدار أحدث |
تستخدم App Check تلقائيًا الرموز المميّزة للجلسة التي تتراوح مدة بقائها
بين
ومع ذلك، يمكنك تحسين الحماية بما يتجاوز هذه الحماية الأساسية من خلال فرض الحماية من إعادة استخدام الرموز، التي تستخدم الرموز المميّزة المحدودة الاستخدام بدلاً من ذلك. عند فرض الحماية من إعادة استخدام الرموز، يحدث ما يلي:
App Check ستحظر الطلبات الموجَّهة إلى Firebase AI Logic التي تستخدم الرموز المميّزة للجلسة. بدلاً من ذلك، App Check لن تسمح بطلب موجَّه إلى Firebase AI Logic إلا إذا كان يستخدم رمزًا مميّزًا محدود الاستخدام تم سكه حديثًا.
بعد التحقّق من الرمز المميّز المحدود الاستخدام، يتم استخدامه حتى لا يمكن استخدامه إلا مرة واحدة، ما يمنع الهجمات التي تهدف إلى إعادة استخدام الرموز.
تنشئ حزمة SDK الخاصة بميزة App Check رمزًا مميّزًا جديدًا محدود الاستخدام لـ كل طلب. يُرجى العِلم أنّ هذه العملية يمكن أن تؤثّر في طلباتك من خلال إضافة بعض وقت الاستجابة وأحيانًا التكلفة (حسب موفِّر الشهادة).
إعداد الحماية من إعادة استخدام الرموز وفرضها
|
انقر على موفِّر 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
// ... // During instantiation, enable usage of limited-use tokens final ai = await FirebaseAI.googleAI( useLimitedUseAppCheckTokens: true, ); // ...Unity
// ... // During instantiation, enable usage of limited-use tokens var ai = FirebaseAI.GetInstance( useLimitedUseAppCheckTokens: true ); // ...افرض الحماية من إعادة استخدام الرموز.
في قاعدة رموز تطبيقك، تأكَّد من أنّك فعّلت استخدام الرموز المميّزة المحدودة الاستخدام (راجِع الخطوة السابقة).
في وحدة تحكّم Firebase، انتقِل إلى الأمان > فحص التطبيقات.
وسِّع عرض المقاييس لـ Firebase AI Logic.
تأكَّد من أنّ الحماية الأساسية مفروضة، ثم انقر على متابعة.
بالنسبة إلى الحماية من إعادة استخدام الرموز، اختَر غير مفروضة (للمراقبة فقط) أو مفروضة.
ضع في اعتبارك ما يلي لتحديد وقت فرض الحماية من إعادة استخدام الرموز:
يُنصح بمراقبة طلباتك إذا كان من المحتمل أن يستخدم عدد كبير من المستخدمين إصدارات سابقة من تطبيقك بدون تفعيل استخدام الرموز المميّزة المحدودة الاستخدام. إذا فرضت الحماية من إعادة استخدام الرموز على الفور، سيتم حظر الطلبات الواردة من هؤلاء المستخدمين.
يمكنك مراقبة المقياس لم يتم التحقّق منه: تم إعادة استخدام الرمز المميّز على وجه التحديد، وهو عدد الطلبات التي تتضمّن رمزًا مميّزًا سبق استخدامه في طلب سابق. راقِب هذا المقياس في وحدة التحكّم Firebase (انتقِل إلى الأمان > فحص التطبيقات > واجهات برمجة التطبيقات علامة التبويب).
إذا كانت نسبة كبيرة من الطلبات الأخيرة تنتمي إلى هذه الفئة، يمكنك تجنُّب إزعاج المستخدمين والانتظار لفرض الحماية من إعادة استخدام الرموز إلى أن يحدِّث المزيد من المستخدمين إلى إصدار من تطبيقك يستخدم الرموز المميّزة المحدودة الاستخدام.
فهم كيفية دمج Firebase AI Logic مع App Check
لاستخدام حِزم SDK الخاصة بميزة Firebase AI Logic، يجب تفعيل واجهة برمجة التطبيقات الخاصة بميزة
Firebase AI Logic (firebasevertexai.googleapis.com)
في مشروع Firebase. وذلك لأنّ الطلبات التي تقدّمها حِزم SDK الخاصة بـ
Firebase AI Logic تُرسَل أولاً إلى خادم Firebase AI Logic
، الذي يعمل كبوابة وكيل يتم فيها التحقّق من Firebase App Check
قبل السماح للطلب بالانتقال إلى خلفية موفِّر "Gemini API" الذي اخترته وواجهات برمجة التطبيقات للوصول إلى نماذج Gemini
وImagen.
(اختياري) فرض App Check بدون مقدّم خدمة شهادة إنتاج (مقدّم خدمة تصحيح الأخطاء فقط)
يمكنك فرض App Check على AI Logic بدون تسجيل تطبيقك لدى موفِّر شهادة إنتاج. يتيح لك هذا الإعداد استخدام App Check مقدّم خدمة تصحيح الأخطاء للبدء في استخدام AI Logic بسهولة أكبر مع الحفاظ على حماية Gemini API.
تحقَّق مما إذا كانت ميزة App Check مفروضة حاليًا على ميزة AI Logic.
في وحدة تحكّم Firebase، انتقِل إلى علامة التبويب الأمان > فحص التطبيقات > واجهات برمجة التطبيقات.
ابحث عن صف Firebase AI Logic إذا كان مكتوبًا
Unenforced، تابع بقية هذه التعليمات.
انقر على صف Firebase AI Logic، وستظهر لك رسوم بيانية للمقاييس. أسفل هذه الرسوم البيانية، انقر على إعداد.
في الشاشة الأولى من مربّع الحوار (الحماية الأساسية)، اختَر مفروضة، ثم انقر على متابعة.
في الشاشة التالية (الحماية من إعادة استخدام الرموز)، اختَر غير مفعّلة. يمكنك إعداد ذلك في وقت لاحق والرجوع إلى سير عمل الإعداد هذا. انقر على متابعة.
في الشاشة الأخيرة، راجِع الاعتبارات الخاصة بفرض App Check للتأكّد من أنّك مستعد لفرض App Check. إذا كنت مستعدًا، انقر على متابعة.
ليس عليك تسجيل تطبيقاتك إذا كنت تريد فقط فرض App Check واستخدام فقط مقدّم خدمة تصحيح الأخطاء مع AI Logic في تطبيق مرحلة ما قبل الإنتاج. ومع ذلك، عندما تكون مستعدًا لإطلاق تطبيقك للمستخدمين النهائيين، عليك تسجيل تطبيقاتك كجزء من إعداد موفِّر شهادة إنتاج (مثل App Attest أو Play Integrity أو reCAPTCHA Enterprise).
بالنسبة إلى عملية التطوير المحلية عند فرض App Check، عليك إعداد App Check موفِّر تصحيح الأخطاء لتجاوز الشهادة مع الحفاظ على فرض App Check.
للحصول على تفاصيل حول إعداد مقدّم خدمة تصحيح الأخطاء، اطّلِع على التعليمات الخاصة بـ منصتك: iOS+ | Android | الويب | Flutter | Unity.