Stay organized with collectionsSave and categorize content based on your preferences.
This document describes audit logging for Firebase Security Rules.Google Cloudservices
generate audit logs that record administrative and access activities within yourGoogle Cloudresources.
For more information about Cloud Audit Logs, see the following:
Each IAM permission has atypeproperty, whose value is an enum
that can be one of four values:ADMIN_READ,ADMIN_WRITE,DATA_READ, orDATA_WRITE. When you call a method,
Firebase Security Rules generates an audit log whose category is dependent on thetypeproperty of the permission required to perform the method.
Methods that require an IAM permission with thetypeproperty value
ofDATA_READ,DATA_WRITE, orADMIN_READgenerateData Accessaudit logs.
Methods that require an IAM permission with thetypeproperty value
ofADMIN_WRITEgenerateAdmin Activityaudit logs.
For information about how and which permissions are evaluated for each method,
see the Cloud Identity and Access Management documentation for Firebase Security Rules.
google.firebase.rules.v1.FirebaseRulesService
The following audit logs are associated with methods belonging togoogle.firebase.rules.v1.FirebaseRulesService.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-05 UTC."],[],[],null,["This document describes audit logging for Firebase Security Rules. Google Cloud services\ngenerate audit logs that record administrative and access activities within your Google Cloud resources.\nFor more information about Cloud Audit Logs, see the following:\n\n- [Types of audit logs](https://cloud.google.com/logging/docs/audit#types)\n- [Audit log entry structure](https://cloud.google.com/logging/docs/audit#audit_log_entry_structure)\n- [Storing and routing audit logs](https://cloud.google.com/logging/docs/audit#storing_and_routing_audit_logs)\n- [Cloud Logging pricing summary](https://cloud.google.com/stackdriver/pricing#logs-pricing-summary)\n- [Enable Data Access audit logs](https://cloud.google.com/logging/docs/audit/configure-data-access)\n\n\u003cbr /\u003e\n\nService name\n\nFirebase Security Rules audit logs use the service name `firebaserules.googleapis.com`.\nFilter for this service: \n\n```gdscript\n protoPayload.serviceName=\"firebaserules.googleapis.com\"\n \n```\n\n\u003cbr /\u003e\n\nMethods by permission type\n\nEach IAM permission has a `type` property, whose value is an enum\nthat can be one of four values: `ADMIN_READ`, `ADMIN_WRITE`,\n`DATA_READ`, or `DATA_WRITE`. When you call a method,\nFirebase Security Rules generates an audit log whose category is dependent on the\n`type` property of the permission required to perform the method.\n\nMethods that require an IAM permission with the `type` property value\nof `DATA_READ`, `DATA_WRITE`, or `ADMIN_READ` generate\n[Data Access](https://cloud.google.com/logging/docs/audit#data-access) audit logs.\n\nMethods that require an IAM permission with the `type` property value\nof `ADMIN_WRITE` generate\n[Admin Activity](https://cloud.google.com/logging/docs/audit#admin-activity) audit logs.\n\n| Permission type | Methods |\n|-----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `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` |\n| `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` |\n\nAPI interface audit logs\n\nFor information about how and which permissions are evaluated for each method,\nsee the Cloud Identity and Access Management documentation for Firebase Security Rules.\n\n`google.firebase.rules.v1.FirebaseRulesService`\n\nThe following audit logs are associated with methods belonging to\n`google.firebase.rules.v1.FirebaseRulesService`.\n\n`CreateRelease`\n\n- **Method** : `google.firebase.rules.v1.FirebaseRulesService.CreateRelease` \n- **Audit log type** : [Admin activity](https://cloud.google.com/logging/docs/audit#admin-activity) \n- **Permissions** :\n - `firebaserules.releases.create - ADMIN_WRITE`\n- **Method is a long-running or streaming operation** : No. \n- **Filter for this method** : `\n protoPayload.methodName=\"google.firebase.rules.v1.FirebaseRulesService.CreateRelease\"\n ` \n\n`CreateRuleset`\n\n- **Method** : `google.firebase.rules.v1.FirebaseRulesService.CreateRuleset` \n- **Audit log type** : [Admin activity](https://cloud.google.com/logging/docs/audit#admin-activity) \n- **Permissions** :\n - `firebaserules.rulesets.create - ADMIN_WRITE`\n- **Method is a long-running or streaming operation** : No. \n- **Filter for this method** : `\n protoPayload.methodName=\"google.firebase.rules.v1.FirebaseRulesService.CreateRuleset\"\n ` \n\n`DeleteRelease`\n\n- **Method** : `google.firebase.rules.v1.FirebaseRulesService.DeleteRelease` \n- **Audit log type** : [Admin activity](https://cloud.google.com/logging/docs/audit#admin-activity) \n- **Permissions** :\n - `firebaserules.releases.delete - ADMIN_WRITE`\n- **Method is a long-running or streaming operation** : No. \n- **Filter for this method** : `\n protoPayload.methodName=\"google.firebase.rules.v1.FirebaseRulesService.DeleteRelease\"\n ` \n\n`DeleteRuleset`\n\n- **Method** : `google.firebase.rules.v1.FirebaseRulesService.DeleteRuleset` \n- **Audit log type** : [Admin activity](https://cloud.google.com/logging/docs/audit#admin-activity) \n- **Permissions** :\n - `firebaserules.rulesets.delete - ADMIN_WRITE`\n- **Method is a long-running or streaming operation** : No. \n- **Filter for this method** : `\n protoPayload.methodName=\"google.firebase.rules.v1.FirebaseRulesService.DeleteRuleset\"\n ` \n\n`GetRelease`\n\n- **Method** : `google.firebase.rules.v1.FirebaseRulesService.GetRelease` \n- **Audit log type** : [Data access](https://cloud.google.com/logging/docs/audit#data-access) \n- **Permissions** :\n - `firebaserules.releases.get - ADMIN_READ`\n- **Method is a long-running or streaming operation** : No. \n- **Filter for this method** : `\n protoPayload.methodName=\"google.firebase.rules.v1.FirebaseRulesService.GetRelease\"\n ` \n\n`GetRuleset`\n\n- **Method** : `google.firebase.rules.v1.FirebaseRulesService.GetRuleset` \n- **Audit log type** : [Data access](https://cloud.google.com/logging/docs/audit#data-access) \n- **Permissions** :\n - `firebaserules.rulesets.get - ADMIN_READ`\n- **Method is a long-running or streaming operation** : No. \n- **Filter for this method** : `\n protoPayload.methodName=\"google.firebase.rules.v1.FirebaseRulesService.GetRuleset\"\n ` \n\n`ListReleases`\n\n- **Method** : `google.firebase.rules.v1.FirebaseRulesService.ListReleases` \n- **Audit log type** : [Data access](https://cloud.google.com/logging/docs/audit#data-access) \n- **Permissions** :\n - `firebaserules.releases.list - ADMIN_READ`\n- **Method is a long-running or streaming operation** : No. \n- **Filter for this method** : `\n protoPayload.methodName=\"google.firebase.rules.v1.FirebaseRulesService.ListReleases\"\n ` \n\n`ListRulesets`\n\n- **Method** : `google.firebase.rules.v1.FirebaseRulesService.ListRulesets` \n- **Audit log type** : [Data access](https://cloud.google.com/logging/docs/audit#data-access) \n- **Permissions** :\n - `firebaserules.rulesets.list - ADMIN_READ`\n- **Method is a long-running or streaming operation** : No. \n- **Filter for this method** : `\n protoPayload.methodName=\"google.firebase.rules.v1.FirebaseRulesService.ListRulesets\"\n ` \n\n`TestRuleset`\n\n- **Method** : `google.firebase.rules.v1.FirebaseRulesService.TestRuleset` \n- **Audit log type** : [Data access](https://cloud.google.com/logging/docs/audit#data-access) \n- **Permissions** :\n - `firebaserules.rulesets.test - ADMIN_READ`\n- **Method is a long-running or streaming operation** : No. \n- **Filter for this method** : `\n protoPayload.methodName=\"google.firebase.rules.v1.FirebaseRulesService.TestRuleset\"\n ` \n\n`UpdateRelease`\n\n- **Method** : `google.firebase.rules.v1.FirebaseRulesService.UpdateRelease` \n- **Audit log type** : [Admin activity](https://cloud.google.com/logging/docs/audit#admin-activity) \n- **Permissions** :\n - `firebaserules.releases.update - ADMIN_WRITE`\n- **Method is a long-running or streaming operation** : No. \n- **Filter for this method** : `\n protoPayload.methodName=\"google.firebase.rules.v1.FirebaseRulesService.UpdateRelease\"\n ` \n\nMethods that don't produce audit logs\n\nA method might not produce audit logs for one or more of the following\nreasons:\n\n- It is a high volume method involving significant log generation and storage costs.\n- It has low auditing value.\n- Another audit or platform log already provides method coverage.\n\n\u003cbr /\u003e\n\nThe following methods don't produce audit logs:\n\n- `google.firebase.rules.v1.FirebaseRulesService.GetReleaseExecutable`"]]