Pub/Sub audit logging

This document describes audit logging for Pub/Sub, including which methods generate audit logs, details about the audit logs each method produces, and which methods do not produce audit logs, if any. Google Cloud generates audit logs that record administrative and access activities within your Google Cloud resources. For more information, see Cloud Audit Logs overview.

Notes

Pub/Sub does not currently write Data Access audit logs for message operations, such as Publish, Subscribe, and Acknowledge.

Service name

Pub/Sub audit logs use the service name pubsub.googleapis.com.

Methods by permission type

Methods that check DATA_READ, DATA_WRITE, and ADMIN_READ permissions generate logs categorized as Data Access audit logs. Methods that check ADMIN_WRITE permissions generate logs categorized as Admin Activity audit logs.

Permission type Methods
ADMIN_READ google.iam.v1.IAMPolicy.GetIamPolicy
google.pubsub.v1.SchemaService.GetSchema
google.pubsub.v1.SchemaService.ListSchemaRevisions
google.pubsub.v1.SchemaService.ListSchemas
google.pubsub.v1.SchemaService.ValidateMessage
google.pubsub.v1.SchemaService.ValidateSchema
google.pubsub.v1.Subscriber.GetSnapshot
google.pubsub.v1.Subscriber.ListSnapshots
google.pubsub.v1.Subscriber.Seek
ADMIN_WRITE google.iam.v1.IAMPolicy.SetIamPolicy
google.pubsub.v1.Publisher.CreateTopic
google.pubsub.v1.Publisher.DeleteTopic
google.pubsub.v1.Publisher.DetachSubscription
google.pubsub.v1.Publisher.UpdateTopic
google.pubsub.v1.SchemaService.CommitSchema
google.pubsub.v1.SchemaService.CreateSchema
google.pubsub.v1.SchemaService.DeleteSchema
google.pubsub.v1.SchemaService.DeleteSchemaRevision
google.pubsub.v1.SchemaService.RollbackSchema
google.pubsub.v1.Subscriber.CreateSnapshot
google.pubsub.v1.Subscriber.CreateSubscription
google.pubsub.v1.Subscriber.DeleteSnapshot
google.pubsub.v1.Subscriber.DeleteSubscription
google.pubsub.v1.Subscriber.ModifyPushConfig
google.pubsub.v1.Subscriber.UpdateSnapshot
google.pubsub.v1.Subscriber.UpdateSubscription
DATA_READ google.pubsub.v1.Publisher.GetTopic
google.pubsub.v1.Publisher.ListTopicSnapshots
google.pubsub.v1.Publisher.ListTopicSubscriptions
google.pubsub.v1.Publisher.ListTopics
google.pubsub.v1.Subscriber.GetSubscription
google.pubsub.v1.Subscriber.ListSubscriptions

Audit logs for each API interface

For information about how and which permissions are evaluated, for each method, see the Identity and Access Management documentation for Pub/Sub.

google.iam.v1.IAMPolicy

The following section contains details about audit logs associated with methods belonging to google.iam.v1.IAMPolicy.

GetIamPolicy

  • Method: google.iam.v1.IAMPolicy.GetIamPolicy
  • Audit log type: Data access
  • Permissions:
    • pubsub.schemas.getIamPolicy - ADMIN_READ
    • pubsub.snapshots.getIamPolicy - ADMIN_READ
    • pubsub.subscriptions.getIamPolicy - ADMIN_READ
    • pubsub.topics.getIamPolicy - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.iam.v1.IAMPolicy.GetIamPolicy"

SetIamPolicy

  • Method: google.iam.v1.IAMPolicy.SetIamPolicy
  • Audit log type: Admin activity
  • Permissions:
    • pubsub.schemas.setIamPolicy - ADMIN_WRITE
    • pubsub.snapshots.setIamPolicy - ADMIN_WRITE
    • pubsub.subscriptions.setIamPolicy - ADMIN_WRITE
    • pubsub.topics.setIamPolicy - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.iam.v1.IAMPolicy.SetIamPolicy"

google.pubsub.v1.Publisher

The following section contains details about audit logs associated with methods belonging to google.pubsub.v1.Publisher.

CreateTopic

  • Method: google.pubsub.v1.Publisher.CreateTopic
  • Audit log type: Admin activity
  • Permissions:
    • pubsub.topics.create - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Publisher.CreateTopic"

DeleteTopic

  • Method: google.pubsub.v1.Publisher.DeleteTopic
  • Audit log type: Admin activity
  • Permissions:
    • pubsub.topics.delete - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Publisher.DeleteTopic"

DetachSubscription

  • Method: google.pubsub.v1.Publisher.DetachSubscription
  • Audit log type: Admin activity
  • Permissions:
    • pubsub.topics.detachSubscription - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Publisher.DetachSubscription"

GetTopic

  • Method: google.pubsub.v1.Publisher.GetTopic
  • Audit log type: Data access
  • Permissions:
    • pubsub.topics.get - DATA_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Publisher.GetTopic"

ListTopicSnapshots

  • Method: google.pubsub.v1.Publisher.ListTopicSnapshots
  • Audit log type: Data access
  • Permissions:
    • pubsub.topics.get - DATA_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Publisher.ListTopicSnapshots"

ListTopicSubscriptions

  • Method: google.pubsub.v1.Publisher.ListTopicSubscriptions
  • Audit log type: Data access
  • Permissions:
    • pubsub.topics.get - DATA_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Publisher.ListTopicSubscriptions"

ListTopics

  • Method: google.pubsub.v1.Publisher.ListTopics
  • Audit log type: Data access
  • Permissions:
    • pubsub.topics.list - DATA_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Publisher.ListTopics"

UpdateTopic

  • Method: google.pubsub.v1.Publisher.UpdateTopic
  • Audit log type: Admin activity
  • Permissions:
    • pubsub.topics.update - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Publisher.UpdateTopic"

google.pubsub.v1.SchemaService

The following section contains details about audit logs associated with methods belonging to google.pubsub.v1.SchemaService.

CommitSchema

  • Method: google.pubsub.v1.SchemaService.CommitSchema
  • Audit log type: Admin activity
  • Permissions:
    • pubsub.schemas.commit - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.SchemaService.CommitSchema"

CreateSchema

  • Method: google.pubsub.v1.SchemaService.CreateSchema
  • Audit log type: Admin activity
  • Permissions:
    • pubsub.schemas.create - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.SchemaService.CreateSchema"

DeleteSchema

  • Method: google.pubsub.v1.SchemaService.DeleteSchema
  • Audit log type: Admin activity
  • Permissions:
    • pubsub.schemas.delete - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.SchemaService.DeleteSchema"

DeleteSchemaRevision

  • Method: google.pubsub.v1.SchemaService.DeleteSchemaRevision
  • Audit log type: Admin activity
  • Permissions:
    • pubsub.schemas.delete - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.SchemaService.DeleteSchemaRevision"

GetSchema

  • Method: google.pubsub.v1.SchemaService.GetSchema
  • Audit log type: Data access
  • Permissions:
    • pubsub.schemas.get - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.SchemaService.GetSchema"

ListSchemaRevisions

  • Method: google.pubsub.v1.SchemaService.ListSchemaRevisions
  • Audit log type: Data access
  • Permissions:
    • pubsub.schemas.listRevisions - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.SchemaService.ListSchemaRevisions"

ListSchemas

  • Method: google.pubsub.v1.SchemaService.ListSchemas
  • Audit log type: Data access
  • Permissions:
    • pubsub.schemas.list - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.SchemaService.ListSchemas"

RollbackSchema

  • Method: google.pubsub.v1.SchemaService.RollbackSchema
  • Audit log type: Admin activity
  • Permissions:
    • pubsub.schemas.rollback - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.SchemaService.RollbackSchema"

ValidateMessage

  • Method: google.pubsub.v1.SchemaService.ValidateMessage
  • Audit log type: Data access
  • Permissions:
    • pubsub.schemas.get - ADMIN_READ
    • pubsub.schemas.validate - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.SchemaService.ValidateMessage"

ValidateSchema

  • Method: google.pubsub.v1.SchemaService.ValidateSchema
  • Audit log type: Data access
  • Permissions:
    • pubsub.schemas.validate - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.SchemaService.ValidateSchema"

google.pubsub.v1.Subscriber

The following section contains details about audit logs associated with methods belonging to google.pubsub.v1.Subscriber.

CreateSnapshot

  • Method: google.pubsub.v1.Subscriber.CreateSnapshot
  • Audit log type: Admin activity
  • Permissions:
    • pubsub.snapshots.create - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Subscriber.CreateSnapshot"

CreateSubscription

  • Method: google.pubsub.v1.Subscriber.CreateSubscription
  • Audit log type: Admin activity
  • Permissions:
    • pubsub.subscriptions.create - ADMIN_WRITE
    • pubsub.topics.attachSubscription - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Subscriber.CreateSubscription"

DeleteSnapshot

  • Method: google.pubsub.v1.Subscriber.DeleteSnapshot
  • Audit log type: Admin activity
  • Permissions:
    • pubsub.snapshots.delete - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Subscriber.DeleteSnapshot"

DeleteSubscription

  • Method: google.pubsub.v1.Subscriber.DeleteSubscription
  • Audit log type: Admin activity
  • Permissions:
    • pubsub.subscriptions.delete - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Subscriber.DeleteSubscription"

GetSnapshot

  • Method: google.pubsub.v1.Subscriber.GetSnapshot
  • Audit log type: Data access
  • Permissions:
    • pubsub.snapshots.get - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Subscriber.GetSnapshot"

GetSubscription

  • Method: google.pubsub.v1.Subscriber.GetSubscription
  • Audit log type: Data access
  • Permissions:
    • pubsub.subscriptions.get - DATA_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Subscriber.GetSubscription"

ListSnapshots

  • Method: google.pubsub.v1.Subscriber.ListSnapshots
  • Audit log type: Data access
  • Permissions:
    • pubsub.snapshots.list - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Subscriber.ListSnapshots"

ListSubscriptions

  • Method: google.pubsub.v1.Subscriber.ListSubscriptions
  • Audit log type: Data access
  • Permissions:
    • pubsub.subscriptions.list - DATA_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Subscriber.ListSubscriptions"

ModifyPushConfig

  • Method: google.pubsub.v1.Subscriber.ModifyPushConfig
  • Audit log type: Admin activity
  • Permissions:
    • pubsub.subscriptions.update - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Subscriber.ModifyPushConfig"

Seek

  • Method: google.pubsub.v1.Subscriber.Seek
  • Audit log type: Data access
  • Permissions:
    • pubsub.snapshots.seek - ADMIN_READ
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Subscriber.Seek"

UpdateSnapshot

  • Method: google.pubsub.v1.Subscriber.UpdateSnapshot
  • Audit log type: Admin activity
  • Permissions:
    • pubsub.snapshots.update - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Subscriber.UpdateSnapshot"

UpdateSubscription

  • Method: google.pubsub.v1.Subscriber.UpdateSubscription
  • Audit log type: Admin activity
  • Permissions:
    • pubsub.subscriptions.update - ADMIN_WRITE
  • Method is a long-running or streaming operation: No.
  • Filter for this method: protoPayload.methodName="google.pubsub.v1.Subscriber.UpdateSubscription"

System events

System Event audit logs are generated by GCP systems, not direct user action. For more information, see System Event audit logs.

Method Name Filter For This Event Notes
Internal.DeletedProjectRemoveSubscription protoPayload.methodName="Internal.DeletedProjectRemoveSubscription"
Internal.DeletedProjectRemoveTopic protoPayload.methodName="Internal.DeletedProjectRemoveTopic"
Subscriber.InternalExpireInactiveSnapshot protoPayload.methodName="Subscriber.InternalExpireInactiveSnapshot"
Subscriber.InternalExpireInactiveSubscription protoPayload.methodName="Subscriber.InternalExpireInactiveSubscription"

Methods that don't produce audit logs

A method might not produce audit logs for one or more of the following reasons:

  • It is a high volume method involving signifcant log generation and storage costs.
  • It has low auditing value.
  • Another audit or platform log already provides method coverage.

The following methods don't produce audit logs:

  • google.pubsub.v1.Publisher.Publish
  • google.pubsub.v1.Subscriber.Acknowledge
  • google.pubsub.v1.Subscriber.ModifyAckDeadline
  • google.pubsub.v1.Subscriber.Pull
  • google.pubsub.v1.Subscriber.StreamingPull
  • tech.pubsub.PublisherService.CreateTopic
  • tech.pubsub.PublisherService.DeleteTopic
  • tech.pubsub.PublisherService.GetTopic
  • tech.pubsub.PublisherService.ListTopics
  • tech.pubsub.PublisherService.Publish
  • tech.pubsub.PublisherService.PublishBatch
  • tech.pubsub.SubscriberService.Acknowledge
  • tech.pubsub.SubscriberService.CreateSubscription
  • tech.pubsub.SubscriberService.DeleteSubscription
  • tech.pubsub.SubscriberService.GetSubscription
  • tech.pubsub.SubscriberService.ListSubscriptions
  • tech.pubsub.SubscriberService.ModifyAckDeadline
  • tech.pubsub.SubscriberService.ModifyPushConfig
  • tech.pubsub.SubscriberService.Pull
  • tech.pubsub.SubscriberService.PullBatch