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

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

שם השירות

כדי לראות את יומני הביקורת של כללי האבטחה של Firebase:

  1. נכנסים לדף Logs Explorer במסוף Google Cloud:

    מעבר אל Logs Explorer

  2. מעתיקים את השאילתה הבאה לשדה Query של Logs Explorer ולוחצים על Run query.

        protoPayload.serviceName="firebaserules.googleapis.com"
      

קודי Method לפי סוג ההרשאה

לכל הרשאה ב-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) הן פעולות ממושכות. בדרך כלל, ה-methods האלה יוצרות שתי רשומות ביומן הביקורת: אחת כשהפעולה מתחילה ואחת כשהיא מסתיימת. אתם יכולים לקרוא מידע נוסף במאמר בנושא יומני ביקורת של פעולות ממושכות.
סוג ההרשאה 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

במאמר בנושא Cloud Identity and Access Management לכללי האבטחה של 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