فهرست وارسی امنیتی برای استفاده از Firebase AI Logic

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

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

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

اجرا کردن Firebase App Check

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

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

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

فعال کردن محافظت دربرابر بازپخش با توکن‌های با استفاده محدود

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

تنظیم محدودیت برای کلیدهای Firebase API

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

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

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

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

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

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

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

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

استفاده از الگوهای پیام‌واره سرور

از الگوهای پیام‌واره سرور استفاده کنید تا پیام‌واره‌ها، دستورالعمل‌های سیستم، و پیکربندی‌های مدل را به‌جای اینکه در کد برنامه کارخواه کدبندی سخت کنید (که در آنجا می‌توانند بااستفاده از واکدگذاری دودویی استخراج شوند)، به‌طور ایمن در ابر نگه دارید.

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

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

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

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

اجرای حالت فقط الگو

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

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

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

راه‌اندازی پایش هوش مصنوعی در کنسول Firebase

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

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

از پروژه خود دربرابر افزایش‌های ناگهانی استفاده و حمله‌های منع سرویس کیف پول محافظت کنید:

با هشدارها و سقف‌های هزینه از صورت‌حساب‌های غیرمنتظره جلوگیری کنید

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

مراحل بعدی