وقتی مستقیماً از برنامههای تلفن همراه و تحت وب خود با 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 بیشتر بدانید.