【问题标题】:Check who deleted some data from a specific table检查谁从特定表中删除了一些数据
【发布时间】:2018-02-08 12:36:47
【问题描述】:

我需要检查哪个用户从 BigQuery 中的特定表中删除了一些数据,有什么办法吗?有没有办法恢复它?

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 我尝试使用此处描述的解决方案查找所有运行作业:stackoverflow.com/questions/30993782/… 但只显示了一些结果,而不是完整列表。
  • 我认为 Mikhail 建议的审计日志确实是最好的方法。我只是不确定它在激活后是否仅适用于数据,这意味着它无法记录激活日期之前的数据。如果您确实是这种情况,那么也许要求项目所有者列出所有工作将检索完整的操作列表。

标签: google-bigquery


【解决方案1】:

有办法恢复吗?

您可以使用snapshot decorator 将该表中特定时间点的数据复制到新表中

检查哪个用户从 BigQuery 中的特定表中删除了一些数据

您可以利用 Cloud Logging 过滤审核日志,以查找符合您条件的特定作业,无论是昂贵的查询、特定的故障模式还是意外的访问模式。在这里查看更多 - Audit Logs

【讨论】:

  • 谢谢你,@Mikhail。我在审计日志中找到了它。但我无法恢复表,因为作业删除了表并重新创建了一个新表。日志说我只能在新表创建后使用快照。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-29
  • 1970-01-01
  • 2019-04-19
  • 1970-01-01
  • 2014-03-07
  • 2020-01-21
相关资源
最近更新 更多