רישום ביומן ביקורת לבדיקת אפליקציות ב-Firebase

דף זה מתאר את יומני הביקורת שנוצרו על ידי Firebase כחלק מ יומני ביקורת של Cloud.

סקירה כללית

יומני הביקורת של שירותי Firebase מיועדים לענות על השאלות "מי עשה מה, איפה ומתי?". הנושאים האלה יומני הביקורת של Cloud, המסופקים כחלק פרויקט Google Cloud מחובר אל פרויקט Firebase.

כל אחד מהפרויקטים ב-Firebase מכיל רק יומני ביקורת של משאבים הם ישירות בתוך הפרויקט.

לפרטים נוספים, ראו סקירה כללית על יומני הביקורת של Cloud. להבנה עמוקה יותר של הביקורת פורמט יומן, הסבר על יומני הביקורת

יומני הביקורת הזמינים

אלה סוגי יומני הביקורת הזמינים ל-Firebase App Check:

  • יומני הביקורת Admin Activity

    כוללים רישום של פעולות במסגרת הרשאת admin write, שבהן נכתב מידע במטא-נתונים או ההגדרות.

    לא ניתן להשבית את יומני הביקורת Admin Activity.

  • יומני הביקורת Data Access

    כוללים רישום של פעולות במסגרת הרשאת admin read, שבהן נקרא מידע ממטא-נתונים או מהגדרות. היומנים כוללים גם פעולות במסגרת ההרשאות data read ו-data write, שבהן נקראים או נכתבים נתונים שהמשתמשים סיפקו.

    כדי לקבל את יומני הביקורת Data Access, צריך להפעיל אותם באופן מפורש.

לתיאורים מלאים של סוגי יומני הביקורת, קראו את המאמר סוגים של יומני ביקורת.

פעולות מבוקרות

הרשימה הבאה מסכמת אילו פעולות API מתאימות לכל יומן ביקורת מקלידים ב-Firebase App Check ('בדיקת אפליקציה ב-Firebase):

סוג הרשאה שיטות
ADMIN_READ google.firebase.appcheck.v1.ConfigService.BatchGetAppAttestConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetDeviceCheckConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetPlayIntegrityConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetRecaptchaEnterpriseConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetRecaptchaV3Configs
google.firebase.appcheck.v1.ConfigService.BatchGetSafetyNetConfigs
google.firebase.appcheck.v1.ConfigService.GetAppAttestConfig
google.firebase.appcheck.v1.ConfigService.GetDebugToken
google.firebase.appcheck.v1.ConfigService.GetDeviceCheckConfig
google.firebase.appcheck.v1.ConfigService.GetPlayIntegrityConfig
google.firebase.appcheck.v1.ConfigService.GetRecaptchaEnterpriseConfig
google.firebase.appcheck.v1.ConfigService.GetRecaptchaV3Config
google.firebase.appcheck.v1.ConfigService.GetSafetyNetConfig
google.firebase.appcheck.v1.ConfigService.GetService
google.firebase.appcheck.v1.ConfigService.ListDebugTokens
google.firebase.appcheck.v1.ConfigService.ListServices
google.firebase.appcheck.v1beta.ConfigService.BatchGetAppAttestConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetDeviceCheckConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetPlayIntegrityConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaEnterpriseConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaV3Configs
google.firebase.appcheck.v1beta.ConfigService.BatchGetSafetyNetConfigs
google.firebase.appcheck.v1beta.ConfigService.GetAppAttestConfig
google.firebase.appcheck.v1beta.ConfigService.GetDebugToken
google.firebase.appcheck.v1beta.ConfigService.GetDeviceCheckConfig
google.firebase.appcheck.v1beta.ConfigService.GetPlayIntegrityConfig
google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaConfig
google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaEnterpriseConfig
google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaV3Config
google.firebase.appcheck.v1beta.ConfigService.GetResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.GetSafetyNetConfig
google.firebase.appcheck.v1beta.ConfigService.GetService
google.firebase.appcheck.v1beta.ConfigService.ListDebugTokens
google.firebase.appcheck.v1beta.ConfigService.ListResourcePolicies
google.firebase.appcheck.v1beta.ConfigService.ListServices
ADMIN_WRITE google.firebase.appcheck.v1.ConfigService.BatchUpdateServices
google.firebase.appcheck.v1.ConfigService.CreateDebugToken
google.firebase.appcheck.v1.ConfigService.DeleteDebugToken
google.firebase.appcheck.v1.ConfigService.UpdateAppAttestConfig
google.firebase.appcheck.v1.ConfigService.UpdateDebugToken
google.firebase.appcheck.v1.ConfigService.UpdateDeviceCheckConfig
google.firebase.appcheck.v1.ConfigService.UpdatePlayIntegrityConfig
google.firebase.appcheck.v1.ConfigService.UpdateRecaptchaEnterpriseConfig
google.firebase.appcheck.v1.ConfigService.UpdateRecaptchaV3Config
google.firebase.appcheck.v1.ConfigService.UpdateSafetyNetConfig
google.firebase.appcheck.v1.ConfigService.UpdateService
google.firebase.appcheck.v1beta.ConfigService.BatchUpdateResourcePolicies
google.firebase.appcheck.v1beta.ConfigService.BatchUpdateServices
google.firebase.appcheck.v1beta.ConfigService.CreateDebugToken
google.firebase.appcheck.v1beta.ConfigService.CreateResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.DeleteDebugToken
google.firebase.appcheck.v1beta.ConfigService.DeleteResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.UpdateAppAttestConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateDebugToken
google.firebase.appcheck.v1beta.ConfigService.UpdateDeviceCheckConfig
google.firebase.appcheck.v1beta.ConfigService.UpdatePlayIntegrityConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaEnterpriseConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaV3Config
google.firebase.appcheck.v1beta.ConfigService.UpdateResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.UpdateSafetyNetConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateService
google.firebase.appcheck.v1beta.TokenVerificationService.VerifyAppCheckToken

הפורמט של יומן הביקורת

הרשומות ביומן הביקורת כוללות את האובייקטים הבאים:

  • הרשומה עצמה, שהיא אובייקט מסוג LogEntry. אלה כמה מהשדות השימושיים ברשומה:

    • השדה logName מכיל את מזהה המשאב ואת סוג יומן הביקורת.
    • השדה resource מכיל את היעד של הפעולה המבוקרת.
    • השדה timestamp מכיל את השעה של הפעולה המבוקרת.
    • השדה protoPayload מכיל את המידע המבוקר.
  • אובייקט מסוג AuditLog ששמור בשדה protoPayload של הרשומה ביומן, ומכיל את הנתונים של יומני הביקורת.

  • אובייקט ספציפי לשירות שמכיל מידע אופציונלי על ביקורת ספציפית לשירות. בשילובים ישנים יותר, האובייקט הזה נשמר ב-serviceData שדה של האובייקט AuditLog; שילובים חדשים יותר משתמשים בשדה metadata.

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

שם יומן הביקורת

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

projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

שם השירות

יומני הביקורת של Firebase App Check משתמשים בשם השירות firebaseappcheck.googleapis.com

לרשימה מלאה של כל שמות השירותים של Cloud Logging API וההתאמות שלהם סוג המשאב במעקב: מיפוי השירותים למשאבים.

סוגי המשאבים

יומני הביקורת של Firebase App Check משתמשים בסוג המשאב audited_resource בכל יומני הביקורת.

במאמר סוגי המשאבים במעקב תוכלו למצוא רשימה של כל סוגי המשאבים במעקב ב-Cloud Logging ותיאור שלהם.

הפעלת רישום ביומן ביקורת

יומני הביקורת Admin Activity תמיד מופעלים, ולא ניתן להשבית אותם.

יומני הביקורת Data Access מושבתים כברירת מחדל, כתובים אלא אם כן הופעל בצורה מפורשת (היוצא מן הכלל הוא יומני ביקורת Data Access עבור BigQuery, (לא ניתן להשבית).

להוראות לגבי הפעלה של חלק מיומני הביקורת Data Access או של כולם: הגדרת יומני גישה לנתונים

הרשאות ותפקידים

ההרשאות והתפקידים ב-Cloud IAM קובעים את אפשרויות הגישה שלך ליומני ביקורת נתונים ב-Google Cloud משאבים.

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

  • התפקיד 'צפייה ביומנים' (roles/logging.viewer) נותן הרשאת קריאה בלבד ביומני הביקורת Admin Activity,‏ Policy Denied ו-System Event. משתמשים שהוקצה להם רק התפקיד הזה לא יכולים לצפות ביומני הביקורת Data Access שנמצאים בקטגוריה _Default.

  • התפקיד 'צפייה ביומנים פרטיים' ((roles/logging.privateLogViewer) כולל את ההרשאות שכלולות בתפקיד roles/logging.viewer, וגם את האפשרות לקרוא את יומני הביקורת Data Access בקטגוריה _Default.

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

מידע נוסף על ההרשאות והתפקידים הרלוונטיים ב-Cloud IAM מידע על נתונים של יומני ביקורת, ראו בקרת גישה.

צפייה ביומנים

כדי למצוא ולצפות ביומני ביקורת, עליכם לדעת את המזהה של הפרויקט, התיקייה או הארגון ב-Firebase שעבורם רוצים להציג את המידע של יומני הביקורת. ניתן לציין עוד סוגים של פריטים שנוספו לאינדקס LogEntry שדות, כמו resource.type. לפרטים, אפשר לעיין איתור מהיר של רשומות ביומן.

אלה השמות של יומני הביקורת: הם כוללים משתנים של הפרויקט, התיקייה או הארגון ב-Firebase:

   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy

אפשר לצפות ביומני ביקורת ב-Cloud Logging באמצעות מסוף Google Cloud, כלי שורת הפקודה gcloud או ה-Logging API.

במסוף Google Cloud, תוכלו להשתמש ב-Logs Explorer כדי לאחזר את הרשומות ביומן הביקורת של הפרויקט, התיקייה או הארגון ב-Firebase:

  1. במסוף Google Cloud, נכנסים אל רישום ביומן > הדף Logs Explorer.

    כניסה לדף Logs Explorer

  2. בדף Logs Explorer, בוחרים פרויקט, תיקייה או ארגון קיימים ב-Firebase.

  3. בחלונית Query builder:

    • בקטע Resource type, בוחרים את המשאב Google Cloud שרוצים לראות את יומני הביקורת שלו.

    • בקטע Log name, בוחרים את סוג יומן הביקורת שרוצים לראות:

      • ליומני הביקורת Admin Activity בוחרים באפשרות activity.
      • ליומני הביקורת Data Access בוחרים באפשרות data_access.
      • ליומני הביקורת System Event בוחרים באפשרות system_event.
      • ליומני הביקורת Policy Denied בוחרים באפשרות policy.

    אם האפשרויות האלה לא מוצגות, אין יומני ביקורת של מהסוג הזה שזמין בפרויקט, בתיקייה או של הארגון.

    לפרטים נוספים על שליחת שאילתות באמצעות Logs Explorer, אפשר לעיין במאמר יצירת שאילתות ביומן.

כלי שורת הפקודה gcloud מספק ממשק שורת פקודה ל-Cloud Logging API. לספק ערך תקין של PROJECT_ID, FOLDER_ID או ORGANIZATION_ID בכל אחד משמות היומנים.

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

gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" --project=PROJECT_ID

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

gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" --folder=FOLDER_ID

כדי לקרוא את הרשומות ביומן הביקורת ברמת הארגון, מריצים את הפקודה הבאה:

gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" --organization=ORGANIZATION_ID

מידע נוסף על השימוש בכלי gcloud זמין כאן קוראים את הרשומות ביומן.

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

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

  1. עוברים לקטע Try this API במאמרי העזרה של ה-method entries.list.

  2. מזינים את הפרטים הבאים בקטע Request body בטופס Try this API. אם לוחצים על הטופס למילוי פרטים אוטומטי, גוף הבקשה יאוכלס בפרטים באופן אוטומטי אבל תצטרכו לציין PROJECT_ID תקין בכל אחד משמות יומני הביקורת.

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
  3. לוחצים על Execute.

לפרטים נוספים על שליחת שאילתות, אפשר לעיין במאמר שפת שאילתת הרישום ביומן.

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

ניתוב של יומני ביקורת

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

  • כדי לשמור את יומני הביקורת לפרק זמן ארוך יותר או כדי להשתמש במערכות מתקדמות יותר יכולות חיפוש, אפשר לנתב עותקים של יומני הביקורת שלכם Google Cloud Storage, BigQuery או Google Cloud Pub/Sub. באמצעות ב-Cloud Pub/Sub, ניתן לנתב לאפליקציות אחרות, ולצדדים שלישיים.

  • כדי לנהל את יומני הביקורת בארגון כולו, אפשר ליצור אובייקטים נצברים מסוג sink שיכולים לנתב יומנים בארגון מכל הפרויקטים של Firebase בארגון או מחלקם.

  • אם יומני בקרת הרשאות הגישה לנתונים שהופעלו דוחפים בפרויקטים של Firebase, מעבר להקצאות ביומן, אפשר ליצור אובייקטים מסוג sink לא לכלול את יומני הביקורת Data Access ב-Logging.

להוראות לגבי ניתוב יומנים, אפשר לעיין במאמר הגדרת sinks.

תמחור

יומני הביקורת Admin Activity וגם יומני ביקורת של אירועי מערכת הם ללא עלות.

יומני ביקורת של גישה לנתונים אפשר לחייב את יומני הביקורת Policy Denied.

למידע נוסף על התמחור של Cloud Logging, ראו תמחור חבילת התפעול של Google Cloud: ‏Cloud Logging.