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

يمكنك فرض وضع المستخدمين الذين تمّت مصادقتهم لمشروع 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 وAgent Platform Gemini API (formerly Vertex AI).
    • ينطبق هذا الإعداد على جميع الطلبات التي تستخدم نماذج طلبات الخادم.
    • لا يمكن تطبيق هذا الإعداد على أساس كل مستخدم أو كل واجهة برمجة تطبيقات أو كل نموذج.
  • لا يحظر هذا الإعداد طلبات Gemini API في مشروعك التي لا تتم عبر Firebase AI Logic.

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

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

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

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

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

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

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

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

    • إذا كان تطبيقك يستخدم الإصدار firebase_ai 3.11.0 أو إصدارًا أقدم من إضافة Flutter (الإصدار 4.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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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