אתם יכולים לאכוף מצב משתמשים מאומתים בפרויקט Firebase. כשהאכיפה מופעלת, כל הבקשות ל-Gemini API דרך Firebase AI Logic חייבות להגיע ממשתמשים מאומתים של האפליקציה. באופן ספציפי, משתמש הקצה של האפליקציה חייב לעבור אימות באמצעות Firebase Authentication לפני שהוא שולח בקשה ל-Firebase AI Logic מהאפליקציה. אם משתמש הקצה לא מאומת, הבקשה נחסמת.
כשבקשה נחסמת, התגובה תהיה שגיאת 401: unauthenticated.
שיקולים חשובים
חשוב לשים לב לנקודות הבאות לגבי מצב משתמשים מאומתים.
כשאוכפים את מצב המשתמשים המאומתים
כשמצב משתמשים מאומתים נאכף, חשוב לשים לב לדברים הבאים:
ההגדרה הזו חלה על כל הפרויקט ב-Firebase AI Logic.
- היא חלה על כל האפליקציות שרשומות בפרויקט.
- היא חלה רק על הפרויקט שבו היא נאכפת.
ההגדרה הזו חוסמת את כל הבקשות דרך Firebase AI Logic שלא נשלחים בהן פרטי כניסה של Firebase Authentication.
- המשתמש צריך לעבור אימות באמצעות Firebase Authentication לפני שליחת הבקשה אל Firebase AI Logic.
- ההגדרה הזו חלה על כל הבקשות דרך Firebase AI Logic גם ל-Gemini Developer API וגם ל-Agent Platform Gemini API (formerly Vertex AI).
- ההגדרה הזו חלה על כל הבקשות שמשתמשות בתבניות לפרומפטים בשרת.
- אי אפשר להחיל את ההגדרה הזו על משתמש, API או תבנית ספציפיים.
ההגדרה הזו לא חוסמת בקשות של Gemini API בפרויקט, שהן לא דרך Firebase AI Logic.
אם אתם משתמשים במודל היברידי או במודל במכשיר:
- ההגדרה הזו חוסמת בקשות למודל שמתארח בענן אם המשתמש לא מאומת.
- ההגדרה הזו לא חוסמת בקשות למודל במכשיר, בלי קשר למצב האימות של המשתמש.
אם אתם משתמשים ב-Gemini Live API:
- ההגדרה הזו חוסמת את השימוש ב-Gemini Live API באפליקציות אינטרנט כשמשתמשים ב-Firebase AI Logic, גם למשתמשים מאומתים. זה כולל אפליקציות אינטרנט שמשתמשות ב-Firebase JS SDK או אפליקציות אינטרנט של Flutter.
אם אתם משתמשים ב-API ל-REST של Firebase AI Logic:
- ההגדרה הזו חוסמת בקשות להסקה שלא נשלחות עם פרטי הכניסה של Firebase Authentication. זה כולל בקשות לתבניות לפרומפטים בשרת כמו
templateGenerateContentאוtemplateStreamGenerateContent. - ההגדרה הזו לא חוסמת בקשות של מישור הבקרה (כמו בקשות לניהול תבניות והגדרות) כי הן מוגנות על ידי IAM.
- ההגדרה הזו חוסמת בקשות להסקה שלא נשלחות עם פרטי הכניסה של Firebase Authentication. זה כולל בקשות לתבניות לפרומפטים בשרת כמו
ההגדרה הזו לא חוסמת בקשות אל
countTokens(Count Tokens API).
לפני שאוכפים את מצב המשתמשים המאומתים
לפני שאוכפים את מצב המשתמשים המאומתים, חשוב לשים לב לנקודות הבאות:
אם יש לכם גרסאות קיימות של האפליקציה שלא משתמשות ב-Firebase Authentication:
- ההגדרה הזו תחסום בקשות דרך Firebase AI Logic מגרסאות האפליקציה הקיימות האלה.
- לפני שאוכפים את מצב המשתמשים המאומתים, חשוב לוודא שכל הלקוחות הפעילים עודכנו לשימוש ב-Firebase Authentication.
בגרסאות ישנות יותר של הפלאגין של Flutter נדרשת יצירת מופע מיוחד כדי לשלוח את פרטי הכניסה של Firebase Authentication עם הבקשות.
- אם האפליקציה משתמשת בפלאגין של Flutter
firebase_aiבגרסה 3.11.0 ומטה (BoM בגרסה 4.12.0 ומטה) ולא מעבירה את Authentication במהלך יצירת המופע, ההגדרה הזו תחסום בקשות דרך Firebase AI Logic – גם למשתמשים מאומתים. - לפני שאוכפים את מצב המשתמשים המאומתים, חשוב לוודא שכל הלקוחות הפעילים של Flutter עודכנו לגרסה חדשה יותר של הפלאגין.
- אם האפליקציה משתמשת בפלאגין של Flutter
הגדר את Firebase Authentication
במסמכי התיעוד של Firebase Authentication יש תיאורים והוראות להטמעה של ספקי אימות נתמכים, כולל שימוש בסיסמאות, מספרי טלפון, ספקי זהויות מאוחדות פופולריים (כמו Google, Facebook ו-GitHub) ועוד.
אחרי שתטמיעו את Firebase Authentication באפליקציה, היא תשלח באופן אוטומטי את פרטי הכניסה של המשתמש המאומת ב-Firebase Authentication בכל בקשה ל-Firebase AI Logic.
חשוב לשים לב לנקודות הבאות לגבי חלק מספקי האימות:
אימות בהתאמה אישית: צריך לאחזר אסימון אימות חתום כדי לשלוח אותו יחד עם הבקשה אל Firebase AI Logic. פרטים נוספים זמינים במאמר אימות בהתאמה אישית.
שיטות אימות אנונימיות או אימייל/סיסמה: המשתמשים האלה נחשבים למשתמשים מאומתים, ולכן הבקשות שלהם ל-Firebase AI Logic לא נחסמות.
שימו לב: למרות ששיטות האימות האנונימי והאימות באמצעות אימייל/סיסמה מחייבות את המשתמשים להיכנס לאפליקציה כדי ליצור פרטי כניסה ל-Firebase Authentication, הן לא שיטות אימות חזקות (במיוחד להגנה על משאב בתשלום) כי כברירת מחדל הן לא מחייבות אימות זהות של המשתמש. אם האפליקציה משתמשת בהטמעה שמוגדרת כברירת מחדל של שיטות האימות האלה, יכול להיות שההגנה תהיה פחות יעילה, גם אם אוכפים את מצב המשתמשים המאומתים. חשוב לוודא שגם אכפתם את Firebase App Check.
ניהול ההגדרה של מצב משתמשים מאומתים
אתם יכולים לנהל את ההגדרה של מצב משתמשים מאומתים במסוף Firebase.
הרשאות ותפקידים נדרשים ב-IAM
כדי לנהל את ההגדרה של מצב המשתמשים המאומתים, נדרשת ההרשאה firebasevertexai.configs.update, שכלולה כברירת מחדל בתפקידי ה-IAM הבאים: בעלים, עריכה, אדמין ב-Firebase ואדמין ב-Firebase AI Logic.
אכיפת מצב משתמשים מאומתים
כך אוכפים את מצב המשתמשים המאומתים בפרויקט Firebase:
אם עדיין לא עשיתם זאת, קראו את השיקולים החשובים לגבי מצב משתמשים מאומתים שמופיעים למעלה במדריך הזה.
אם עדיין לא עשיתם זאת, הגדירו את Firebase Authentication באפליקציה (כפי שמתואר למעלה במדריך הזה).
אכיפת מצב משתמשים מאומתים:
במסוף Firebase, נכנסים ל-AI Services > AI Logic > הכרטיסייה Settings.
בקטע מצב משתמשים מאומתים, מעבירים את המתג אכיפת מצב משתמשים מאומתים למצב נאכף.
קוראים את תיבת הדו-שיח לאישור ולוחצים על אישור.
הפסקת האכיפה של מצב משתמשים מאומתים
אם אתם מפסיקים את האכיפה של מצב משתמשים מאומתים, חשוב לשים לב לנקודות הבאות:
- בקשות דרך Firebase AI Logic שלא שולחות פרטי כניסה של Firebase Authentication יאושרו.
- זוהי הגדרה ברמת הפרויקט ב-Firebase AI Logic.
כדי להפסיק את האכיפה של מצב משתמשים מאומתים בפרויקט ב-Firebase:
במסוף Firebase, נכנסים ל-AI Services > AI Logic > הכרטיסייה Settings.
בקטע מצב משתמשים מאומתים, משביתים את האפשרות אכיפת מצב משתמשים מאומתים.
קוראים את תיבת הדו-שיח לאישור ולוחצים על אישור.