כשמתקשרים אל Gemini API ישירות מאפליקציות לנייד ומאפליקציות אינטרנט, צריך להשתמש בגישה רב-שכבתית של הגנה לעומק כדי להגן על התשתית, על המכסה ועל ההנחיות הקנייניות של ה-Backend. כדי ליישם את השיטות המומלצות לאבטחה של Firebase AI Logic, כדאי לעיין ברשימת המשימות הזו.
אימות של אפליקציות, מכשירים ומשתמשים
לוודא שהבקשות הנכנסות מגיעות ממופעים לגיטימיים של האפליקציה שלא עברו שינוי, שפועלים במכשירים מקוריים, וגם ממשתמשים מקוריים.
אכיפה Firebase App Check
הפעלת Firebase App Check עוזרת להגן על Gemini API מפני שימוש לרעה כשקוראים לה ישירות מהאפליקציה. כשמפעילים את App Check, המערכת מוודאת שהבקשות הנכנסות מגיעות מהאפליקציה המקורית שלכם או ממכשיר שלא בוצעו בו שינויים.
App Check תומך בספקי אימות לפלטפורמות של אפל (DeviceCheck, App Attest או reCAPTCHA Enterprise), ל-Android (Play Integrity או reCAPTCHA Enterprise) ולאינטרנט (reCAPTCHA Enterprise). הוא תומך בכל הספקים האלה גם באפליקציות Flutter ו-Unity.
החל מתחילת יולי 2026, מערכת Firebase תאכוף אוטומטית את App Check עבור Firebase AI Logic במהלך ההגדרה המודרכת בFirebaseמסוף. אם הגדרתם את Firebase AI Logic קודם, חשוב לאכוף את App Check באופן מפורש. לפיתוח מקומי, אפשר להגדיר את App Check ספק ניפוי הבאגים, ואז לרשום את האפליקציה אצל ספק אימות בסביבת הייצור לפני שמשחררים אותה למשתמשי הקצה.
הפעלה של הגנה מפני שידור חוזר באמצעות טוקנים לשימוש מוגבל
במסגרת ההגדרה של App Check, כדאי לאכוף הגנה מפני שידור חוזר כדי שאסימוני App Check יהיו לשימוש חד-פעמי בלבד. האפשרות הזו מציעה הגנה משופרת מעבר להגנה הבסיסית, ומאפשרת לכם להגדיר רמת הגנה מתאימה לאפליקציה ולתרחישי השימוש שלכם.
הגדרת הגבלות למפתחות API של Firebase
מפתחות API של Firebase מזהים את הפרויקט והאפליקציה שלכם ב-Firebase כשמבצעים בקשות. כדי למנוע שימוש לא מורשה במפתחות ה-API:
מגדירים את Application restrictions במסוף Google Cloud כדי להגביל את השימוש במפתח רק לבקשות שמגיעות ממזהה החבילה הספציפי של האפליקציה (Apple), משם החבילה ומטביעת האצבע של SHA-1 (Android) או מכתובת ה-HTTP של הדף שהמשתמש הגיע ממנו (אינטרנט).
בודקים את רשימת ההיתרים של הגבלות ה-API של כל מפתח:
- מוודאים שממשק ה-API Firebase AI Logic (
firebasevertexai.googleapis.com) נמצא ברשימת ההיתרים. - מוודאים שממשקי ה-API האחרים ברשימת ההיתרים הם רק שירותי Firebase ספציפיים שהאפליקציה דורשת. אפשר לעיין ברשימת ממשקי ה-API הנדרשים למפתחות Firebase מוגבלים.
- מוודאים שממשק ה-API Firebase AI Logic (
שימו לב: ממשקי API שקשורים ל-Firebase משתמשים במפתחות API רק כדי לזהות את הפרויקט או האפליקציה ב-Firebase, ולא כדי לאשר את הקריאה ל-API.
הגבלת הבקשות למשתמשים מאומתים בלבד
כדאי לאכוף את מצב המשתמשים המאומתים כדי שכל הבקשות דרך Firebase AI Logic יכללו פרטי כניסה תקפים מ-Firebase Authentication. אם הבקשה מגיעה ממשתמש קצה לא מאומת, היא נדחית עם השגיאה 401: unauthenticated.
הגנה על הנחיות וחיזוק בקשות
מונעים את הדה-קומפילציה של הלקוח כדי שלא יחשפו את עיצובי ההנחיות שלכם, ומגבילים את הגישה לקצה העורפי כדי שמשתמשים זדוניים לא יוכלו להריץ הנחיות שרירותיות.
שימוש בתבניות של הנחיות לשרת
מומלץ להשתמש בתבניות של הנחיות בצד השרת כדי לשמור את ההנחיות, את הוראות המערכת ואת הגדרות המודל בצורה מאובטחת בענן, במקום להצפין אותן בקוד של אפליקציית הלקוח, שבו אפשר לחלץ אותן באמצעות פירוק בינארי.
האפליקציה מפנה רק למזהה תבנית ומעבירה משתני קלט דינמיים. תבניות פרומפטים בשרת מאפשרות לכם גם לעדכן פרומפטים או להחליף מודלים לפי דרישה בלי לפרסם גרסה חדשה של האפליקציה.
אימות וניקוי של משתני תבנית שסופקו על ידי לקוח
תבניות של פרומפטים בשרת מגנות על עיצוב הפרומפטים, אבל תבניות שמקבלות משתנים דינמיים עדיין יכולות להיות פגיעות להחדרת פרומפטים. מכיוון שתבניות משלבות משתני קלט של משתמשים בהנחיה הסופית, חשוב לבצע את הפעולות הבאות:
- צריך לאמת ולנקות את כל קלט של משתמשים בלקוח לפני העברת משתנים לתבנית (למשל, אכיפת מגבלות תווים ופורמטים צפויים).
- צריך לכלול בתבניות הוראות מערכת ברורות שמגדירות את אמצעי הבקרה לאופן העיבוד של קלט של משתמשים.
אכיפת מצב 'תבניות בלבד'
כדאי לשקול להחיל מצב של שימוש בתבניות בלבד אחרי שכל התכונות של האפליקציה משתמשות בתבניות של הנחיות לשרת. כשהאפשרות הזו מופעלת,Firebase AI Logic היא חוסמת את כל הבקשות הישירות שלא מבוססות על תבנית אלGemini API (403: unauthorized), וכך מונעת מגורמים זדוניים לשלוח הנחיות שרירותיות או לנצל לרעה את המכסה שלכם.
מעקב, מגבלות וחיוב
לקבל תובנות לגבי תנועה נכנסת ואנומליות אבטחה, ולהגן על הפרויקט מפני עליות חדות לא צפויות בשימוש או עלויות גבוהות מדי.
הגדרת מעקב אחרי שימוש בתכונות AI במסוף Firebase
הגדרת מעקב אחרי שימוש בתכונות AI במסוף Firebase מאפשרת לקבל תובנות לגבי מדדים חשובים, כמו מספר הבקשות, זמן האחזור, השימוש באסימונים ושיעורי השגיאות (כולל כשלים באימות 401 וחסימות של תבניות בלבד 403).
אפשר גם לבדוק עקבות ספציפיות בGoogle Cloudמסוף.
הגדרת הגבלות קצב וניהול מכסות
הגנה על הפרויקט מפני עליות חדות ובלתי צפויות בשימוש ומתקפות מניעת שירות (DoS) שגורמות לניצול יתר של המימון:
- הגדרת מגבלות קצב לכל משתמש (ברירת המחדל היא 100 RPM) כדי למנוע ממקרים ספציפיים של לקוחות לצרוך מכסה מוגזמת.
- בדיקה וניהול של מכסות הפרויקט במסוף Google Cloud לכל API בסיסי.
איך נמנעים מחשבונות מפתיעים בעזרת התראות ומגבלות הוצאה
אם פרויקט Firebase שלכם מוגדר במינוי Blaze בתשלום לפי שימוש:
השלבים הבאים
- כדאי לעיין ברשימת משימות האבטחה הכללית של Firebase.
- מעיינים ברשימת המשימות הכללית להעברה לסביבת הייצור של Firebase AI Logic.
- מידע נוסף על תמחור וניהול עלויות ב-Firebase AI Logic