Spanner 审核日志记录

本文档介绍了在 Spanner 上执行的审核日志记录。其中还介绍了审核了哪些方法,以及有关每种方法生成的审核日志的详细信息。本文说明了哪些方法生成审核日志以及每个日志的内容。它还识别了不会生成审核日志的方法。Google Cloud 会生成审核日志,这些日志用于记录 Google Cloud 资源中的管理活动和访问事件。如需了解详情,请参阅 Cloud Audit Logs 概览

Notes

如需查看处理 DATA_READDATA_WRITE 请求所花费的时间,请参阅“处理时长”部分

服务名称

Spanner 审核日志使用服务名称 spanner.googleapis.com

方法(按权限类型)

执行读取操作的数据访问方法 ReadStreamingReadExecuteSqlExecuteStreamingSql(如果在方法的 TransactionSelector 中指定)也可能会启动读写事务。在这种情况下,该方法将检查 DATA_READDATA_WRITE 权限类型。

检查 DATA_READDATA_WRITEADMIN_READ 权限的方法会生成归类为数据访问审核日志的日志。检查 ADMIN_WRITE 权限的方法会生成分类为管理员活动审核日志的日志。

权限类型 方法
ADMIN_READ google.longrunning.Operations.GetOperation
google.longrunning.Operations.ListOperations
google.spanner.admin.database.v1.DatabaseAdmin.GetBackup
google.spanner.admin.database.v1.DatabaseAdmin.GetDatabase
google.spanner.admin.database.v1.DatabaseAdmin.GetDatabaseDdl
google.spanner.admin.database.v1.DatabaseAdmin.GetIamPolicy
google.spanner.admin.database.v1.DatabaseAdmin.ListBackupOperations
google.spanner.admin.database.v1.DatabaseAdmin.ListBackups
google.spanner.admin.database.v1.DatabaseAdmin.ListDatabaseOperations
google.spanner.admin.database.v1.DatabaseAdmin.ListDatabaseRoles
google.spanner.admin.database.v1.DatabaseAdmin.ListDatabases
google.spanner.admin.database.v1.DatabaseAdmin.TestIamPermissions
google.spanner.admin.instance.v1.InstanceAdmin.GetIamPolicy
google.spanner.admin.instance.v1.InstanceAdmin.GetInstance
google.spanner.admin.instance.v1.InstanceAdmin.GetInstanceConfig
google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs
google.spanner.admin.instance.v1.InstanceAdmin.ListInstances
google.spanner.admin.instance.v1.InstanceAdmin.SetIamPolicy
google.spanner.admin.instance.v1.InstanceAdmin.TestIamPermissions
ADMIN_WRITE google.longrunning.Operations.CancelOperation
google.spanner.admin.database.v1.DatabaseAdmin.ChangeQuorum
google.spanner.admin.database.v1.DatabaseAdmin.CopyBackup
google.spanner.admin.database.v1.DatabaseAdmin.CreateBackup
google.spanner.admin.database.v1.DatabaseAdmin.CreateDatabase
google.spanner.admin.database.v1.DatabaseAdmin.DeleteBackup
google.spanner.admin.database.v1.DatabaseAdmin.DropDatabase
google.spanner.admin.database.v1.DatabaseAdmin.RestoreDatabase
google.spanner.admin.database.v1.DatabaseAdmin.SetIamPolicy
google.spanner.admin.database.v1.DatabaseAdmin.UpdateBackup
google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabase
google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl
google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance
google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig
google.spanner.admin.instance.v1.InstanceAdmin.DeleteInstance
google.spanner.admin.instance.v1.InstanceAdmin.DeleteInstanceConfig
google.spanner.admin.instance.v1.InstanceAdmin.MoveInstance
google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance
google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig
DATA_READ google.cloud.keyvisualizer.KeyVisualizer.GetScan
google.spanner.v1.Spanner.BeginTransaction
google.spanner.v1.Spanner.ExecuteStreamingSql
google.spanner.v1.Spanner.GetSession
google.spanner.v1.Spanner.ListSessions
google.spanner.v1.Spanner.PartitionQuery
google.spanner.v1.Spanner.PartitionRead
google.spanner.v1.Spanner.Read
google.spanner.v1.Spanner.StreamingRead
DATA_WRITE google.spanner.v1.Spanner.BatchCreateSessions
google.spanner.v1.Spanner.BatchWrite
google.spanner.v1.Spanner.Commit
google.spanner.v1.Spanner.CreateSession
google.spanner.v1.Spanner.DeleteSession
google.spanner.v1.Spanner.ExecuteBatchDml
google.spanner.v1.Spanner.ExecuteSql
google.spanner.v1.Spanner.Rollback

每个 API 接口的审核日志

如需详细了解每种方法分别评估哪些权限,请参阅 Spanner 的 Identity and Access Management 文档。

google.cloud.keyvisualizer.KeyVisualizer

以下部分包含与属于 google.cloud.keyvisualizer.KeyVisualizer 的方法关联的审核日志的详细信息。

google.cloud.keyvisualizer.KeyVisualizer.GetScan

  • 方法google.cloud.keyvisualizer.KeyVisualizer.GetScan
  • 审核日志类型数据访问
  • 权限
    • spanner.databaseRoles.use - DATA_WRITE
    • spanner.databases.read - DATA_READ
    • spanner.databases.useRoleBasedAccess - DATA_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.cloud.keyvisualizer.KeyVisualizer.GetScan"

google.longrunning.Operations

以下部分包含与属于 google.longrunning.Operations 的方法关联的审核日志的详细信息。

google.longrunning.Operations.CancelOperation

  • 方法google.longrunning.Operations.CancelOperation
  • 审核日志类型管理员活动
  • 权限
    • spanner.backupOperations.cancel - ADMIN_WRITE
    • spanner.databaseOperations.cancel - ADMIN_WRITE
    • spanner.instanceOperations.cancel - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.longrunning.Operations.CancelOperation"

google.longrunning.Operations.GetOperation

  • 方法google.longrunning.Operations.GetOperation
  • 审核日志类型数据访问
  • 权限
    • spanner.backupOperations.get - ADMIN_READ
    • spanner.databaseOperations.get - ADMIN_READ
    • spanner.instanceOperations.get - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.longrunning.Operations.GetOperation"

google.longrunning.Operations.ListOperations

  • 方法google.longrunning.Operations.ListOperations
  • 审核日志类型数据访问
  • 权限
    • spanner.backupOperations.list - ADMIN_READ
    • spanner.databaseOperations.list - ADMIN_READ
    • spanner.instanceOperations.list - ADMIN_READ
    • spanner.ssdCacheOperations.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.longrunning.Operations.ListOperations"

google.spanner.admin.database.v1.DatabaseAdmin

以下部分包含与属于 google.spanner.admin.database.v1.DatabaseAdmin 的方法关联的审核日志的详细信息。

google.spanner.admin.database.v1.DatabaseAdmin.ChangeQuorum

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.ChangeQuorum
  • 审核日志类型管理员活动
  • 权限
    • spanner.databases.changequorum - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作长时间运行的操作
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.ChangeQuorum"

google.spanner.admin.database.v1.DatabaseAdmin.CopyBackup

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.CopyBackup
  • 审核日志类型管理员活动
  • 权限
    • spanner.backups.copy - ADMIN_WRITE
    • spanner.backups.create - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作长时间运行的操作
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.CopyBackup"

google.spanner.admin.database.v1.DatabaseAdmin.CreateBackup

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.CreateBackup
  • 审核日志类型管理员活动
  • 权限
    • spanner.backups.create - ADMIN_WRITE
    • spanner.databases.createBackup - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作长时间运行的操作
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.CreateBackup"
  • 注意 :操作完成时记录的条目不包含任何身份验证或授权信息。操作开始时记录的匹配条目中提供了身份验证和授权信息。如需在日志浏览器中查找匹配的日志条目,请点击相应日志条目的 operation.id 字段,然后在菜单中选择显示匹配的条目

google.spanner.admin.database.v1.DatabaseAdmin.CreateDatabase

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.CreateDatabase
  • 审核日志类型管理员活动
  • 权限
    • spanner.databases.create - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作长时间运行的操作
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.CreateDatabase"

google.spanner.admin.database.v1.DatabaseAdmin.DeleteBackup

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.DeleteBackup
  • 审核日志类型管理员活动
  • 权限
    • spanner.backups.delete - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.DeleteBackup"

google.spanner.admin.database.v1.DatabaseAdmin.DropDatabase

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.DropDatabase
  • 审核日志类型管理员活动
  • 权限
    • spanner.databases.drop - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.DropDatabase"

google.spanner.admin.database.v1.DatabaseAdmin.GetBackup

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.GetBackup
  • 审核日志类型数据访问
  • 权限
    • spanner.backups.get - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.GetBackup"

google.spanner.admin.database.v1.DatabaseAdmin.GetDatabase

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.GetDatabase
  • 审核日志类型数据访问
  • 权限
    • spanner.databases.get - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.GetDatabase"

google.spanner.admin.database.v1.DatabaseAdmin.GetDatabaseDdl

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.GetDatabaseDdl
  • 审核日志类型数据访问
  • 权限
    • spanner.databases.getDdl - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.GetDatabaseDdl"

google.spanner.admin.database.v1.DatabaseAdmin.GetIamPolicy

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.GetIamPolicy
  • 审核日志类型数据访问
  • 权限
    • spanner.backups.getIamPolicy - ADMIN_READ
    • spanner.backups.list - ADMIN_READ
    • spanner.databases.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.GetIamPolicy"

google.spanner.admin.database.v1.DatabaseAdmin.ListBackupOperations

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.ListBackupOperations
  • 审核日志类型数据访问
  • 权限
    • spanner.backupOperations.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.ListBackupOperations"

google.spanner.admin.database.v1.DatabaseAdmin.ListBackups

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.ListBackups
  • 审核日志类型数据访问
  • 权限
    • spanner.backups.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.ListBackups"

google.spanner.admin.database.v1.DatabaseAdmin.ListDatabaseOperations

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.ListDatabaseOperations
  • 审核日志类型数据访问
  • 权限
    • spanner.databaseOperations.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.ListDatabaseOperations"

google.spanner.admin.database.v1.DatabaseAdmin.ListDatabaseRoles

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.ListDatabaseRoles
  • 审核日志类型数据访问
  • 权限
    • spanner.databaseRoles.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.ListDatabaseRoles"

google.spanner.admin.database.v1.DatabaseAdmin.ListDatabases

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.ListDatabases
  • 审核日志类型数据访问
  • 权限
    • spanner.databases.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.ListDatabases"

google.spanner.admin.database.v1.DatabaseAdmin.RestoreDatabase

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.RestoreDatabase
  • 审核日志类型管理员活动
  • 权限
    • spanner.backups.restoreDatabase - ADMIN_READ
    • spanner.databases.create - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作长时间运行的操作
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.RestoreDatabase"
  • 注意 :虽然恢复数据库需要两个资源(备份和恢复的数据库,可能位于不同的实例)的授权,但是在恢复的数据库实例中,RestoreDatabase 事件仅作为单个条目记录一次。此条目中有两个 authorizationInfo 条目:一个用于数据库,用于检查 spanner.databases.create 权限,另一个用于备份,用于检查 spanner.backups.restoreDatabase 权限。
    操作完成时记录的条目不包含任何身份验证或授权信息。操作开始时记录的匹配条目中提供了身份验证和授权信息。如需在日志浏览器中查找匹配的日志条目,请点击相应日志条目的 operation.id 字段,然后在菜单中选择显示匹配的条目

google.spanner.admin.database.v1.DatabaseAdmin.SetIamPolicy

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.SetIamPolicy
  • 审核日志类型管理员活动
  • 权限
    • spanner.backups.setIamPolicy - ADMIN_WRITE
    • spanner.databases.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.SetIamPolicy"

google.spanner.admin.database.v1.DatabaseAdmin.TestIamPermissions

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.TestIamPermissions
  • 审核日志类型数据访问
  • 权限
    • spanner.backups.list - ADMIN_READ
    • spanner.databases.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.TestIamPermissions"

google.spanner.admin.database.v1.DatabaseAdmin.UpdateBackup

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.UpdateBackup
  • 审核日志类型管理员活动
  • 权限
    • spanner.backups.update - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.UpdateBackup"

google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabase

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabase
  • 审核日志类型管理员活动
  • 权限
    • spanner.databases.update - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作长时间运行的操作
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabase"

google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl

  • 方法google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl
  • 审核日志类型管理员活动
  • 权限
    • spanner.databases.updateDdl - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作长时间运行的操作
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.database.v1.DatabaseAdmin.UpdateDatabaseDdl"

google.spanner.admin.instance.v1.InstanceAdmin

以下部分包含与属于 google.spanner.admin.instance.v1.InstanceAdmin 的方法关联的审核日志的详细信息。

google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance

  • 方法google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance
  • 审核日志类型管理员活动
  • 权限
    • spanner.instances.create - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作长时间运行的操作
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.instance.v1.InstanceAdmin.CreateInstance"

google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig

  • 方法google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig
  • 审核日志类型管理员活动
  • 权限
    • spanner.instanceConfigs.create - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作长时间运行的操作
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.instance.v1.InstanceAdmin.CreateInstanceConfig"

google.spanner.admin.instance.v1.InstanceAdmin.DeleteInstance

  • 方法google.spanner.admin.instance.v1.InstanceAdmin.DeleteInstance
  • 审核日志类型管理员活动
  • 权限
    • spanner.instances.delete - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.instance.v1.InstanceAdmin.DeleteInstance"

google.spanner.admin.instance.v1.InstanceAdmin.DeleteInstanceConfig

  • 方法google.spanner.admin.instance.v1.InstanceAdmin.DeleteInstanceConfig
  • 审核日志类型管理员活动
  • 权限
    • spanner.instanceConfigs.delete - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.instance.v1.InstanceAdmin.DeleteInstanceConfig"

google.spanner.admin.instance.v1.InstanceAdmin.GetIamPolicy

  • 方法google.spanner.admin.instance.v1.InstanceAdmin.GetIamPolicy
  • 审核日志类型数据访问
  • 权限
    • spanner.instances.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.instance.v1.InstanceAdmin.GetIamPolicy"

google.spanner.admin.instance.v1.InstanceAdmin.GetInstance

  • 方法google.spanner.admin.instance.v1.InstanceAdmin.GetInstance
  • 审核日志类型数据访问
  • 权限
    • spanner.instances.get - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.instance.v1.InstanceAdmin.GetInstance"

google.spanner.admin.instance.v1.InstanceAdmin.GetInstanceConfig

  • 方法google.spanner.admin.instance.v1.InstanceAdmin.GetInstanceConfig
  • 审核日志类型数据访问
  • 权限
    • spanner.instanceConfigs.get - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.instance.v1.InstanceAdmin.GetInstanceConfig"

google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs

  • 方法google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs
  • 审核日志类型数据访问
  • 权限
    • spanner.instanceConfigs.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.instance.v1.InstanceAdmin.ListInstanceConfigs"

google.spanner.admin.instance.v1.InstanceAdmin.ListInstances

  • 方法google.spanner.admin.instance.v1.InstanceAdmin.ListInstances
  • 审核日志类型数据访问
  • 权限
    • spanner.instances.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.instance.v1.InstanceAdmin.ListInstances"

google.spanner.admin.instance.v1.InstanceAdmin.MoveInstance

  • 方法google.spanner.admin.instance.v1.InstanceAdmin.MoveInstance
  • 审核日志类型管理员活动
  • 权限
    • spanner.instances.update - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作长时间运行的操作
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.instance.v1.InstanceAdmin.MoveInstance"

google.spanner.admin.instance.v1.InstanceAdmin.SetIamPolicy

  • 方法google.spanner.admin.instance.v1.InstanceAdmin.SetIamPolicy
  • 审核日志类型管理员活动
  • 权限
    • spanner.instances.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.instance.v1.InstanceAdmin.SetIamPolicy"

google.spanner.admin.instance.v1.InstanceAdmin.TestIamPermissions

  • 方法google.spanner.admin.instance.v1.InstanceAdmin.TestIamPermissions
  • 审核日志类型数据访问
  • 权限
    • spanner.instances.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.instance.v1.InstanceAdmin.TestIamPermissions"

google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance

  • 方法google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance
  • 审核日志类型管理员活动
  • 权限
    • spanner.instances.update - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作长时间运行的操作
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstance"

google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig

  • 方法google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig
  • 审核日志类型管理员活动
  • 权限
    • spanner.instanceConfigs.update - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作长时间运行的操作
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.admin.instance.v1.InstanceAdmin.UpdateInstanceConfig"

google.spanner.v1.Spanner

以下部分包含与属于 google.spanner.v1.Spanner 的方法关联的审核日志的详细信息。

google.spanner.v1.Spanner.BatchCreateSessions

  • 方法google.spanner.v1.Spanner.BatchCreateSessions
  • 审核日志类型数据访问
  • 权限
    • spanner.databaseRoles.use - DATA_WRITE
    • spanner.databases.useRoleBasedAccess - DATA_WRITE
    • spanner.sessions.create - DATA_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.v1.Spanner.BatchCreateSessions"

google.spanner.v1.Spanner.BatchWrite

  • 方法google.spanner.v1.Spanner.BatchWrite
  • 审核日志类型数据访问
  • 权限
    • spanner.databases.write - DATA_WRITE
  • 方法是长时间运行的操作或流式操作流式 RPC
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.v1.Spanner.BatchWrite"

google.spanner.v1.Spanner.BeginTransaction

  • 方法google.spanner.v1.Spanner.BeginTransaction
  • 审核日志类型数据访问
  • 权限
    • spanner.databaseRoles.use - DATA_WRITE
    • spanner.databases.beginOrRollbackReadWriteTransaction - DATA_WRITE
    • spanner.databases.beginPartitionedDmlTransaction - DATA_WRITE
    • spanner.databases.beginReadOnlyTransaction - DATA_READ
    • spanner.databases.useRoleBasedAccess - DATA_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.v1.Spanner.BeginTransaction"
  • 注意:对于 ReadOnly 事务,此方法将为 DATA_READ;对于 ReadWrite 事务,此方法将为 DATA_WRITE

google.spanner.v1.Spanner.Commit

  • 方法google.spanner.v1.Spanner.Commit
  • 审核日志类型数据访问
  • 权限
    • spanner.databaseRoles.use - DATA_WRITE
    • spanner.databases.useRoleBasedAccess - DATA_WRITE
    • spanner.databases.write - DATA_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.v1.Spanner.Commit"

google.spanner.v1.Spanner.CreateSession

  • 方法google.spanner.v1.Spanner.CreateSession
  • 审核日志类型数据访问
  • 权限
    • spanner.databaseRoles.use - DATA_WRITE
    • spanner.databases.useRoleBasedAccess - DATA_WRITE
    • spanner.sessions.create - DATA_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.v1.Spanner.CreateSession"

google.spanner.v1.Spanner.DeleteSession

  • 方法google.spanner.v1.Spanner.DeleteSession
  • 审核日志类型数据访问
  • 权限
    • spanner.databaseRoles.use - DATA_WRITE
    • spanner.databases.useRoleBasedAccess - DATA_WRITE
    • spanner.sessions.delete - DATA_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.v1.Spanner.DeleteSession"

google.spanner.v1.Spanner.ExecuteBatchDml

  • 方法google.spanner.v1.Spanner.ExecuteBatchDml
  • 审核日志类型数据访问
  • 权限
    • spanner.databases.beginOrRollbackReadWriteTransaction - DATA_WRITE
    • spanner.databases.write - DATA_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.v1.Spanner.ExecuteBatchDml"

google.spanner.v1.Spanner.ExecuteSql

  • 方法google.spanner.v1.Spanner.ExecuteSql
  • 审核日志类型数据访问
  • 权限:如需了解权限,请参阅 IAM 文档。
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.v1.Spanner.ExecuteSql"
  • 注意: 如果在方法的 TransactionSelector 中指定,此方法也可能会启动读写事务。在这种情况下,该方法将同时匹配 DATA_READDATA_WRITE 权限类型。

google.spanner.v1.Spanner.ExecuteStreamingSql

  • 方法google.spanner.v1.Spanner.ExecuteStreamingSql
  • 审核日志类型数据访问
  • 权限:如需了解权限,请参阅 IAM 文档。
  • 方法是长时间运行的操作或流式操作流式 RPC
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.v1.Spanner.ExecuteStreamingSql"
  • 注意 :如果在方法的 TransactionSelector 中指定,此方法也可能会启动读写事务。在这种情况下,该方法将同时匹配 DATA_READDATA_WRITE 权限类型。

google.spanner.v1.Spanner.GetSession

  • 方法google.spanner.v1.Spanner.GetSession
  • 审核日志类型数据访问
  • 权限
    • spanner.sessions.get - DATA_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.v1.Spanner.GetSession"

google.spanner.v1.Spanner.ListSessions

  • 方法google.spanner.v1.Spanner.ListSessions
  • 审核日志类型数据访问
  • 权限
    • spanner.sessions.list - DATA_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.v1.Spanner.ListSessions"

google.spanner.v1.Spanner.PartitionQuery

  • 方法google.spanner.v1.Spanner.PartitionQuery
  • 审核日志类型数据访问
  • 权限
    • spanner.databaseRoles.use - DATA_WRITE
    • spanner.databases.beginReadOnlyTransaction - DATA_READ
    • spanner.databases.partitionQuery - DATA_READ
    • spanner.databases.useRoleBasedAccess - DATA_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.v1.Spanner.PartitionQuery"

google.spanner.v1.Spanner.PartitionRead

  • 方法google.spanner.v1.Spanner.PartitionRead
  • 审核日志类型数据访问
  • 权限
    • spanner.databases.partitionRead - DATA_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.v1.Spanner.PartitionRead"

google.spanner.v1.Spanner.Read

  • 方法google.spanner.v1.Spanner.Read
  • 审核日志类型数据访问
  • 权限
    • spanner.databases.beginOrRollbackReadWriteTransaction - DATA_WRITE
    • spanner.databases.read - DATA_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.v1.Spanner.Read"
  • 注意: 如果在方法的 TransactionSelector 中指定,此方法也可能会启动读写事务。在这种情况下,该方法将同时匹配 DATA_READDATA_WRITE 权限类型。
    重要提示:系统不会记录请求的键。

google.spanner.v1.Spanner.Rollback

  • 方法google.spanner.v1.Spanner.Rollback
  • 审核日志类型数据访问
  • 权限
    • spanner.databaseRoles.use - DATA_WRITE
    • spanner.databases.beginOrRollbackReadWriteTransaction - DATA_WRITE
    • spanner.databases.useRoleBasedAccess - DATA_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.v1.Spanner.Rollback"

google.spanner.v1.Spanner.StreamingRead

  • 方法google.spanner.v1.Spanner.StreamingRead
  • 审核日志类型数据访问
  • 权限:如需了解权限,请参阅 IAM 文档。
  • 方法是长时间运行的操作或流式操作流式 RPC
  • 此方法的过滤条件 protoPayload.methodName="google.spanner.v1.Spanner.StreamingRead"
  • 注意: 如果在方法的 TransactionSelector 中指定,此方法也可能会启动读写事务。在这种情况下,该方法将同时匹配 DATA_READDATA_WRITE 权限类型。
    重要提示:系统不会记录请求的键。

系统事件

系统事件审核日志由 GCP 系统生成,而非直接用户操作。如需了解详情,请参阅系统事件审核日志

方法名称 针对此事件进行过滤 Notes
AutoscaleInstance protoPayload.methodName="AutoscaleInstance"
OptimizeRestoredDatabase protoPayload.methodName="OptimizeRestoredDatabase"

处理用时

如需查看处理 DATA_READDATA_WRITE 请求所用的时间,请参阅 AuditLogmetadata 对象中的 processingDurationSeconds 字段。processingDurationSeconds 可帮助您监控请求延迟时间。

processingDurationSeconds 表示 Spanner API 请求延迟时间。它是 Spanner API 前端收到请求的第一个字节到发送响应的最后一个字节之间的时间长度(以秒为单位)。在 Spanner 后端和 API 层中处理 API 请求所需的时间为延迟时间。但是,此延迟时间不包括 Spanner 客户端与服务器之间的网络或 Google Front End 开销。如需直观呈现 Spanner API 请求所涉及的概要组件,请参阅 Spanner 端到端延迟指南

例如,以下是包含 processingDurationSeconds 信息的审核日志:

{
  "protoPayload": {
    "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
    "authenticationInfo": {...},
    "requestMetadata": {...},
    "serviceName": "spanner.googleapis.com",
    "methodName": "google.spanner.v1.Spanner.Commit",
    "authorizationInfo": [{...}],
    "resourceName": "projects/example-project/instances/example-instance/databases/example-database/sessions/example-session",
    "request": {
      "transactionId": "example-transactionId",
      "@type": "type.googleapis.com/google.spanner.v1.CommitRequest",
      "session": "projects/example-project/instances/example-instance/databases/example-database/sessions/example-session"
    },
    "response": {
      "@type": "type.googleapis.com/google.spanner.v1.CommitResponse",
      "commitTimestamp": "2023-02-13T17:11:10.106602Z"
    },
    "metadata": {
      "@type": "type.googleapis.com/spanner.cloud.instance_v1.QueryPerformanceMetadata",
      "processingDurationSeconds": 0.1932541
    }
  },
  "insertId": "p9ju4gdi7j0",
  "resource": {...},
  "timestamp": "2023-02-13T17:11:10.000093953Z",
  "severity": "INFO",
  "logName": "projects/example-project/logs/cloudaudit.googleapis.com%2Fdata_access",
  "receiveTimestamp": "2023-02-13T17:11:11.170517524Z"
}

对于 ExecuteStreamingSqlStreamingReadPartitionReadPartitionQuery 请求,processingDurationSeconds 字段未设置。如需计算流式传输和分区请求延迟时间,请参阅计算流式传输和分区请求延迟时间