דף זה מתאר את יומני הביקורת שנוצרו על ידי Firebase כחלק מיומני הביקורת בענן .
סקירה כללית
שירותי Firebase כותבים יומני ביקורת כדי לעזור לך לענות על השאלות, "מי עשה מה, איפה ומתי?". אלו הם יומני ביקורת בענן, המסופקים כחלק מפרויקט Google Cloud המחובר לפרויקט Firebase שלך .
כל פרויקטי Firebase שלך מכילים רק את יומני הביקורת עבור משאבים שנמצאים ישירות בתוך הפרויקט.
לסקירה כללית של יומני ביקורת בענן, ראה סקירה כללית של יומני ביקורת בענן . להבנה מעמיקה יותר של פורמט יומן הביקורת, ראה הבנת יומני ביקורת .
יומני ביקורת זמינים
הסוגים הבאים של יומני ביקורת זמינים עבור Firebase Realtime Database:
יומני ביקורת של פעילות מנהל מערכת
כולל פעולות "כתיבה אדמין" הכותבות מטא נתונים או מידע תצורה.
לא ניתן להשבית יומני ביקורת של פעילות מנהל מערכת.
יומני ביקורת של גישה לנתונים
כולל פעולות "קריאה של מנהל" הקוראות מטא נתונים או מידע תצורה. כולל גם פעולות "קריאת נתונים" ו"כתיבת נתונים" הקוראות או כותבות נתונים שסופקו על ידי המשתמש.
כדי לקבל יומני ביקורת של Data Access, עליך להפעיל אותם במפורש.
לתיאורים מלאים יותר של סוגי יומני הביקורת, ראה סוגי יומני ביקורת .
פעולות מבוקרות
להלן מסכם אילו פעולות API מתאימות לכל סוג יומן ביקורת ב-Firebase Realtime Database:
קטגוריית יומני ביקורת | פעולות מאגר נתונים בזמן אמת של Firebase |
---|---|
יומני ביקורת פעילות מנהל (ADMIN_WRITE) |
|
יומני ביקורת גישה לנתונים (ADMIN_READ) |
|
יומני ביקורת גישה לנתונים (DATA_READ או DATA_WRITE) |
|
יומני ביקורת גישה לנתונים (DATA_READ) |
|
יומני ביקורת גישה לנתונים (DATA_WRITE) |
|
ביקורת מידע אימות
ערכי יומן ביקורת כוללים מידע על הזהות שביצעה את הפעולה שנרשמה. כדי לזהות מתקשר בקשה, עיין בשדות הבאים בתוך אובייקט AuditLog:
יצירת קשרים בזמן אמת. פעולות Realtime Database
Connect
אינן רושמות נתוני אימות מכיוון שמסד הנתונים בזמן אמת מאמת לאחר יצירת חיבור. לכן,Connect
אין פרטי אימות. האובייקטAuthenticationInfo
מכיל מציין מיקום עיקריprincipalEmail
שלaudit-pending-auth@firebasedatabase-{REGION_CODE}-prod.iam.gserviceaccount.com
.אימות של גוגל. פעולות במסד נתונים בזמן אמת המשתמשות באימות Google רגיל, כגון תעבורה מ- Firebase Admin SDK או בקשות REST המאומתות באמצעות אסימון OAuth סטנדרטי , כוללות אובייקט
AuthenticationInfo
שמכיל את האימייל של פרטי הכניסה בפועל.אימות Firebase. לפעולות של מסד נתונים בזמן אמת המשתמשות באימות Firebase יש אובייקט
AuthenticationInfo
שמכיל ערךprincipalEmail
שלaudit-third-party-auth@firebasedatabase-{REGION_CODE}-prod.iam.gserviceaccount.com
. הדבר נכון אם אתה מיישם פתרון אימות משלך על ידי הטבעת JWTs מותאמים אישית.- אם נעשה שימוש ב-JSON Web Token (JWT) עבור אימות של צד שלישי, השדה
thirdPartyPrincipal
כולל את הכותרת והמטען של האסימון. לדוגמה, יומני ביקורת עבור בקשות המאומתות באמצעות Firebase Authentication כוללים את אסימון Firebase Authentication של בקשה זו.
- אם נעשה שימוש ב-JSON Web Token (JWT) עבור אימות של צד שלישי, השדה
אין אימות. לפעולות של מסד נתונים בזמן אמת שאינן משתמשות בשום אימות יש אובייקט
AuthenticationInfo
המכיל ערךprincipalEmail
שלaudit-no-auth@firebasedatabase-{REGION_CODE}-prod.iam.gserviceaccount.com
מופע של מסד נתונים בזמן אמת עם כללי אבטחה פתוחים עשוי להעניק בקשות כאלה . אנו ממליצים לכל המשתמשים לאבטח את מסדי הנתונים שלהם כראוי.אסימוני סודות מורשת. לפעולות של מסד נתונים בזמן אמת המשתמשות באסימונים מדור קודם יש אובייקט
AuthenticationInfo
שמכיל מציין מיקום עיקריprincipalEmail
שלaudit-secret-auth@firebasedatabase-{REGION_CODE}-prod.iam.gserviceaccount.com
. עבור JWT חתום בסודות,thirdPartyPrincipal
מכיל את הכותרות והמטען של JWT.
בדוק הערכות כללי האבטחה של Firebase
ניתן להשתמש ביומני ביקורת ענן כדי לזהות בקשות שעלולות להיות מושפעות משינויים בכללים.
באובייקט AuthorizationInfo , authorization.permission
יכול להיות אחד מ:
-
firebasedatabase.data.get
: גישת קריאה הניתנת בנתיב שצויןresource
. -
firebasedatabase.data.update
: גישת כתיבה ניתנת בנתיב שצויןresource
. -
firebasedatabase.data.connect
: מציין מיקוםConnect
Disconnect
. אין צורך בהרשאה כדי להתחבר למופע של מסד נתונים בזמן אמת. -
firebasedatabase.data.cancel
: משמש ל-Unlisten
ו-OnDisconnectCancel
. ביטול או ביטול של פעולה שאושרה בעבר אינו דורש הרשאה נוספת.
התאם יומני ביקורת ענן עם תוצאות פרופילי מסד נתונים בזמן אמת
אתה יכול לבצע ניתוח ביצועים מעמיק במסד נתונים בזמן אמת באמצעות הפרופיל של מסד נתונים Realtime בשילוב עם רישום ביקורת של מסד נתונים Realtime. לכל כלי יש את היתרונות שלו.
רישום ביקורת ענן | פרופיל מסדי נתונים בזמן אמת |
---|---|
|
|
תוכן יומן הביקורת תואם למדדי הפרופיל כפי שמוצג להלן.
שם פעולת רישום ביקורת | ערכים מיוחדים בRealtimeDatabaseAuditMetadata | שם פעולת Profiler |
---|---|---|
לְחַבֵּר | RequestType הוא REALTIME | במקביל-להתחבר |
לְנַתֵק | RequestType הוא REALTIME | במקביל-ניתוק |
לקרוא | RequestType הוא REALTIME | קריאה בזמן אמת |
לקרוא | RequestType הוא REST | לנוח לקרוא |
לִכתוֹב | RequestType הוא REALTIME | כתיבה בזמן אמת |
לִכתוֹב | RequestType הוא REST | מנוחה-כתוב |
עדכון | RequestType הוא REALTIME .בדוק PreconditionType . | עדכון בזמן אמת עסקה בזמן אמת |
עדכון | RequestType הוא REST .בדוק PreconditionType . | עדכון מנוחה מנוחה-עסקה |
מאזין הקשב | RequestType הוא REALTIME | מאזין-תקשיב |
מאזין הסר | RequestType הוא REALTIME | מאזין-לא מאזין |
OnDisconnectPut | RequestType הוא REALTIME | על-ניתוק-כניסה |
OnDisconnectUpdate | RequestType הוא REALTIME | בעת ניתוק-עדכון |
OnDisconnectCancel | RequestType הוא REALTIME | על-ניתוק-ביטול |
RunOnDisconnect | RequestType הוא REALTIME | ריצה על ניתוק |
פורמט יומן ביקורת
ערכי יומן ביקורת כוללים את האובייקטים הבאים:
ערך היומן עצמו, שהוא אובייקט מסוג
LogEntry
. שדות שימושיים כוללים את הדברים הבאים:- ה-
logName
מכיל את מזהה המשאב ואת סוג יומן הביקורת. -
resource
מכיל את היעד של הפעולה המבוקרת. -
timestamp
מכילה את זמן הפעולה המבוקרת. - ה-
protoPayload
מכיל את המידע המבוקר.
- ה-
נתוני רישום הביקורת, שהם אובייקט
AuditLog
המוחזק בשדהprotoPayload
של ערך היומן.מידע ביקורת ספציפי לשירות אופציונלי, שהוא אובייקט ספציפי לשירות. עבור אינטגרציות ישנות יותר, אובייקט זה מוחזק בשדה
serviceData
של אובייקטAuditLog
; אינטגרציות חדשות יותר משתמשות בשדהmetadata
.
עבור שדות אחרים באובייקטים אלה, וכיצד לפרש אותם, עיין בהבנת יומני ביקורת .
מידע נוסף על שדות ב-protoPayload.metadata
עבור פעולות DATA_READ
ו- DATA_WRITE
זמין בתיעוד העזר .שם יומן
שמות המשאבים של יומני ביקורת ענן מציינים את פרויקט Firebase או ישות אחרת של Google Cloud שבבעלותה יומני הביקורת, והאם היומן מכיל נתוני רישום ביומן של פעילות מנהל, גישה לנתונים, מדיניות נדחתה או אירועי מערכת. לדוגמה, להלן שמות יומנים עבור יומני ביקורת של פעילות ניהול ברמת הפרויקט ויומני ביקורת של גישה לנתונים של ארגון. המשתנים מציינים מזהי פרויקט וארגון של Firebase.
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
שם השירות
יומני ביקורת מסד נתונים של Firebase משתמשים בשם השירות firebasedatabase.googleapis.com
.
לרשימה מלאה של כל שמות השירות של Cloud Logging API וסוג המשאב המנוטר התואם שלהם, ראה מיפוי שירותים למשאבים .
סוגי משאבים
יומני ביקורת של מסד נתונים של Firebase משתמשים בסוג המשאב audited_resource
עבור כל יומני הביקורת.
לרשימה של כל סוגי המשאבים המנוטרים בענן רישום ומידע תיאורי, ראה סוגי משאבים מנוטרים .
אפשר רישום ביקורת
יומני ביקורת של פעילות מנהל מופעלים תמיד; אתה לא יכול להשבית אותם.
יומני ביקורת של Data Access מושבתים כברירת מחדל ואינם נכתבים אלא אם הם מופעלים במפורש (החריג הוא יומני ביקורת של Data Access עבור BigQuery, שלא ניתן להשבית).
יומני ביקורת של גישה לנתונים עבור מסד נתונים בזמן אמת מופעלים על ידי בדיקתDATA_READ
ו/או DATA_WRITE
במסוף GCP. יש עיכוב של עד שעה בין המועד שבו יומנים מופעלים/מושבתים ב-GCP Console לבין הזמן שבו יומנים מתחילים/מפסיקים להישלח.להנחיות להפעלת חלק מיומני הביקורת של גישה לנתונים, ראה הגדרת יומני גישה לנתונים .
הרשאות ותפקידים
הרשאות ותפקידים של Cloud IAM קובעים את היכולת שלך לגשת לנתוני יומני ביקורת במשאבי Google Cloud.
כשאתה מחליט אילו הרשאות ותפקידים ספציפיים ל-Loging חלים על מקרה השימוש שלך, שקול את הדברים הבאים:
תפקיד מציג היומנים (
roles/logging.viewer
) מעניק לך גישת קריאה בלבד לפעילות מנהל, מדיניות נדחתה ויומני ביקורת של אירועי מערכת. אם יש לך רק תפקיד זה, לא תוכל להציג יומני ביקורת של Data Access שנמצאים ב_Default
bucket.התפקיד Private Logs Viewer
(roles/logging.privateLogViewer
) כולל את ההרשאות הכלולות ב-roles/logging.viewer
, בנוסף את היכולת לקרוא יומני ביקורת של Data Access ב-_Default
bucket.שים לב שאם היומנים הפרטיים האלה מאוחסנים בדליים המוגדרים על ידי המשתמש, אז כל משתמש שיש לו הרשאות לקרוא יומנים בדליים האלה יכול לקרוא את היומנים הפרטיים. למידע נוסף על דליים של יומנים, ראה סקירת ניתוב ואחסון .
למידע נוסף על ההרשאות והתפקידים של 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 באמצעות מסוף GCP, כלי שורת הפקודה gcloud
או ממשק ה-API של Logging.
לְנַחֵם
אתה יכול להשתמש בסייר היומנים שבמסוף GCP כדי לאחזר את ערכי יומן הביקורת שלך עבור הפרויקט, התיקיה או הארגון שלך ב-Firebase:
ב-GCP Console, עבור אל הדף רישום > יומנים סייר .
בדף Logs Explorer , בחר פרויקט, תיקיה או ארגון קיים של Firebase.
בחלונית בונה שאילתות , בצע את הפעולות הבאות:
בסוג משאב , בחר את המשאב של Google Cloud שאת יומני הביקורת שלו ברצונך לראות.
ב שם יומן , בחר את סוג יומן הביקורת שברצונך לראות:
- עבור יומני ביקורת של פעילות מנהל מערכת, בחר פעילות .
- עבור יומני ביקורת של Data Access, בחר data_access .
- עבור יומני ביקורת של אירועי מערכת, בחר system_event .
- עבור יומני ביקורת של דחיית מדיניות, בחר מדיניות .
אם אינך רואה את האפשרויות הללו, אין יומני ביקורת מסוג זה זמינים בפרויקט, בתיקייה או הארגון של Firebase.
לפרטים נוספים על ביצוע שאילתות באמצעות סייר היומנים, ראה בניית שאילתות יומן .
gcloud
כלי שורת הפקודה 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
, ראה קריאת רשומות יומן .
ממשק API
בעת בניית השאילתות שלך, החלף את המשתנים בערכים חוקיים, החלף את שם יומן הביקורת המתאים ברמת הפרויקט, ברמת התיקיה או ברמת הארגון, כפי שמופיעים בשמות יומן הביקורת. לדוגמה, אם השאילתה שלך כוללת PROJECT_ID , מזהה הפרויקט שאתה מספק חייב להתייחס לפרויקט Firebase שנבחר כעת.
כדי להשתמש בממשק ה-API של Logging כדי להסתכל על ערכי יומן הביקורת שלך, בצע את הפעולות הבאות:
עבור לקטע נסה את ה-API הזה בתיעוד של שיטת
entries.list
.הכנס את הדברים הבאים לגוף הבקשה בטופס נסה את ה-API הזה . לחיצה על הטופס המאוכלס מראש ממלאת אוטומטית את גוף הבקשה, אך עליך לספק
PROJECT_ID
חוקי בכל אחד משמות היומן.{ "resourceNames": [ "projects/PROJECT_ID" ], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" }
לחץ על בצע .
לפרטים נוספים על שאילתות, ראה שפת שאילתות רישום .
לדוגמא של ערך יומן ביקורת וכיצד למצוא את המידע החשוב ביותר בו, ראה דוגמה לכניסה ליומן ביקורת .
נתב יומני ביקורת
אתה יכול לנתב יומני ביקורת ליעדים נתמכים באותו אופן שבו אתה יכול לנתב סוגים אחרים של יומנים. הנה כמה סיבות שאולי תרצה לנתב את יומני הביקורת שלך:
כדי לשמור על יומני ביקורת לפרק זמן ארוך יותר או להשתמש ביכולות חיפוש חזקות יותר, תוכל לנתב עותקים של יומני הביקורת שלך ל-Google Cloud Storage, BigQuery או Google Cloud Pub/Sub. באמצעות Cloud Pub/Sub, אתה יכול לנתב ליישומים אחרים, מאגרים אחרים ולצדדים שלישיים.
כדי לנהל את יומני הביקורת שלך בארגון שלם, אתה יכול ליצור כיורים מצטברים שיכולים לנתב יומנים מכל פרויקט Firebase בארגון או מכל הפרויקטים.
- אם יומני הביקורת המופעלים שלך ב-Data Access דוחפים את פרויקטי Firebase שלך מעל הקצאות היומן שלך, אתה יכול ליצור כיורים שלא כוללים את יומני הביקורת של Data Access מרישום.
להוראות על ניתוב יומני, ראה הגדרת כיורים .
תמחור
יומני ביקורת של פעילות מנהל ויומני ביקורת של אירועי מערכת הם ללא עלות.
יומני ביקורת של גישה לנתונים ויומני ביקורת דחויים של מדיניות כרוכים בתשלום.
למידע נוסף על תמחור Cloud Logging, ראה תמחור חבילת התפעול של Google Cloud: Cloud Logging .