حصر الطلبات على المستخدمين الذين تم إثبات ملكيتهم فقط

يمكنك فرض وضع المستخدمين الذين تمّت مصادقتهم على مشروع Firebase. عند فرض هذا الوضع، يجب أن تأتي جميع طلبات Gemini API من خلال Firebase AI Logic من مستخدمين تمّت مصادقتهم لتطبيقك. على وجه التحديد، يجب مصادقة المستخدم النهائي لتطبيقك باستخدام Firebase Authentication قبل أن يرسل طلبًا إلى Firebase AI Logic من تطبيقك. إذا لم تتم مصادقة المستخدم النهائي، يتم حظر الطلب.

عند حظر طلب، سيكون الردّ هو الخطأ 401: unauthenticated.

اعتبارات مهمّة

يُرجى العِلم بالاعتبارات المهمّة التالية لوضع "المستخدمون الذين تمّت مصادقتهم".

عند فرض وضع "المستخدمون الذين تمّت مصادقتهم"

عند فرض وضع "المستخدمون الذين تمّت مصادقتهم"، يُرجى العِلم بما يلي:

  • هذا الإعداد على مستوى المشروع في Firebase AI Logic.

    • ينطبق على جميع التطبيقات المسجّلة في المشروع.
    • ينطبق فقط على المشروع الذي تم فيه فرض هذا الوضع.
  • يحظر هذا الإعداد جميع الطلبات من خلال Firebase AI Logic التي لا ترسل بيانات اعتماد Firebase Authentication.

    • يجب مصادقة المستخدم من خلال Firebase Authentication قبل إرسال الطلب إلى Firebase AI Logic.
    • ينطبق هذا الإعداد على جميع الطلبات من خلال Firebase AI Logic إلى كلٍّ من Gemini Developer API وVertex AI Gemini API.
    • ينطبق هذا الإعداد على جميع الطلبات التي تستخدم نماذج طلبات الخادم.
    • لا يمكن تطبيق هذا الإعداد على أساس كل مستخدم أو كل واجهة برمجة تطبيقات أو كل نموذج.
  • لا يحظر هذا الإعداد طلبات Gemini API في مشروعك التي ليست من خلال Firebase AI Logic.

  • إذا كنت تستخدم وضعًا مختلطًا أو وضعًا على الجهاز فقط:

    • يحظر هذا الإعداد الطلبات إلى النموذج المستضاف على السحابة الإلكترونية إذا لم تتم مصادقة المستخدم.
    • لا يحظر هذا الإعداد الطلبات إلى النموذج على الجهاز فقط بغض النظر عن حالة مصادقة المستخدم.
  • إذا كنت تستخدم Gemini Live API:

    • يحظرهذا الإعداد استخدام Gemini Live API لـ تطبيقات الويب عند استخدام Firebase AI Logic، حتى بالنسبة إلى المستخدمين الذين تمّت مصادقتهم. ويشمل ذلك تطبيقات الويب التي تستخدم Firebase JS SDK أو تطبيقات Flutter للويب.
  • إذا كنت تستخدم Firebase AI Logic REST API:

    • يحظر هذا الإعداد طلبات الاستنتاج التي لا ترسل Firebase Authentication بيانات اعتماد. ويشمل ذلك طلبات نماذج طلبات الخادم، مثل templateGenerateContent أو templateStreamGenerateContent.
    • لا يحظر هذا الإعداد طلبات لوحة التحكّم (مثل طلبات إدارة النماذج والإعدادات)، لأنّها محمية من خلال إدارة الهوية وإمكانية الوصول.
  • لا يحظر هذا الإعداد الطلبات إلى countTokens (واجهة برمجة التطبيقات Count Tokens).

قبل فرض وضع "المستخدمون الذين تمّت مصادقتهم"

يُرجى العِلم بما يلي قبل فرض وضع "المستخدمون الذين تمّت مصادقتهم":

  • إذا كانت لديك إصدارات حالية من تطبيقك لا تستخدم Firebase Authentication:

    • سيؤدي هذا الإعداد إلى حظر الطلبات من خلال Firebase AI Logic من إصدارات التطبيق الحالية هذه.
    • يُرجى التأكّد من تعديل جميع العملاء النشطين لاستخدام Firebase Authentication قبل فرض وضع "المستخدمون الذين تمّت مصادقتهم".
  • تتطلّب الإصدارات الأقدم من مكوّن Flutter الإضافي إنشاء مثيل خاص لإرسال Firebase Authentication بيانات الاعتماد مع الطلبات.

    • إذا كان تطبيقك يستخدم مكوّن Flutter الإضافي firebase_ai الإصدار 3.11.0 أو إصدارًا أقدم (قائمة المواد في الإصدار v4.12.0 أو إصدارًا أقدم) ولا يمرِّر Authentication أثناء إنشاء المثيل، سيؤدي هذا الإعداد إلى حظر الطلبات من خلال Firebase AI Logic، حتى بالنسبة إلى المستخدمين الذين تمّت مصادقتهم.
    • يُرجى التأكّد من تعديل جميع العملاء النشطين لتطبيق Flutter إلى إصدار أحدث من المكوّن الإضافي قبل فرض وضع "المستخدمون الذين تمّت مصادقتهم".

إعداد Firebase Authentication

تقدّم مستندات Firebase Authentication أوصافًا وتعليمات التنفيذ لموفِّري المصادقة المتوافق معهم، بما في ذلك استخدام كلمات المرور وأرقام الهواتف وموفِّري الهوية الموحّدة الشائعين (مثل Google وFacebook وGitHub) وغير ذلك.

بعد تنفيذ Firebase Authentication في تطبيقك، سيرسل تطبيقك تلقائيًا بيانات اعتماد Firebase Authentication للمستخدم الذي تمّت مصادقته في كل طلب إلى Firebase AI Logic.

يُرجى العِلم بما يلي بشأن بعض موفِّري المصادقة:

  • المصادقة المخصّصة: عليك جلب رمز مصادقة موقَّع لإرساله مع الطلب إلى Firebase AI Logic. لمعرفة التفاصيل، يُرجى الاطّلاع على المصادقة المخصّصة.

  • طرق المصادقة المجهولة أو البريد الإلكتروني/كلمة المرور: يُعدّ هؤلاء المستخدمون مستخدمين تمّت مصادقتهم ، لذا طلباتهم إلى Firebase AI Logic لا يتم حظرها.

    يُرجى العِلم أنّه على الرغم من أنّ طرق المصادقة المجهولة والبريد الإلكتروني/كلمة المرور تتطلّب من المستخدمين زيارة تطبيقك لإنشاء Firebase Authentication بيانات اعتماد، ليست هذه الطرق أشكالاً قوية للمصادقة (خاصةً لحماية مورد مدفوع) لأنّها لا تتطلّب تلقائيًا التحقّق من الهوية من المستخدم. إذا كان تطبيقك يستخدم التنفيذ التلقائي لطرق المصادقة هذه، يمكن توفير حماية أقل حتى إذا فرضت وضع "المستخدمون الذين تمّت مصادقتهم". يُرجى التأكّد من أنّك أيضًا فرضت Firebase App Check.

إدارة إعداد وضع "المستخدمون الذين تمّت مصادقتهم"

يمكنك إدارة إعداد وضع "المستخدمون الذين تمّت مصادقتهم" في Firebase Console.

أذونات وأدوار إدارة الهوية وإمكانية الوصول المطلوبة

تتطلّب إدارة إعداد وضع "المستخدمون الذين تمّت مصادقتهم" الإذن firebasevertexai.configs.update، الذي يتم تضمينه تلقائيًا في أدوار إدارة الهوية وإمكانية الوصول التالية: المالك والمحرِّر ومشرف Firebase ومشرف Firebase AI Logic.

فرض وضع "المستخدمون الذين تمّت مصادقتهم"

في ما يلي كيفية فرض وضع "المستخدمون الذين تمّت مصادقتهم" على مشروعك على Firebase:

  1. إذا لم يسبق لك ذلك، يُرجى مراجعة الـ اعتبارات المهمّة لوضع " المستخدمون الذين تمّت مصادقتهم" في وقت سابق من هذا الدليل.

  2. إذا لم يسبق لك ذلك، يُرجى إعداد Firebase Authentication في تطبيقك (كما هو موضّح سابقًا في هذا الدليل).

  3. فرض وضع "المستخدمون الذين تمّت مصادقتهم":

    1. في Firebase Console، انتقِل إلى خدمات الذكاء الاصطناعي > Firebase AI Logic > علامة التبويب الإعدادات.

    2. ضمن وضع "المستخدمون الذين تمّت مصادقتهم"، حرِّك الزرّ بجانب فرض وضع "المستخدمون الذين تمّت مصادقتهم" إلى مفروض.

    3. راجِع مربّع حوار التأكيد، ثم انقر على تأكيد.

إيقاف فرض وضع "المستخدمون الذين تمّت مصادقتهم"

إذا أوقفت فرض وضع "المستخدمون الذين تمّت مصادقتهم"، يُرجى العِلم بما يلي:

  • سيتم السماح بالطلبات من خلال Firebase AI Logic التي لا ترسل Firebase Authentication بيانات الاعتماد.
  • هذا الإعداد على مستوى المشروع في Firebase AI Logic.

في ما يلي كيفية إيقاف فرض وضع "المستخدمون الذين تمّت مصادقتهم" على مشروعك على Firebase:

  1. في Firebase Console، انتقِل إلى خدمات الذكاء الاصطناعي > Firebase AI Logic > علامة التبويب الإعدادات.

  2. ضمن وضع "المستخدمون الذين تمّت مصادقتهم"، أوقِف فرض وضع "المستخدمون الذين تمّت مصادقتهم".

  3. راجِع مربّع حوار التأكيد، ثم انقر على تأكيد.