چک لیست امنیتی برای استفاده از Firebase AI Logic

وقتی API Gemini را مستقیماً از برنامه‌های تلفن همراه و وب خود فراخوانی می‌کنید، محافظت از زیرساخت backend، سهمیه و اعلان‌های اختصاصی شما نیاز به یک رویکرد دفاعی چندلایه و عمیق دارد. برای پیاده‌سازی بهترین شیوه‌های امنیتی توصیه‌شده برای Firebase AI Logic ، این چک‌لیست را مرور کنید.

تأیید برنامه، دستگاه و کاربر

تأیید کنید که درخواست‌های ورودی از نمونه‌های قانونی و بدون دستکاری برنامه شما که روی دستگاه‌های معتبر اجرا می‌شوند و همچنین از کاربران معتبر سرچشمه می‌گیرند.

Firebase App Check اجباری کنید

برای محافظت از API Gemini در برابر سوءاستفاده، هنگام فراخوانی مستقیم از برنامه شما، Firebase App Check فعال کنید . وقتی App Check فعال می‌شود، تأیید می‌کند که درخواست‌های ورودی از برنامه معتبر شما و/یا یک دستگاه دستکاری نشده سرچشمه می‌گیرند.

App Check از ارائه‌دهندگان گواهی برای پلتفرم‌های اپل (DeviceCheck، App Attest یا reCAPTCHA Enterprise )، اندروید (Play Integrity یا reCAPTCHA Enterprise ) و وب ( reCAPTCHA Enterprise ) پشتیبانی می‌کند. این ابزار از همه این ارائه‌دهندگان برای برنامه‌های Flutter و Unity نیز پشتیبانی می‌کند.

از اوایل ژوئیه ۲۰۲۶، فایربیس به طور خودکار در طول تنظیمات هدایت‌شده در کنسول Firebase ، App Check برای Firebase AI Logic اعمال می‌کند. اگر Firebase AI Logic را قبلاً راه‌اندازی کرده‌اید، حتماً App Check به صراحت اعمال کنید . برای توسعه محلی، می‌توانید ارائه‌دهنده اشکال‌زدایی App Check راه‌اندازی کنید و سپس برنامه خود را قبل از انتشار برای کاربران نهایی، در یک ارائه‌دهنده گواهی تولید ثبت کنید.

فعال کردن محافظت در برابر تکرار با توکن‌های با کاربرد محدود

به عنوان بخشی از تنظیم App Check ، اعمال محافظت در برابر تکرار را در نظر بگیرید تا توکن‌های App Check فقط یک بار مصرف باشند. این گزینه محافظت پیشرفته‌تری فراتر از محافظت پایه ارائه می‌دهد و به شما امکان می‌دهد سطح مناسبی از محافظت را برای برنامه و موارد استفاده خود تعیین کنید.

محدودیت‌هایی را برای کلیدهای API فایربیس خود تنظیم کنید

کلیدهای API فایربیس، پروژه و برنامه فایربیس شما را هنگام ارسال درخواست شناسایی می‌کنند. برای جلوگیری از استفاده غیرمجاز از کلیدهای API خود:

  • «محدودیت‌های برنامه» را در کنسول Google Cloud تنظیم کنید تا استفاده از کلید فقط به درخواست‌هایی از شناسه بسته خاص برنامه شما (اپل)، نام بسته و اثر انگشت SHA-1 (اندروید) یا ارجاع‌دهنده HTTP (وب) محدود شود.

  • لیست مجوزهای «محدودیت‌های API» هر کلید را بررسی کنید:

    • مطمئن شوید که API منطق هوش مصنوعی فایربیس ( firebasevertexai.googleapis.com ) در لیست مجاز قرار دارد.
    • مطمئن شوید که تنها APIهای دیگر موجود در لیست مجاز، سرویس‌های خاص Firebase مورد نیاز برنامه شما هستند. برای کلیدهای محدود Firebase، به لیست APIهای مورد نیاز مراجعه کنید.

توجه داشته باشید که APIهای مرتبط با Firebase فقط از کلیدهای API برای شناسایی پروژه یا برنامه Firebase استفاده می‌کنند، نه برای مجوز فراخوانی API.

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

حالت احراز هویت کاربران را فعال کنید تا تمام درخواست‌ها از طریق Firebase AI Logic شامل اعتبارنامه‌های معتبر از Firebase Authentication باشند. اگر درخواستی از یک کاربر نهایی احراز هویت نشده ارسال شود، درخواست با خطای 401: unauthenticated رد می‌شود.

محافظت سریع و درخواست مقاوم‌سازی

از افشای طرح‌های اعلان شما توسط دیکامپایل کلاینت جلوگیری کنید و بخش مدیریت خود را قفل کنید تا کاربران مخرب نتوانند اعلان‌های دلخواه را اجرا کنند.

از الگوهای اعلان سرور استفاده کنید

از قالب‌های اعلان سرور برای نگهداری ایمن اعلان‌ها، دستورالعمل‌های سیستم و پیکربندی‌های مدل در فضای ابری استفاده کنید ، نه اینکه آنها را در کد برنامه کلاینت به صورت دستی کدگذاری کنید تا بتوان آنها را با استفاده از دیکامپایل باینری استخراج کرد.

برنامه شما فقط به یک شناسه الگو ارجاع می‌دهد و متغیرهای ورودی پویا را ارسال می‌کند. الگوهای اعلان سرور همچنین به شما امکان می‌دهند اعلان‌ها را به‌روزرسانی کنید یا مدل‌ها را در صورت تقاضا تغییر دهید بدون اینکه نسخه جدیدی از برنامه خود را منتشر کنید.

اعتبارسنجی و پاکسازی متغیرهای قالب ارائه شده توسط کلاینت

قالب‌های اعلان سرور از طراحی اعلان شما محافظت می‌کنند، اما قالب‌هایی که متغیرهای پویا را می‌پذیرند، همچنان می‌توانند در معرض تزریق اعلان قرار گیرند. از آنجا که قالب‌ها متغیرهای ورودی کاربر را در اعلان نهایی ادغام می‌کنند، حتماً موارد زیر را انجام دهید:

  • قبل از ارسال متغیرها به یک الگو (مانند اعمال محدودیت‌های کاراکتر و قالب‌های مورد انتظار)، تمام ورودی‌های کاربر را در کلاینت اعتبارسنجی و بررسی کنید.
  • دستورالعمل‌های سیستمی واضحی را در قالب‌های خود بگنجانید که محافظ‌هایی را برای نحوه پردازش ورودی کاربر تعریف می‌کنند.

حالت فقط قالب را اعمال کنید

زمانی که تمام ویژگی‌های برنامه شما از قالب‌های اعلان سرور استفاده می‌کنند ، اجرای حالت فقط-الگو را در نظر بگیرید. در صورت اعمال این حالت، Firebase AI Logic تمام درخواست‌های مستقیم و بدون الگو به API Gemini ( 403: unauthorized ) را مسدود می‌کند و از ارسال اعلان‌های دلخواه توسط افراد مخرب یا سوءاستفاده از سهمیه شما جلوگیری می‌کند.

نظارت، محدودیت‌ها و صورتحساب

به ترافیک ورودی و ناهنجاری‌های امنیتی اشراف پیدا کنید و پروژه خود را از افزایش غیرمنتظره مصرف یا هزینه‌های سرسام‌آور محافظت کنید.

تنظیم نظارت بر هوش مصنوعی در کنسول Firebase

نظارت هوش مصنوعی را در کنسول Firebase تنظیم کنید تا به معیارهای کلیدی، مانند تعداد درخواست‌ها، تأخیر، استفاده از توکن و نرخ خطا (از جمله خطاهای احراز هویت 401 و بلوک‌های فقط قالب 403 ) دسترسی داشته باشید. همچنین می‌توانید ردپاهای تک تک را در کنسول Google Cloud بررسی کنید.

تعیین محدودیت‌های نرخ و مدیریت سهمیه‌ها

از پروژه خود در برابر افزایش غیرمنتظره مصرف و حملات انکار کیف پول محافظت کنید:

با هشدارها و سقف هزینه‌ها، از پرداخت‌های غافلگیرکننده خودداری کنید

اگر پروژه Firebase شما در طرح قیمت‌گذاری Blaze با پرداخت در محل قرار دارد:

مراحل بعدی