BigQuery Reservation API audit logging
Cloud Audit Logs for BigQuery Reservation API let you track administrative and data-access operations on your resources to help you monitor access and configuration changes. You can query these logs in the Logs Explorer and check which BigQuery Reservation API API methods generate Cloud Audit Logs.
For more information about Cloud Audit Logs, see the following documents:
- Types of audit logs
- Audit log entry structure
- Storing and routing audit logs
- Cloud Logging pricing summary
- Enable Data Access audit logs
Service name
To view the BigQuery Reservation API audit logs, do the following:
In the Google Cloud console, go to the Logs Explorer page:
Copy and paste the following query into the Query field of the Logs Explorer, and then click Run query.
protoPayload.serviceName="bigqueryreservation.googleapis.com"
Methods by permission type
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,
BigQuery Reservation 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.
| Permission type | Methods |
|---|---|
ADMIN_READ |
google.cloud.bigquery.reservation.v1.ReservationService.GetBiReservationgoogle.cloud.bigquery.reservation.v1.ReservationService.GetCapacityCommitmentgoogle.cloud.bigquery.reservation.v1.ReservationService.GetReservationgoogle.cloud.bigquery.reservation.v1.ReservationService.ListAssignmentsgoogle.cloud.bigquery.reservation.v1.ReservationService.ListCapacityCommitmentsgoogle.cloud.bigquery.reservation.v1.ReservationService.ListReservationsgoogle.cloud.bigquery.reservation.v1.ReservationService.SearchAllAssignmentsgoogle.cloud.bigquery.reservation.v1.ReservationService.SearchAssignments |
ADMIN_WRITE |
google.cloud.bigquery.reservation.v1.ReservationService.CreateAssignmentgoogle.cloud.bigquery.reservation.v1.ReservationService.CreateCapacityCommitmentgoogle.cloud.bigquery.reservation.v1.ReservationService.CreateReservationgoogle.cloud.bigquery.reservation.v1.ReservationService.DeleteAssignmentgoogle.cloud.bigquery.reservation.v1.ReservationService.DeleteCapacityCommitmentgoogle.cloud.bigquery.reservation.v1.ReservationService.DeleteReservationgoogle.cloud.bigquery.reservation.v1.ReservationService.FailoverReservationgoogle.cloud.bigquery.reservation.v1.ReservationService.MergeCapacityCommitmentsgoogle.cloud.bigquery.reservation.v1.ReservationService.MoveAssignmentgoogle.cloud.bigquery.reservation.v1.ReservationService.SplitCapacityCommitmentgoogle.cloud.bigquery.reservation.v1.ReservationService.UpdateAssignmentgoogle.cloud.bigquery.reservation.v1.ReservationService.UpdateBiReservationgoogle.cloud.bigquery.reservation.v1.ReservationService.UpdateCapacityCommitmentgoogle.cloud.bigquery.reservation.v1.ReservationService.UpdateReservation |
API interface audit logs
For information about how and which permissions are evaluated for each method, see the Identity and Access Management documentation for BigQuery Reservation API.
google.cloud.bigquery.reservation.v1.ReservationService
The following audit logs are associated with methods belonging to
google.cloud.bigquery.reservation.v1.ReservationService.
CreateAssignment
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.CreateAssignment - Audit log type: Admin activity
- Permissions:
bigquery.reservationAssignments.create - ADMIN_WRITE
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.CreateAssignment"
CreateCapacityCommitment
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.CreateCapacityCommitment - Audit log type: Admin activity
- Permissions:
bigquery.capacityCommitments.create - ADMIN_WRITE
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.CreateCapacityCommitment"
CreateReservation
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.CreateReservation - Audit log type: Admin activity
- Permissions:
bigquery.reservations.create - ADMIN_WRITE
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.CreateReservation"
DeleteAssignment
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.DeleteAssignment - Audit log type: Admin activity
- Permissions:
bigquery.reservationAssignments.delete - ADMIN_WRITE
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.DeleteAssignment"
DeleteCapacityCommitment
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.DeleteCapacityCommitment - Audit log type: Admin activity
- Permissions:
bigquery.capacityCommitments.delete - ADMIN_WRITE
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.DeleteCapacityCommitment"
DeleteReservation
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.DeleteReservation - Audit log type: Admin activity
- Permissions:
bigquery.reservations.delete - ADMIN_WRITE
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.DeleteReservation"
FailoverReservation
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.FailoverReservation - Audit log type: Admin activity
- Permissions:
bigquery.reservations.update - ADMIN_WRITE
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.FailoverReservation"
GetBiReservation
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.GetBiReservation - Audit log type: Data access
- Permissions:
bigquery.bireservations.get - ADMIN_READ
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.GetBiReservation"
GetCapacityCommitment
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.GetCapacityCommitment - Audit log type: Data access
- Permissions:
bigquery.capacityCommitments.get - ADMIN_READ
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.GetCapacityCommitment"
GetReservation
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.GetReservation - Audit log type: Data access
- Permissions:
bigquery.reservations.get - ADMIN_READ
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.GetReservation"
ListAssignments
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.ListAssignments - Audit log type: Data access
- Permissions:
bigquery.reservationAssignments.list - ADMIN_READ
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.ListAssignments"
ListCapacityCommitments
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.ListCapacityCommitments - Audit log type: Data access
- Permissions:
bigquery.capacityCommitments.list - ADMIN_READ
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.ListCapacityCommitments"
ListReservations
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.ListReservations - Audit log type: Data access
- Permissions:
bigquery.reservations.list - ADMIN_READ
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.ListReservations"
MergeCapacityCommitments
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.MergeCapacityCommitments - Audit log type: Admin activity
- Permissions:
bigquery.capacityCommitments.update - ADMIN_WRITE
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.MergeCapacityCommitments"
MoveAssignment
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.MoveAssignment - Audit log type: Admin activity
- Permissions:
bigquery.reservationAssignments.create - ADMIN_WRITEbigquery.reservationAssignments.delete - ADMIN_WRITE
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.MoveAssignment"
SearchAllAssignments
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.SearchAllAssignments - Audit log type: Data access
- Permissions:
bigquery.reservationAssignments.search - ADMIN_READ
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.SearchAllAssignments"
SearchAssignments
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.SearchAssignments - Audit log type: Data access
- Permissions:
bigquery.reservationAssignments.search - ADMIN_READ
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.SearchAssignments"
SplitCapacityCommitment
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.SplitCapacityCommitment - Audit log type: Admin activity
- Permissions:
bigquery.capacityCommitments.update - ADMIN_WRITE
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.SplitCapacityCommitment"
UpdateAssignment
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.UpdateAssignment - Audit log type: Admin activity
- Permissions:
bigquery.reservationAssignments.update - ADMIN_WRITE
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.UpdateAssignment"
UpdateBiReservation
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.UpdateBiReservation - Audit log type: Admin activity
- Permissions:
bigquery.bireservations.update - ADMIN_WRITE
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.UpdateBiReservation"
UpdateCapacityCommitment
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.UpdateCapacityCommitment - Audit log type: Admin activity
- Permissions:
bigquery.capacityCommitments.update - ADMIN_WRITE
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.UpdateCapacityCommitment"
UpdateReservation
- Method:
google.cloud.bigquery.reservation.v1.ReservationService.UpdateReservation - Audit log type: Admin activity
- Permissions:
bigquery.reservations.update - ADMIN_WRITE
- Method is a long-running or streaming operation:
No.
- Filter for this method:
protoPayload.methodName="google.cloud.bigquery.reservation.v1.ReservationService.UpdateReservation"
Audit Log examples for BigQuery Reservations usage
The following examples use AuditLog messages
to analyze BigQuery Reservations usage.
Example: Find users who purchased slots
This query shows the email address of the users who purchased slots.
#standardSQL SELECT protopayload_auditlog.requestMetadata.requestAttributes.time request_time, protopayload_auditlog.methodName, protopayload_auditlog.authenticationInfo.principalEmail, JSON_QUERY(protopayload_auditlog.requestJson , "$.capacityCommitment.slotCount") slots, FROM `my-project-id.auditlog_dataset.cloudaudit_googleapis_com_activity` WHERE protopayload_auditlog.methodName like "%CreateCapacityCommitment%" ORDER by request_time
Example: History of a project assignment
This query shows the history of a project's reservation assignments.
#standardSQL SELECT protopayload_auditlog.requestMetadata.requestAttributes.time request_time, protopayload_auditlog.methodName, protopayload_auditlog.authenticationInfo.principalEmail, JSON_QUERY(protopayload_auditlog.requestJson , "$.assignment.assignee") assignee, JSON_QUERY(protopayload_auditlog.requestJson , "$.assignment.jobType") job_type, FROM `my-project-id.auditlog_dataset.cloudaudit_googleapis_com_activity` WHERE protopayload_auditlog.methodName like "%Assignment%" AND JSON_QUERY(protopayload_auditlog.requestJson , "$.assignment.assignee") like "%OTHERPROJECTID%" ORDER by request_time