מעקב והגנה על אפליקציות אינטרנט

אחרי שמפרסמים את האפליקציות, צריך לעקוב אחריהן ולאבטח אותן:

מעקב אחרי ביצועי האתר באמצעות יכולת התצפית של App Hosting

בחלונית App overview ב-Firebase Studio מוצגים מדדים ומידע חשובים על האפליקציה, שמאפשרים לעקוב אחרי הביצועים של אפליקציית האינטרנט באמצעות כלי התצפית המובנים של App Hosting. אחרי שהאתר יושק, תוכלו לגשת לסקירה הכללית בלחיצה על פרסום. בחלונית הזו אתם יכולים:

  • לוחצים על פרסום כדי להשיק גרסה חדשה של האפליקציה.
  • משתפים את הקישור לאפליקציה או פותחים את האפליקציה ישירות בקטע כניסה לאפליקציה.
  • כאן אפשר לראות סיכום של ביצועי האפליקציה ב-7 הימים האחרונים, כולל המספר הכולל של הבקשות והסטטוס של ההשקה האחרונה. לוחצים על View details כדי לקבל מידע נוסף במסוף Firebase.
  • תרשים של מספר הבקשות שהאפליקציה קיבלה ב-24 השעות האחרונות, בחלוקה לפי קוד סטטוס של HTTP.
  • לראות את סטטוס ההפעלה של שירותי Firebase כמו Firebase Authentication ו-Cloud Firestore.

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

מידע נוסף על ניהול ומעקב אחרי השקות של App Hosting זמין במאמר ניהול השקות וגרסאות.

מעקב אחרי Genkit בתכונות שפרסתם

כדי לעקוב אחרי השלבים, הקלט והפלט של התכונה Genkit, אתם יכולים להפעיל טלמטריה בקוד של תהליך ה-AI. תכונת הטלמטריה של Genkit מאפשרת לכם לעקוב אחרי הביצועים והשימוש בתהליכי ה-AI. הנתונים האלה יכולים לעזור לכם לזהות תחומים שדורשים שיפור, לפתור בעיות, לבצע אופטימיזציה של ההנחיות והתהליכים כדי לשפר את הביצועים ואת היעילות מבחינת עלות, ולעקוב אחרי השימוש בתהליכים לאורך זמן.

כדי להגדיר מעקב ב-Genkit, מוסיפים טלמטריה לתהליכי ה-AI ב-Genkit ואז צופים בתוצאות במסוף Firebase.

‫שלב 1: מוסיפים טלמטריה לקוד של תהליך Genkit ב-Firebase Studio

כדי להגדיר מעקב בקוד:

  1. אם אתם לא בתצוגת Code, לוחצים על סמל
החלפת קוד Switch to Code כדי לפתוח אותה.

  2. בודקים את package.json כדי לאמת את הגרסה של Genkit שמותקנת.

  3. פותחים את הטרמינל (Ctrl-Shift-C, או Cmd-Shift-C ב-MacOS).

  4. לוחצים בתוך הטרמינל ומתקינים את הפלאגין של Firebase, באמצעות הגרסה שתואמת לקובץ package.json. לדוגמה, אם חבילות Genkit ב-package.json הן בגרסה 1.0.4, צריך להריץ את הפקודה הבאה כדי להתקין את הפלאגין:

    npm i --save @genkit-ai/firebase@1.0.4
  5. ב-Explorer, מרחיבים את src > ai > flows. קובץ TypeScript אחד או יותר שמכיל את תהליכי Genkit מופיע בתיקייה flows.

  6. לוחצים על אחד מהתהליכים כדי לפתוח אותו.

  7. בתחתית הקטע של הייבוא בקובץ, מוסיפים את הקוד הבא כדי לייבא ולהפעיל את FirebaseTelemetry:

    import { enableFirebaseTelemetry } from '@genkit-ai/firebase';
    
    enableFirebaseTelemetry();
    

שלב 2: הגדרת ההרשאות

Firebase Studio הפעיל בשבילכם את ממשקי ה-API הנדרשים כשהגדרתם את הפרויקט ב-Firebase, אבל אתם צריכים גם לתת הרשאות לחשבון השירות של App Hosting.

כדי להגדיר הרשאות:

  1. במסוף Google Cloud, נכנסים לדף IAM ובוחרים את הפרויקט ב-Firebase.

  2. מקצים את התפקידים הבאים לחשבון השירות של App Hosting:

    • כתיבת מדדי מעקב (roles/monitoring.metricWriter)
    • סוכן Cloud Trace‏ (roles/cloudtrace.agent)
    • כתיבת יומנים (roles/logging.logWriter)
  3. מפרסמים מחדש את האפליקציה ב-App Hosting.

  4. בסיום הפרסום, טוענים את האפליקציה ומתחילים להשתמש בה. אחרי חמש דקות, האפליקציה אמורה להתחיל לתעד נתוני טלמטריה.

שלב 3: מעקב אחרי התכונות מבוססות-AI גנרטיבי במסוף Firebase

כשהטלמטריה מוגדרת, Genkit מתעד את מספר הבקשות, ההצלחות והזמן שלוקח לכל התהליכים, ובכל תהליך ספציפי, Genkit אוסף מדדי יציבות, מציג תרשימים מפורטים ומתעד את המעקבים שנתפסו.

כדי לעקוב אחרי תכונות מבוססות-AI שהוטמעו באמצעות Genkit:

  1. אחרי חמש דקות, נכנסים לדף AI Services > Genkit במסוף Firebase כדי לבדוק את ההנחיות והתשובות מ-Genkit.

  2. אתם יכולים לעיין במדדי היציבות הבאים שנאספו על ידי Genkit:

    • סה"כ בקשות: המספר הכולל של הבקשות שהתקבלו בתהליך.
    • שיעור ההצלחה: אחוז הבקשות שעובדו בהצלחה.
    • זמן אחזור באחוזון ה-95: זמן האחזור באחוזון ה-95 של התהליך, כלומר משך הזמן שלוקח לעבד 95% מהבקשות.
    • השימוש בטוקנים:

      • טוקנים של קלט: מספר הטוקנים שנשלחו למודל בהנחיה.
      • טוקנים של פלט: מספר הטוקנים שהמודל יצר בתשובה.
    • שימוש בתמונות:

      • תמונות קלט: מספר התמונות שנשלחו למודל בהנחיה.
      • תמונות פלט: מספר התמונות שהמודל יוצר בתשובה.
  3. אפשר להרחיב את מדדי היציבות כדי לראות את התרשימים המפורטים הבאים:

    • נפח הבקשות לאורך זמן.
    • שיעור ההצלחה לאורך זמן.
    • טוקנים של קלט ופלט לאורך זמן.
    • זמן אחזור (אחוזון 95 ואחוזון 50) לאורך זמן.

מידע נוסף על Genkit זמין במסמכי התיעוד שלהם.

הגנה על האפליקציה באמצעות Firebase App Check

אם שילבתם באפליקציה שירותים של Firebase או של Google Cloud, אתם יכולים להשתמש ב-Firebase App Check כדי למנוע מלקוחות לא מורשים לגשת למשאבים שלכם ב-Firebase, וכך להגן על הקצה העורפי של האפליקציה מפני ניצול לרעה. הוא פועל גם עם שירותי Google (כולל שירותי Firebase ו-Google Cloud) וגם עם קצוות עורפיים בהתאמה אישית, כדי לשמור על בטיחות המשאבים שלכם.

כדי להגן על משאבי הקצה העורפי מפני ניצול לרעה, מומלץ להוסיף את App Check לכל אפליקציה שמפרסמים באופן ציבורי.

בקטע הזה נסביר איך להגדיר את App Check ב-Firebase Studio באמצעות reCAPTCHA Enterprise לאפליקציית אינטרנט שנוצרה על ידי App Prototyping agent, אבל אתם יכולים להגדיר את App Check בכל אפליקציה שמטמיעה שירותי Firebase ויכולה להטמיע ספקים בהתאמה אישית. מידע נוסף זמין בכתובת Firebase App Check.

ב-reCAPTCHA Enterprise אפשר לבצע עד 10,000 הערכות ללא עלות.

שלב 1: מגדירים את reCAPTCHA Enterprise לאפליקציה

  1. פותחים את הקטע reCAPTCHA Enterprise במסוף Google Cloud.

  2. בוחרים את השם של פרויקט Firebase בכלי לבחירת פרויקטים במסוף Google Cloud.

  3. אם מוצגת בקשה להפעיל את reCAPTCHA Enterprise API, צריך להפעיל אותו.

  4. לוחצים על Get started ומוסיפים השם המוצג למפתח האתר של reCAPTCHA.

  5. מאשרים את מפתח ברירת המחדל Web Application type.

  6. לוחצים על הוספת דומיין ומוסיפים דומיין. צריך להוסיף את הדומיין של App Hosting (לדוגמה, studio--PROJECT_ID.REGION.hosted.app) וכל דומיין מותאם אישית שמשתמשים בו או מתכננים להשתמש בו באפליקציה.

  7. לוחצים על השלב הבא.

  8. משאירים את האפשרות Will you use challenges?‎ לא מסומנת.

  9. לוחצים על Create key.

  10. מעתיקים ושומרים את מזהה המפתח וממשיכים אל הגדרת App Check.

שלב 2: מגדירים את App Check

  1. פותחים את מסוף Firebase ובתפריט הניווט לוחצים על Build (פיתוח) > App Check.

  2. לוחצים על שנתחיל? ואז על הרשמה לצד האפליקציה.

  3. לוחצים על ReCAPTCHA כדי להרחיב את האפשרות, ומדביקים את מזהה המפתח שיצרתם ל-reCAPTCHA Enterprise.

  4. לוחצים על שמירה.

שלב 3: מוסיפים את App Check לקוד

  1. חוזרים אל Firebase Studio ובתצוגה Code, מוסיפים את מפתח האתר שיצרתם לקובץ .env:

    NEXT_PUBLIC_RECAPTCHA_SITE_KEY=RECAPTCHA_SITE_KEY
    
  2. אם עדיין לא שמרתם את הגדרות Firebase ב-.env, אתם צריכים:

    • במסוף Firebase, פותחים את הגדרות הפרויקט ומחפשים את המזהה בקטע שמתאים לאפליקציה.

    • מהטרמינל בתצוגת Code:

      1. מתחברים ל-Firebase: firebase auth login
      2. בוחרים את הפרויקט: firebase use FIREBASE_PROJECT_ID
      3. משיגים את קובץ התצורה של Firebase: firebase apps:sdkconfig
  3. מוסיפים את ההגדרות לקובץ .env כך שייראה כך:

    NEXT_PUBLIC_FIREBASE_API_KEY=FIREBASE_API_KEY
    NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=FIREBASE_AUTH_DOMAIN
    NEXT_PUBLIC_FIREBASE_PROJECT_ID=FIREBASE_PROJECT_ID
    NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=FIREBASE_STORAGE_BUCKET
    NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=FIREBASE_MESSAGING_SENDER_ID
    NEXT_PUBLIC_FIREBASE_APP_ID=FIREBASE_APP_ID
    NEXT_PUBLIC_RECAPTCHA_SITE_KEY=RECAPTCHA_SITE_KEY
    
  4. מוסיפים את App Check לקוד האפליקציה. אתם יכולים לבקש מ-Gemini להוסיף את App Check עם reCAPTCHA Enterprise לאפליקציה (חשוב לציין "reCAPTCHA Enterprise" ולבדוק שוב), או לפעול לפי השלבים שמפורטים בקטע הפעלה של App Check.

  5. מפרסמים מחדש את האתר ב-App Hosting. כדי ליצור נתונים, נסו לבדוק את תכונות מסד הנתונים והאימות.

  6. מוודאים ש-App Check מקבל בקשות במסוף Firebase. לשם כך, פותחים את Build (פיתוח) > App Check.

  7. לוחצים כדי לבדוק את Cloud Firestore. אחרי שמוודאים שהבקשות מגיעות, לוחצים על Enforce כדי לאכוף את App Check.

  8. חזרה על האימות והאכיפה של Firebase Authentication.

אם אחרי שרשמתם את האפליקציה ל-App Check, אתם רוצים להריץ אותה בסביבה שבדרך כלל לא תסווג על ידי App Check כתקינה, כמו באופן מקומי במהלך הפיתוח או מסביבת שילוב רציף (CI), אתם יכולים ליצור גרסת build לניפוי באגים של האפליקציה שמשתמשת בספק האימות לצורכי ניפוי באגים של App Check במקום בספק אימות אמיתי. מידע נוסף זמין במאמר שימוש ב-App Check עם ספק אימות לצורכי ניפוי באגים באפליקציות אינטרנט.

השלבים הבאים