רישום ביומן ביקורת לכללי אבטחה של 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
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) ב-Cloud מוסבר איך מתבצעת הבדיקה של ההרשאות לכל 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 לא יוצרות יומני ביקורת

חלק מה-methods לא יוצרות יומני ביקורת, ויכולות להיות לזה כמה סיבות:

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

ה-methods הבאות לא יוצרות יומני ביקורת:

  • google.firebase.rules.v1.FirebaseRulesService.GetReleaseExecutable