Firebase セキュリティ ルールの監査ログ

このドキュメントでは、Firebase セキュリティ ルールの監査ロギングについて説明します。Google Cloud サービスは、Google Cloud リソース内の管理アクティビティとアクセス アクティビティを記録する監査ログを生成します。Cloud Audit Logs の詳細については、以下をご覧ください。

サービス名

Firebase セキュリティ ルールの監査ログでは、サービス名 firebaserules.googleapis.com が使用されます。 このサービスでフィルタ:

    protoPayload.serviceName="firebaserules.googleapis.com"
  

メソッド(権限タイプ別)

各 IAM 権限には type プロパティがあります。このプロパティの値は列挙型で、ADMIN_READADMIN_WRITEDATA_READDATA_WRITE のいずれかになります。メソッドを呼び出すと、Firebase セキュリティ ルールは監査ログを生成します。このログのカテゴリは、メソッドの実行に必要な権限の type プロパティによって異なります。type プロパティ値が DATA_READDATA_WRITE、または ADMIN_READ の IAM 権限を必要とするメソッドは、データアクセス監査ログを生成します。type プロパティ値が ADMIN_WRITE の IAM 権限を必要とするメソッドは、管理アクティビティ監査ログを生成します。

権限タイプ メソッド
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 セキュリティ ルールの情報をご覧ください。

google.firebase.rules.v1.FirebaseRulesService

次の監査ログは、google.firebase.rules.v1.FirebaseRulesService に属するメソッドに関連付けられています。

CreateRelease

  • メソッド: google.firebase.rules.v1.FirebaseRulesService.CreateRelease
  • 監査ログのタイプ: 管理アクティビティ
  • 権限:
    • firebaserules.releases.create - ADMIN_WRITE
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.CreateRelease"

CreateRuleset

  • メソッド: google.firebase.rules.v1.FirebaseRulesService.CreateRuleset
  • 監査ログのタイプ: 管理アクティビティ
  • 権限:
    • firebaserules.rulesets.create - ADMIN_WRITE
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.CreateRuleset"

DeleteRelease

  • メソッド: google.firebase.rules.v1.FirebaseRulesService.DeleteRelease
  • 監査ログのタイプ: 管理アクティビティ
  • 権限:
    • firebaserules.releases.delete - ADMIN_WRITE
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.DeleteRelease"

DeleteRuleset

  • メソッド: google.firebase.rules.v1.FirebaseRulesService.DeleteRuleset
  • 監査ログのタイプ: 管理アクティビティ
  • 権限:
    • firebaserules.rulesets.delete - ADMIN_WRITE
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.DeleteRuleset"

GetRelease

  • メソッド: google.firebase.rules.v1.FirebaseRulesService.GetRelease
  • 監査ログのタイプ: データアクセス
  • 権限:
    • firebaserules.releases.get - ADMIN_READ
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.GetRelease"

GetRuleset

  • メソッド: google.firebase.rules.v1.FirebaseRulesService.GetRuleset
  • 監査ログのタイプ: データアクセス
  • 権限:
    • firebaserules.rulesets.get - ADMIN_READ
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.GetRuleset"

ListReleases

  • メソッド: google.firebase.rules.v1.FirebaseRulesService.ListReleases
  • 監査ログのタイプ: データアクセス
  • 権限:
    • firebaserules.releases.list - ADMIN_READ
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.ListReleases"

ListRulesets

  • メソッド: google.firebase.rules.v1.FirebaseRulesService.ListRulesets
  • 監査ログのタイプ: データアクセス
  • 権限:
    • firebaserules.rulesets.list - ADMIN_READ
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.ListRulesets"

TestRuleset

  • メソッド: google.firebase.rules.v1.FirebaseRulesService.TestRuleset
  • 監査ログのタイプ: データアクセス
  • 権限:
    • firebaserules.rulesets.test - ADMIN_READ
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.TestRuleset"

UpdateRelease

  • メソッド: google.firebase.rules.v1.FirebaseRulesService.UpdateRelease
  • 監査ログのタイプ: 管理アクティビティ
  • 権限:
    • firebaserules.releases.update - ADMIN_WRITE
  • メソッドが長時間実行オペレーションまたはストリーミング オペレーションのどちらであるか: どちらでもない。
  • このメソッドのフィルタ: protoPayload.methodName="google.firebase.rules.v1.FirebaseRulesService.UpdateRelease"

監査ログを生成しないメソッド

メソッドが監査ログを生成しない理由は、次のいずれかの可能性があります。

  • これは、大量のログの生成とストレージのコストを要する大容量法です。
  • 監査値が低い。
  • 別の監査ログまたはプラットフォーム ログでメソッド カバレッジがすでに提供されている。

次のメソッドは監査ログを生成しません。

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