הגבלת הבקשות למשתמשים מאומתים בלבד

אתם יכולים לאכוף מצב משתמשים מאומתים בפרויקט 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.
  • ההגדרה הזו לא חוסמת בקשות אל 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 עודכנו לגרסה חדשה יותר של הפלאגין.

הגדר את 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:

  1. אם עדיין לא עשיתם זאת, קראו את השיקולים החשובים לגבי מצב משתמשים מאומתים שמופיעים בתחילת המדריך הזה.

  2. אם עדיין לא עשיתם זאת, הגדירו את Firebase Authentication באפליקציה (כפי שמתואר למעלה במדריך הזה).

  3. אכיפת מצב משתמשים מאומתים:

    1. במסוף Firebase, נכנסים ל-AI Services ‏> AI Logic ‏> הכרטיסייה Settings.

    2. בקטע מצב משתמשים מאומתים, מעבירים את המתג אכיפת מצב משתמשים מאומתים למצב נאכף.

    3. קוראים את תיבת הדו-שיח לאישור ולוחצים על אישור.

הפסקת האכיפה של מצב משתמשים מאומתים

אם אתם מפסיקים את האכיפה של מצב משתמשים מאומתים, חשוב שתדעו את הדברים הבאים:

  • בקשות דרך Firebase AI Logic שלא שולחות פרטי כניסה של Firebase Authentication יאושרו.
  • זו הגדרה ברמת הפרויקט ב-Firebase AI Logic.

כדי להפסיק את האכיפה של מצב משתמשים מאומתים בפרויקט ב-Firebase:

  1. במסוף Firebase, נכנסים ל-AI Services ‏> AI Logic ‏> הכרטיסייה Settings.

  2. בקטע מצב משתמשים מאומתים, משביתים את האפשרות אכיפת מצב משתמשים מאומתים.

  3. קוראים את תיבת הדו-שיח לאישור ולוחצים על אישור.