وقتی 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 AI Logic (
firebasevertexai.googleapis.com) در فهرست مجاز باشد. - مطمئن شوید که تنها میاناهای برنامهسازی کاربردی دیگر در فهرست مجاز، سرویسهای Firebase خاصی هستند که برنامهتان به آنها نیاز دارد. فهرست میاناهای برنامهسازی کاربردی موردنیاز برای کلیدهای Firebase محدودشده را ببینید.
- مطمئن شوید
میانای برنامهسازی کاربردی Firebase AI Logic (
توجه داشته باشید که میاناهای برنامهسازی کاربردی مرتبط با Firebase از کلیدهای میانای برنامهسازی کاربردی فقط برای شناسایی پروژه یا برنامه Firebase استفاده میکنند، نه برای صدور مجوز برای فراخوانی میانای برنامهسازی کاربردی.
محدود کردن درخواستها فقط به کاربران اصالتسنجیشده
اجرای حالت کاربران اصالتسنجیشده را درنظر بگیرید تا
همه درخواستها ازطریق Firebase AI Logic باید شامل اطلاعات کاربری معتبر از
Firebase Authentication باشد. اگر درخواستی از کاربر نهایی تأییدنشده دریافت شود، درخواست با خطای 401: unauthenticated رد میشود.
محافظت از پیامواره و مقاومسازی درخواست
با جلوگیری از تبدیل کد کارخواه، از افشا شدن طراحیهای پیاموارهتان جلوگیری کنید و زیرینه را قفل کنید تا کاربران مخرب نتوانند پیاموارههای دلخواه را اجرا کنند.
استفاده از الگوهای پیامواره سرور
از الگوهای پیامواره سرور استفاده کنید تا پیاموارهها، دستورالعملهای سیستم، و پیکربندیهای مدل را بهجای کدنویسی سخت در کد برنامه کارخواه که ممکن است بااستفاده از تبدیل کد دودویی استخراج شوند، بهطور ایمن در فضای ابری نگه دارید.
برنامه شما فقط به شناسه الگو ارجاع میدهد و متغیرهای ورودی پویا را ارسال میکند. الگوهای پیامواره سرور همچنین به شما امکان میدهند پیاموارهها را بهروز کنید یا مدلها را درصورت نیاز تغییر دهید بدون اینکه نسخه جدیدی از برنامهتان را منتشر کنید.
اعتبارسنجی و پاکسازی متغیرهای الگوی ارائهشده توسط مشتری
الگوهای پیامواره سرور از طراحی پیامواره شما محافظت میکنند، اما الگوهایی که متغیرهای پویا را میپذیرند همچنان میتوانند دربرابر تزریق پیامواره آسیبپذیر باشند. چون الگوها متغیرهای ورودی کاربر را در پیامواره نهایی بههم متصل میکنند، حتماً کارهای زیر را انجام دهید:
- قبلاز ارسال متغیرها به الگو، همه ورودیهای کاربر را در کلاینت اعتبارسنجی و پاکسازی کنید (مثلاً با اعمال حد نویسه و قالبهای موردانتظار).
- دستورالعملهای واضح سیستم را در الگوهایتان بگنجانید که حفاظهایی را برای نحوه پردازش ورودی کاربر تعریف میکنند.
اجباری کردن حالت فقط الگو
وقتی همه ویژگیهای برنامهتان از الگوهای پیامواره سرور استفاده میکنند، اجرای
حالت فقط الگو را درنظر بگیرید. وقتی اعمال شود،
Firebase AI Logic همه درخواستهای مستقیم و بدون الگو به
Gemini API (403: unauthorized) را مسدود میکند و مانع از ارسال پیاموارههای دلخواه
یا سوءاستفاده از سهمیه شما توسط عاملان بدخواه میشود.
پایش، محدودیتها، و صورتحساب
به ترافیک ورودی و ناهنجاریهای امنیتی دید پیدا کنید و از پروژهتان دربرابر افزایش ناگهانی استفاده یا هزینههای غیرمنتظره محافظت کنید.
راهاندازی پایش هوش مصنوعی در کنسول Firebase
راهاندازی
پایش هوشوارهای در کنسول Firebase
برای مشاهده سنجههای کلیدی، مانند تعداد درخواست، تأخیر، استفاده از کد،
و نرخ خطا (ازجمله 401 خطاهای اصالتسنجی و 403 مسدود کردنهای فقط الگو).
همچنین میتوانید ردیابیهای تکی را در کنسول Google Cloud بازرسی کنید.
تنظیم کردن محدودیتهای نرخ و مدیریت کردن سهمیهها
از پروژهتان دربرابر جهشهای غیرمنتظره در استفاده و حملات «منع سرویس کیف پول» محافظت کنید:
- محدودیتهای نرخ را برای هر کاربر تنظیم کنید (پیشفرض ۱۰۰ درخواست در دقیقه است) تا از مصرف بیشازحد سهمیه توسط نمونههای مشتری تکی جلوگیری شود.
- بررسی و مدیریت سهمیههای پروژه در کنسول Google Cloud برای هر میانای برنامهسازی کاربردی (API) پایه.
با هشدارها و سقفهای هزینه، از صورتحسابهای غافلگیرکننده جلوگیری کنید
اگر پروژه Firebase شما در طرح قیمتگذاری Blaze پرداخت به اندازه استفاده باشد:
هشدارهای بودجه و سقف هزینه تنظیم کنید.
مراحل بعدی
- بازبینه امنیتی Firebase عمومی را مرور کنید.
- بازبینه تولید عمومی را برای Firebase AI Logic مرور کنید.
- درباره مدیریت قیمتگذاری و هزینه برای Firebase AI Logic بیشتر بدانید.