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

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

サービス名

Firebase セキュリティ ルールの監査ログを表示する手順は次のとおりです。

  1. Google Cloud コンソールで Logs Explorer ページに移動します。

    Logs Explorer に移動

  2. 次のクエリを Logs Explorer の [Query] フィールドにコピーして貼り付け、[Run query] をクリックします。

        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 権限を必要とするメソッドは、管理アクティビティ監査ログを生成します。

次のリスト中の(LRO)と付記されている API メソッドは、長時間実行オペレーション(LRO)です。これらのメソッドは、通常、2 つの監査ログエントリを生成します。一つはオペレーションの開始時、もう一つは終了時に生成されます。詳細については、長時間実行オペレーションの監査ログをご覧ください。
権限タイプ メソッド
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