درخواست‌ها را فقط به کاربران اصالت‌سنجی‌شده محدود کنید

می‌توانید حالت کاربران اصیل را برای پروژه Firebase خود اعمال کنید. وقتی اجرایی شود، همه درخواست‌های Gemini API ازطریق Firebase AI Logic باید از کاربران اصالت‌سنجی‌شده برنامه شما ارسال شود. به‌طور دقیق، کاربر نهایی برنامه شما باید قبل‌از ارسال درخواست به Firebase AI Logic از برنامه شما، بااستفاده از Firebase Authentication اصالت‌سنجی شود. اگر کاربر نهایی اصالت‌سنجی نشده باشد، درخواست مسدود می‌شود.

وقتی درخواستی مسدود می‌شود، پاسخ خطای 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) اعمال می‌شود.
    • این تنظیم برای همه درخواست‌هایی که از الگوهای پیام‌واره سرور استفاده می‌کنند اعمال می‌شود.
    • این تنظیم نمی‌تواند براساس هر کاربر، هر API، یا هر الگو اعمال شود.
  • این تنظیم درخواست‌های Gemini API در پروژه شما را که ازطریق Firebase AI Logic نیستند مسدود نمی‌کند.

  • اگر از ترکیبی / درون‌دستگاهی استفاده می‌کنید:

    • این تنظیم درخواست‌ها به مدل میزبانی‌شده در فضای ابری را درصورتی‌که کاربر اصالت‌سنجی نشده باشد مسدود می‌کند.
    • این تنظیم درخواست‌ها به مدل درون‌دستگاهی را صرف‌نظر از وضعیت اصالت‌سنجی کاربر مسدود نمی‌کند.
  • اگر از Gemini Live API استفاده می‌کنید:

    • این تنظیم استفاده از Gemini Live API را برای برنامه‌های تحت وب درصورت استفاده از Firebase AI Logic مسدود می‌کند — حتی برای کاربران اصیل. این شامل برنامه‌های وب بااستفاده از کیت توسعه نرم‌افزار Firebase JS یا برنامه‌های وب Flutter می‌شود.
  • اگر از Firebase AI Logic REST API استفاده می‌کنید:

    • این تنظیم درخواست‌های استنباطی را که اطلاعات اعتباری ارسال نمی‌کنند Firebase Authentication مسدود می‌کند. این شامل درخواست‌های الگوهای پیام‌واره سرور مثل templateGenerateContent یا templateStreamGenerateContent می‌شود.
    • این تنظیم درخواست‌های صفحه کنترل (مانند درخواست‌های مربوط به مدیریت الگوها و پیکربندی‌ها) را مسدود نمی‌کند زیرا این درخواست‌ها توسط IAM محافظت می‌شوند.
  • این تنظیم درخواست‌های countTokens (میانای برنامه‌سازی کاربردی Count Tokens) را مسدود نمی‌کند.

قبل‌از اعمال حالت کاربران اصالت‌سنجی‌شده

قبل‌از اعمال کردن حالت کاربران اصیل، از موارد زیر آگاه باشید:

  • اگر نسخه‌های موجود برنامه‌تان از Firebase Authentication استفاده نمی‌کند:

    • این تنظیم درخواست‌های ارسالی ازطریق Firebase AI Logic را از آن نسخه‌های برنامه موجود مسدود می‌کند.
    • مطمئن شوید که همه مشتریان فعال به‌روز شده‌اند تا از Firebase Authentication قبل‌از اعمال حالت کاربران اصیل استفاده کنند.
  • نسخه‌های قدیمی‌تر افزایه Flutter برای ارسال Firebase Authentication اطلاعات اعتباری با درخواست‌ها به نمونه‌سازی ویژه نیاز دارند.

    • اگر برنامه شما از افزایه Flutter firebase_ai نسخه ۳.۱۱.۰ یا پایین‌تر (BoM نسخه ۴.۱۲.۰ یا پایین‌تر) استفاده می‌کند و درطول نمونه‌سازی 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 مدیریت می‌کنید.

نقش‌ها و اجازه‌های IAM موردنیاز

مدیریت تنظیم حالت کاربران اصیل‌سازی‌شده به اجازه firebasevertexai.configs.update نیاز دارد که به‌طور پیش‌فرض در این نقش‌های IAM وجود دارد: مالک، ویرایشگر، سرپرست 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. کادر گفتگوی تأیید را مرور کنید و سپس روی تأیید کلیک کنید.