本文档介绍了在 Spanner 上执行的审核日志记录。其中还介绍了审核了哪些方法,以及有关每种方法生成的审核日志的详细信息。本文说明了哪些方法生成审核日志以及每个日志的内容。它还识别了不会生成审核日志的方法。Google Cloud 会生成审核日志,这些日志用于记录 Google Cloud 资源中的管理活动和访问事件。如需了解详情,请参阅 Cloud Audit Logs 概览。
Notes
如需查看处理 DATA_READ
或 DATA_WRITE
请求所花费的时间,请参阅“处理时长”部分。
服务名称
Spanner 审核日志使用服务名称 spanner.googleapis.com
。
方法(按权限类型)
执行读取操作的数据访问方法 Read
、StreamingRead
、ExecuteSql
和 ExecuteStreamingSql
(如果在方法的 TransactionSelector
中指定)也可能会启动读写事务。在这种情况下,该方法将检查 DATA_READ
和 DATA_WRITE
权限类型。
检查 DATA_READ
、DATA_WRITE
和 ADMIN_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_READ
和DATA_WRITE
权限类型。
google.spanner.v1.Spanner.ExecuteStreamingSql
- 方法:
google.spanner.v1.Spanner.ExecuteStreamingSql
- 审核日志类型:数据访问
- 权限:如需了解权限,请参阅 IAM 文档。
- 方法是长时间运行的操作或流式操作:流式 RPC
- 此方法的过滤条件:
protoPayload.methodName="google.spanner.v1.Spanner.ExecuteStreamingSql"
- 注意 :如果在方法的
TransactionSelector
中指定,此方法也可能会启动读写事务。在这种情况下,该方法将同时匹配DATA_READ
和DATA_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_READ
和DATA_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_READ
和DATA_WRITE
权限类型。
重要提示:系统不会记录请求的键。
系统事件
系统事件审核日志由 GCP 系统生成,而非直接用户操作。如需了解详情,请参阅系统事件审核日志。
方法名称 | 针对此事件进行过滤 | Notes |
---|---|---|
AutoscaleInstance |
protoPayload.methodName="AutoscaleInstance"
|
|
OptimizeRestoredDatabase |
protoPayload.methodName="OptimizeRestoredDatabase"
|
处理用时
如需查看处理 DATA_READ
或 DATA_WRITE
请求所用的时间,请参阅 AuditLog
的 metadata
对象中的 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"
}
对于 ExecuteStreamingSql
、StreamingRead
、PartitionRead
或 PartitionQuery
请求,processingDurationSeconds
字段未设置。如需计算流式传输和分区请求延迟时间,请参阅计算流式传输和分区请求延迟时间。