You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于BigQuery用户操作记录查询与表权限核查的技术问询

1. 查询过去6个月指定数据集的SELECT/DML操作记录

使用BigQuery的INFORMATION_SCHEMA.JOBS_BY_PROJECT视图,结合作业的引用表信息提取所需数据:

DECLARE target_dataset STRING DEFAULT `your-project.your-dataset`; -- 替换为你的项目+数据集
DECLARE lookback_days INT64 DEFAULT 180; -- 过去6个月约180天

SELECT
  job.user_email AS 用户名,
  CONCAT(ref_table.project_id, '.', ref_table.dataset_id, '.', ref_table.table_id) AS 涉及表名,
  TIMESTAMP_TRUNC(job.start_time, SECOND) AS 操作时间,
  job.query_type AS 操作类型
FROM
  `your-project`.`region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT job, -- 替换为你的项目+区域
  UNNEST(job.referenced_tables) ref_table
WHERE
  job.start_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL lookback_days DAY)
  AND ref_table.dataset_id = SPLIT(target_dataset, '.')[OFFSET(1)]
  AND ref_table.project_id = SPLIT(target_dataset, '.')[OFFSET(0)]
  AND job.query_type IN ('SELECT', 'INSERT', 'UPDATE', 'DELETE', 'MERGE') -- 覆盖SELECT和所有DML类型
  AND job.state = 'DONE' -- 仅统计已完成的作业
ORDER BY
  操作时间 DESC;

关键提示:

  • 替换代码中的项目ID、数据集ID和BigQuery区域为你的实际信息
  • referenced_tables会返回作业涉及的所有表,通过UNNEST展开数组获取明细
  • 过滤条件包含了所有DML操作类型,确保不遗漏INSERT/UPDATE/DELETE/MERGE类操作
  • 只统计已完成作业,避免混入未完成或失败的任务记录
2. 查询用户的表权限分配情况

通过INFORMATION_SCHEMA.OBJECT_PRIVILEGES视图直接获取表级权限信息:

DECLARE target_dataset STRING DEFAULT `your-project.your-dataset`; -- 替换为你的项目+数据集

SELECT
  grantee AS 用户名,
  CONCAT(table_catalog, '.', table_schema, '.', table_name) AS 表名,
  privilege_type AS 权限类型,
  grantor AS 授权人,
  granted_time AS 授权时间
FROM
  `your-project`.`region-us`.INFORMATION_SCHEMA.OBJECT_PRIVILEGES -- 替换为你的项目+区域
WHERE
  object_type = 'TABLE'
  AND table_schema = SPLIT(target_dataset, '.')[OFFSET(1)]
  AND table_catalog = SPLIT(target_dataset, '.')[OFFSET(0)]
ORDER BY
  用户名, 表名, 权限类型;

关键提示:

  • 通过object_type = 'TABLE'过滤仅表权限,排除其他对象(如视图、函数)的权限记录
  • 可以清晰看到每个用户对指定数据集中各表的具体权限(如SELECT、INSERT、UPDATE等)
  • 包含授权人和授权时间,方便追溯权限变更历史

内容的提问来源于stack exchange,提问作者Ajay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 14:42:51