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

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

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

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

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

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

מידע נוסף על ניהול והשקה של גרסאותApp Hosting

Genkit מעקב אחרי התכונות שהטמעתם

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

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

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

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

  1. אם אתם לא בתצוגה 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. בסייר, מרחיבים את src > ai > flows. קובץ אחד או יותר של TypeScript שמכילים את זרימות Genkit מופיעים בתיקייה flows.

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

  7. בתחתית הקטע imports (ייבוא) בקובץ, מוסיפים את השורה הבאה כדי לייבא ולהפעיל את 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 Agent ‏ (roles/cloudtrace.agent)
    • Logs Writer (roles/logging.logWriter)
  3. פרסום מחדש של האפליקציה ב-App Hosting.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  5. מאשרים את מפתח סוג האפליקציה Web שמוגדר כברירת מחדל.

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

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

  8. לא מסמנים את התיבה האם תשתמשו באתגרים?.

  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" ולבדוק שוב!), או לפעול לפי השלבים במאמר Initialize 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), אתם יכולים ליצור גרסת ניפוי באגים של האפליקציה שמשתמשת בספק ניפוי הבאגים של App Check במקום בספק אימות אמיתי. מידע נוסף על שימוש ב-App Check עם ספק ניפוי הבאגים באפליקציות אינטרנט

השלבים הבאים