רלוונטי רק למהדורת Cloud Firestore Enterprise. |
במאמר הזה מוסבר על רישום ביומני ביקורת ב-Cloud Firestore עם תאימות ל-MongoDB. שירותי Google Cloud יוצרים יומני ביקורת שבהם מתועדים אירועי גישה למשאבי Google Cloud ופעילויות אדמין שנעשות בהם.
מידע נוסף על יומני הביקורת של Cloud זמין במאמרים הבאים:
- הסוגים של יומני הביקורת
- המבנה של רשומות ביומני הביקורת
- שמירה וניתוב של יומני ביקורת
- Cloud Logging סיכום התמחור
- הפעלת יומני ביקורת של גישה לנתונים
הערות
כשמגדירים יומני ביקורת, צריך להשתמש בשם השירות datastore.googleapis.com
כדי להגדיר גם את datastore.googleapis.com
וגם את firestore.googleapis.com.
Once configured, logs for the Cloud Firestore with MongoDB compatibility API include the service name
firestore.googleapis.com`.
כדי לראות את הזמן שלקח לעבד בקשת DATA_READ
או DATA_WRITE
, מעיינים בשדה processing_duration
באובייקט metadata
של AuditLog
.
השדה processing_duration
מתאר את הזמן שלקח למסד הנתונים לעבד בקשה. הערך הזה קטן יותר מזמן האחזור של משתמש הקצה. באופן ספציפי, הוא לא כולל תקורה של רשת.
שם השירות
יומני הביקורת של Cloud Firestore משתמשים בשם השירות firestore.googleapis.com
.
אפשר לסנן לפי השירות הזה:
protoPayload.serviceName="firestore.googleapis.com"
קודי Method לפי סוג ההרשאה
לכל הרשאה ב-IAM יש מאפיין type
עם enum שיכול להיות אחד מארבעת הערכים הבאים: ADMIN_READ
, ADMIN_WRITE
, DATA_READ
או DATA_WRITE
. כשקוראים ל-method, Cloud Firestore יוצר יומן ביקורת שהקטגוריה שלו תלויה במאפיין type
של ההרשאה שנדרשת לביצוע ה-method.
ה-methods שבשבילן צריך הרשאה ב-IAM עם הערכים DATA_READ
, DATA_WRITE
או ADMIN_READ
במאפיין type
יוצרות יומני ביקורת של Data Access.
ה-methods שבשבילן צריך הרשאה ב-IAM עם הערך ADMIN_WRITE
במאפיין type
יוצרות יומני ביקורת של Admin Activity.
סוג ההרשאה | Methods |
---|---|
ADMIN_READ |
google.cloud.location.Locations.GetLocation google.cloud.location.Locations.ListLocations google.firestore.admin.v1.FirestoreAdmin.GetBackup google.firestore.admin.v1.FirestoreAdmin.GetBackupSchedule google.firestore.admin.v1.FirestoreAdmin.GetDatabase google.firestore.admin.v1.FirestoreAdmin.GetField google.firestore.admin.v1.FirestoreAdmin.GetIndex google.firestore.admin.v1.FirestoreAdmin.ListBackupSchedules google.firestore.admin.v1.FirestoreAdmin.ListBackups google.firestore.admin.v1.FirestoreAdmin.ListDatabases google.firestore.admin.v1.FirestoreAdmin.ListFields google.firestore.admin.v1.FirestoreAdmin.ListIndexes google.firestore.admin.v1beta1.FirestoreAdmin.GetIndex google.firestore.admin.v1.MongoDBCompatible.ListIndexes google.firestore.admin.v1.MongoDBCompatible.ListDatabases
|
ADMIN_WRITE |
google.firestore.admin.v1.FirestoreAdmin.CreateBackupSchedule google.firestore.admin.v1.FirestoreAdmin.CreateDatabase google.firestore.admin.v1.FirestoreAdmin.CreateIndex google.firestore.admin.v1.FirestoreAdmin.DeleteBackup google.firestore.admin.v1.FirestoreAdmin.DeleteBackupSchedule google.firestore.admin.v1.FirestoreAdmin.DeleteDatabase google.firestore.admin.v1.FirestoreAdmin.DeleteIndex google.firestore.admin.v1.FirestoreAdmin.RestoreDatabase google.firestore.admin.v1.FirestoreAdmin.UpdateBackupSchedule google.firestore.admin.v1.FirestoreAdmin.UpdateDatabase google.firestore.admin.v1.FirestoreAdmin.UpdateField google.longrunning.Operations.CancelOperation google.longrunning.Operations.DeleteOperation
|
DATA_READ |
google.firestore.v1.MongoDBCompatible.Find google.firestore.v1.MongoDBCompatible.Aggregate google.firestore.v1.MongoDBCompatible.GetMore google.firestore.v1.MongoDBCompatible.ListCollections google.firestore.v1.MongoDBCompatible.Count google.firestore.v1.MongoDBCompatible.Distinct google.firestore.v1.MongoDBCompatible.CommitTransaction google.firestore.v1.MongoDBCompatible.AbortTransaction google.firestore.v1.MongoDBCompatible.EndSessions google.firestore.v1.MongoDBCompatible.KillCursors
|
DATA_WRITE |
google.firestore.v1.MongoDBCompatible.Insert google.firestore.v1.MongoDBCompatible.Update google.firestore.v1.MongoDBCompatible.Delete google.firestore.v1.MongoDBCompatible.FindAndModify google.firestore.v1.MongoDBCompatible.CreateCollection
|
זיהוי המתקשרים בבקשה
הרשומות ביומן הביקורת כוללות מידע על הזהות של מי שביצע את הפעולה שנרשמה. כדי לזהות את מי ששלח את הבקשה, צריך לעיין בשדות הבאים באובייקט AuditLog
:
הזהות של המתקשר מופיעה בשדה
AuthenticationInfo
. המידע הזה יכול לכלול אתprincipalEmail
של המשתמש. המידע הזה מצונזר לפעמים.השדה
callerIp
באובייקטrequestMetadata
של רשומה מסוגAuditLog
כולל את כתובת ה-IP של מבצע השיחה.