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

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

שם השירות

יומני הביקורת של כללי האבטחה של 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 של API ברשימה הבאה שמסומנות ב-(LRO) הן פעולות ממושכות (LRO). בדרך כלל, השיטות האלה יוצרות שתי רשומות ביומן הביקורת: אחת כשהפעולה מתחילה ואחת כשהיא מסתיימת. מידע נוסף זמין במאמר בנושא יומני ביקורת של פעולות ממושכות.
סוג ההרשאה Methods
ADMIN_READ google.firebase.rules.v1.FirebaseRulesService.GetRelease
google.firebase.rules.v1.FirebaseRulesService.GetRuleset
google.firebase.rules.v1.FirebaseRulesService.ListReleases
google.firebase.rules.v1.FirebaseRulesService.ListRulesets
google.firebase.rules.v1.FirebaseRulesService.TestRuleset
ADMIN_WRITE google.firebase.rules.v1.FirebaseRulesService.CreateRelease
google.firebase.rules.v1.FirebaseRulesService.CreateRuleset
google.firebase.rules.v1.FirebaseRulesService.DeleteRelease
google.firebase.rules.v1.FirebaseRulesService.DeleteRuleset
google.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