במאמר הזה מוסבר על רישום ביומני ביקורת בכללי האבטחה של Firebase. שירותי Google Cloud יוצרים יומני ביקורת שבהם מתועדים אירועי גישה למשאבי Google Cloud ופעילויות אדמין שנעשות בהם. מידע נוסף על יומני הביקורת של Cloud זמין במאמרים הבאים:
- הסוגים של יומני הביקורת
- המבנה של רשומות ביומני הביקורת
- שמירה וניתוב של יומני ביקורת
- מחירון מקוצר של Cloud Logging
- הפעלת יומני ביקורת של גישה לנתונים
שם השירות
יומני הביקורת של כללי האבטחה של Firebase משתמשים בשם השירות firebaserules.googleapis.com.
אפשר לסנן לפי השירות הזה:
protoPayload.serviceName="firebaserules.googleapis.com"
Methods לפי סוג ההרשאה
לכל הרשאה ב-IAM יש מאפיין type עם enum שיכול להיות אחד מארבעת הערכים הבאים: ADMIN_READ, ADMIN_WRITE, DATA_READ או DATA_WRITE. כשקוראים ל-method, במסגרת כללי האבטחה של Firebase נוצר יומן ביקורת שהקטגוריה שלו תלויה במאפיין type של ההרשאה שנדרשת לביצוע ה-method.
ה-methods שבשבילן צריך הרשאה ב-IAM עם הערכים DATA_READ, DATA_WRITE או ADMIN_READ במאפיין type יוצרות יומני ביקורת של Data Access.
ה-methods שבשבילן צריך הרשאה ב-IAM עם הערכים ADMIN_WRITE במאפיין type יוצרות יומני ביקורת של Admin Activity.
| סוג ההרשאה | Methods |
|---|---|
ADMIN_READ |
google.firebase.rules.v1.FirebaseRulesService.GetReleasegoogle.firebase.rules.v1.FirebaseRulesService.GetRulesetgoogle.firebase.rules.v1.FirebaseRulesService.ListReleasesgoogle.firebase.rules.v1.FirebaseRulesService.ListRulesetsgoogle.firebase.rules.v1.FirebaseRulesService.TestRuleset |
ADMIN_WRITE |
google.firebase.rules.v1.FirebaseRulesService.CreateReleasegoogle.firebase.rules.v1.FirebaseRulesService.CreateRulesetgoogle.firebase.rules.v1.FirebaseRulesService.DeleteReleasegoogle.firebase.rules.v1.FirebaseRulesService.DeleteRulesetgoogle.firebase.rules.v1.FirebaseRulesService.UpdateRelease |
יומני ביקורת של ממשק ה-API
במאמר בנושא ניהול הזהויות והרשאות הגישה (IAM) לכללי אבטחה ב-Firebase מוסבר איך מתבצעת הבדיקה של ההרשאות לכל method ואילו הרשאות נבדקות.
google.firebase.rules.v1.FirebaseRulesService
יומני הביקורת הבאים משויכים ל-methods ששייכות ל-google.firebase.rules.v1.FirebaseRulesService.
CreateRelease
- Method:
google.firebase.rules.v1.FirebaseRulesService.CreateRelease - סוג יומן הביקורת: פעילות אדמין
- הרשאות:
firebaserules.releases.create - ADMIN_WRITE
- ה-method היא פעולה ממושכת או פעולת סטרימינג:
לא.
- סינון לפי ה-method:
protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.CreateRelease"
CreateRuleset
- Method:
google.firebase.rules.v1.FirebaseRulesService.CreateRuleset - סוג יומן הביקורת: פעילות אדמין
- הרשאות:
firebaserules.rulesets.create - ADMIN_WRITE
- ה-method היא פעולה ממושכת או פעולת סטרימינג:
לא.
- סינון לפי ה-method:
protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.CreateRuleset"
DeleteRelease
- Method:
google.firebase.rules.v1.FirebaseRulesService.DeleteRelease - סוג יומן הביקורת: פעילות אדמין
- הרשאות:
firebaserules.releases.delete - ADMIN_WRITE
- ה-method היא פעולה ממושכת או פעולת סטרימינג:
לא.
- סינון לפי ה-method:
protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.DeleteRelease"
DeleteRuleset
- Method:
google.firebase.rules.v1.FirebaseRulesService.DeleteRuleset - סוג יומן הביקורת: פעילות אדמין
- הרשאות:
firebaserules.rulesets.delete - ADMIN_WRITE
- ה-method היא פעולה ממושכת או פעולת סטרימינג:
לא.
- סינון לפי ה-method:
protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.DeleteRuleset"
GetRelease
- Method:
google.firebase.rules.v1.FirebaseRulesService.GetRelease - סוג יומן הביקורת: גישה לנתונים
- הרשאות:
firebaserules.releases.get - ADMIN_READ
- ה-method היא פעולה ממושכת או פעולת סטרימינג:
לא.
- סינון לפי ה-method:
protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.GetRelease"
GetRuleset
- Method:
google.firebase.rules.v1.FirebaseRulesService.GetRuleset - סוג יומן הביקורת: גישה לנתונים
- הרשאות:
firebaserules.rulesets.get - ADMIN_READ
- ה-method היא פעולה ממושכת או פעולת סטרימינג:
לא.
- סינון לפי ה-method:
protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.GetRuleset"
ListReleases
- Method:
google.firebase.rules.v1.FirebaseRulesService.ListReleases - סוג יומן הביקורת: גישה לנתונים
- הרשאות:
firebaserules.releases.list - ADMIN_READ
- ה-method היא פעולה ממושכת או פעולת סטרימינג:
לא.
- סינון לפי ה-method:
protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.ListReleases"
ListRulesets
- Method:
google.firebase.rules.v1.FirebaseRulesService.ListRulesets - סוג יומן הביקורת: גישה לנתונים
- הרשאות:
firebaserules.rulesets.list - ADMIN_READ
- ה-method היא פעולה ממושכת או פעולת סטרימינג:
לא.
- סינון לפי ה-method:
protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.ListRulesets"
TestRuleset
- Method:
google.firebase.rules.v1.FirebaseRulesService.TestRuleset - סוג יומן הביקורת: גישה לנתונים
- הרשאות:
firebaserules.rulesets.test - ADMIN_READ
- ה-method היא פעולה ממושכת או פעולת סטרימינג:
לא.
- סינון לפי ה-method:
protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.TestRuleset"
UpdateRelease
- Method:
google.firebase.rules.v1.FirebaseRulesService.UpdateRelease - סוג יומן הביקורת: פעילות אדמין
- הרשאות:
firebaserules.releases.update - ADMIN_WRITE
- ה-method היא פעולה ממושכת או פעולת סטרימינג:
לא.
- סינון לפי ה-method:
protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.UpdateRelease"
אילו methods לא יוצרות יומני ביקורת
יכולות להיות כמה סיבות שב-method מסוימת לא נוצרים יומני ביקורת:
- מדובר ב-method שיש בה נפח גבוה של יומנים, שיצירה שלהם עלולה לגרור עלויות גבוהות של אחסון ויצירה.
- הערך של הביקורת נמוך.
- כבר יש יומן ביקורת או יומן פלטפורמה אחרים שמכסים את ה-method.
ה-methods הבאות לא יוצרות יומני ביקורת:
google.firebase.rules.v1.FirebaseRulesService.GetReleaseExecutable