Stay organized with collections
Save and categorize content based on your preferences.
Cloud Bigtable API audit logging
This document describes audit logging for Cloud Bigtable API. Google Cloud services
generate audit logs that record administrative and access activities within your Google Cloud resources.
For more information about Cloud Audit Logs, see the following:
When a log entry exceeds the size limit, Cloud Logging splits that entry and distributes the data across several entries. To learn how to identify and reassemble split audit logs, see Split audit log entries.
Service name
Cloud Bigtable API audit logs use the service name bigtable.googleapis.com.
Filter for this service:
Each IAM permission has a type property, whose value is an enum
that can be one of four values: ADMIN_READ, ADMIN_WRITE,
DATA_READ, or DATA_WRITE. When you call a method,
Cloud Bigtable API generates an audit log whose category is dependent on the
type property of the permission required to perform the method.
Methods that require an IAM permission with the type property value
of DATA_READ, DATA_WRITE, or ADMIN_READ generate
Data Access audit logs.
Methods that require an IAM permission with the type property value
of ADMIN_WRITE generate
Admin Activity audit logs.
For information about how and which permissions are evaluated for each method,
see the Identity and Access Management documentation for Cloud Bigtable API.
google.bigtable.v2.Bigtable
The following audit logs are associated with methods belonging to
google.bigtable.v2.Bigtable.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-25 UTC."],[[["\u003cp\u003eCloud Bigtable API audit logs record administrative and data access activities within Google Cloud resources, and they are identifiable by the service name \u003ccode\u003ebigtable.googleapis.com\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eAudit logs are categorized as either Data Access or Admin Activity, determined by the IAM permission type required for the method, where \u003ccode\u003eADMIN_WRITE\u003c/code\u003e generates Admin Activity logs, and \u003ccode\u003eDATA_READ\u003c/code\u003e, \u003ccode\u003eDATA_WRITE\u003c/code\u003e, or \u003ccode\u003eADMIN_READ\u003c/code\u003e generate Data Access logs.\u003c/p\u003e\n"],["\u003cp\u003eMethods associated with the \u003ccode\u003egoogle.bigtable.v2.Bigtable\u003c/code\u003e API are detailed with their specific audit log type, required permissions, and whether they are streaming operations.\u003c/p\u003e\n"],["\u003cp\u003eCertain high-volume or low-value methods, such as \u003ccode\u003egrpc.lookup.v1.RouteLookupService.RouteLookup\u003c/code\u003e, do not generate audit logs to avoid excessive logging.\u003c/p\u003e\n"]]],[],null,["# Cloud Bigtable API audit logging\n================================\n\nThis document describes audit logging for Cloud Bigtable API. 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](/logging/docs/audit#types)\n- [Audit log entry structure](/logging/docs/audit#audit_log_entry_structure)\n- [Storing and routing audit logs](/logging/docs/audit#storing_and_routing_audit_logs)\n- [Cloud Logging pricing summary](/stackdriver/pricing#logs-pricing-summary)\n- [Enable Data Access audit logs](/logging/docs/audit/configure-data-access)\n\n\u003cbr /\u003e\n\nNotes\n-----\n\nWhen a log entry exceeds the [size limit](/logging/docs/audit#quotas), Cloud Logging splits that entry and distributes the data across several entries. To learn how to identify and reassemble split audit logs, see [Split audit log entries](/logging/docs/audit/split-logs).\n\nService name\n------------\n\nCloud Bigtable API audit logs use the service name `bigtable.googleapis.com`.\nFilter for this service: \n\n```gdscript\n protoPayload.serviceName=\"bigtable.googleapis.com\"\n \n```\n\n\u003cbr /\u003e\n\nMethods by permission type\n--------------------------\n\n| For details about which fields are logged for Data Access audit logging, see [Audit log fields](/bigtable/docs/audit-log-fields). Before you enable Data Access audit logging, read [Managing Costs](/bigtable/docs/audit-log-estimate-costs).\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,\nCloud Bigtable API 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](/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](/logging/docs/audit#admin-activity) audit logs.\n\nAPI interface audit logs\n------------------------\n\nFor information about how and which permissions are evaluated for each method,\nsee the Identity and Access Management documentation for Cloud Bigtable API.\n\n### `google.bigtable.v2.Bigtable`\n\nThe following audit logs are associated with methods belonging to\n`google.bigtable.v2.Bigtable`.\n\n#### `CheckAndMutateRow`\n\n- **Method** : `google.bigtable.v2.Bigtable.CheckAndMutateRow` \n- **Audit log type** : [Data access](/logging/docs/audit#data-access) \n- **Permissions** :\n - `bigtable.tables.mutateRows - DATA_WRITE`\n- **Method is a long-running or streaming operation** : No. \n- **Filter for this method** : `\n protoPayload.methodName=\"google.bigtable.v2.Bigtable.CheckAndMutateRow\"\n ` \n\n#### `ExecuteQuery`\n\n- **Method** : `google.bigtable.v2.Bigtable.ExecuteQuery` \n- **Audit log type** : [Data access](/logging/docs/audit#data-access) \n- **Permissions** :\n - `bigtable.instances.executeQuery - DATA_READ`\n - `bigtable.tables.readRows - DATA_READ`\n- **Method is a long-running or streaming operation** : [**Streaming RPC**](/logging/docs/audit/understanding-audit-logs#streaming) \n- **Filter for this method** : `\n protoPayload.methodName=\"google.bigtable.v2.Bigtable.ExecuteQuery\"\n ` \n\n#### `GenerateInitialChangeStreamPartitions`\n\n- **Method** : `google.bigtable.v2.Bigtable.GenerateInitialChangeStreamPartitions` \n- **Audit log type** : [Data access](/logging/docs/audit#data-access) \n- **Permissions** :\n - `bigtable.tables.readRows - DATA_READ`\n- **Method is a long-running or streaming operation** : [**Streaming RPC**](/logging/docs/audit/understanding-audit-logs#streaming) \n- **Filter for this method** : `\n protoPayload.methodName=\"google.bigtable.v2.Bigtable.GenerateInitialChangeStreamPartitions\"\n ` \n\n#### `MutateRow`\n\n- **Method** : `google.bigtable.v2.Bigtable.MutateRow` \n- **Audit log type** : [Data access](/logging/docs/audit#data-access) \n- **Permissions** :\n - `bigtable.tables.mutateRows - DATA_WRITE`\n- **Method is a long-running or streaming operation** : No. \n- **Filter for this method** : `\n protoPayload.methodName=\"google.bigtable.v2.Bigtable.MutateRow\"\n ` \n\n#### `MutateRows`\n\n- **Method** : `google.bigtable.v2.Bigtable.MutateRows` \n- **Audit log type** : [Data access](/logging/docs/audit#data-access) \n- **Permissions** :\n - `bigtable.tables.mutateRows - DATA_WRITE`\n- **Method is a long-running or streaming operation** : [**Streaming RPC**](/logging/docs/audit/understanding-audit-logs#streaming) \n- **Filter for this method** : `\n protoPayload.methodName=\"google.bigtable.v2.Bigtable.MutateRows\"\n ` \n\n#### `PingAndWarm`\n\n- **Method** : `google.bigtable.v2.Bigtable.PingAndWarm` \n- **Audit log type** : [Data access](/logging/docs/audit#data-access) \n- **Permissions** :\n - `bigtable.instances.ping - ADMIN_READ`\n- **Method is a long-running or streaming operation** : No. \n- **Filter for this method** : `\n protoPayload.methodName=\"google.bigtable.v2.Bigtable.PingAndWarm\"\n ` \n\n#### `PrepareQuery`\n\n- **Method** : `google.bigtable.v2.Bigtable.PrepareQuery` \n- **Audit log type** : [Data access](/logging/docs/audit#data-access) \n- **Permissions** :\n - `bigtable.instances.executeQuery - DATA_READ`\n- **Method is a long-running or streaming operation** : No. \n- **Filter for this method** : `\n protoPayload.methodName=\"google.bigtable.v2.Bigtable.PrepareQuery\"\n ` \n\n#### `ReadChangeStream`\n\n- **Method** : `google.bigtable.v2.Bigtable.ReadChangeStream` \n- **Audit log type** : [Data access](/logging/docs/audit#data-access) \n- **Permissions** :\n - `bigtable.tables.readRows - DATA_READ`\n- **Method is a long-running or streaming operation** : [**Streaming RPC**](/logging/docs/audit/understanding-audit-logs#streaming) \n- **Filter for this method** : `\n protoPayload.methodName=\"google.bigtable.v2.Bigtable.ReadChangeStream\"\n ` \n\n#### `ReadModifyWriteRow`\n\n- **Method** : `google.bigtable.v2.Bigtable.ReadModifyWriteRow` \n- **Audit log type** : [Data access](/logging/docs/audit#data-access) \n- **Permissions** :\n - `bigtable.tables.mutateRows - DATA_WRITE`\n - `bigtable.tables.readRows - DATA_READ`\n- **Method is a long-running or streaming operation** : No. \n- **Filter for this method** : `\n protoPayload.methodName=\"google.bigtable.v2.Bigtable.ReadModifyWriteRow\"\n ` \n\n#### `ReadRows`\n\n- **Method** : `google.bigtable.v2.Bigtable.ReadRows` \n- **Audit log type** : [Data access](/logging/docs/audit#data-access) \n- **Permissions** :\n - `bigtable.tables.readRows - DATA_READ`\n- **Method is a long-running or streaming operation** : [**Streaming RPC**](/logging/docs/audit/understanding-audit-logs#streaming) \n- **Filter for this method** : `\n protoPayload.methodName=\"google.bigtable.v2.Bigtable.ReadRows\"\n ` \n\n#### `SampleRowKeys`\n\n- **Method** : `google.bigtable.v2.Bigtable.SampleRowKeys` \n- **Audit log type** : [Data access](/logging/docs/audit#data-access) \n- **Permissions** :\n - `bigtable.tables.sampleRowKeys - DATA_READ`\n- **Method is a long-running or streaming operation** : [**Streaming RPC**](/logging/docs/audit/understanding-audit-logs#streaming) \n- **Filter for this method** : `\n protoPayload.methodName=\"google.bigtable.v2.Bigtable.SampleRowKeys\"\n ` \n\nMethods that don't produce audit logs\n-------------------------------------\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- `grpc.lookup.v1.RouteLookupService.RouteLookup`"]]