在 Google Cloud Big Query 中限制对彼此数据库的访问

Limit access to each other's database in Google Cloud Big Query

我需要在 Google 云平台上向一所大学的 30 名博士生授予对 Big Query 的访问权限。

我可以让他们单独访问他们每个人吗?即一个学生不能看到其他人的工作,除非被授予。

创建项目=学生人数不太划算。

那么我可以为单个项目提供 30 个访问控制吗?

学生需要对各自数据库的大查询(创建、编辑、加入、下载,运行)具有完全访问权限。

如JL-HN所说,是documented但有点乱。要授予对特定数据集的访问权限,您只需转到数据集,在箭头中将其下拉并单击 "Share dataset"。然后您只需要添加将处理该数据集的学生的电子邮件。

该文档确实令人困惑。不要授予任何项目级权限。正如 Katie Sinatra 所说,转到数据集 Web UI,在箭头下拉的 "Share dataset" 中,添加电子邮件并授予 "Can edit"。在撰写本文时,执行上述操作后,用户将无法在 Web UI 中看到数据集,但 s/he 仍然可以在 Web UI 中进行查询] 如果 s/he 正确指定 table 就好了,即 `project.dataset.table`。 (我测试过。)用户也可以手动添加要在网络上显示的数据集UI。 https://cloud.google.com/bigquery/bigquery-web-ui#displayprojects.

方法如下

我仍然感到困惑的是:在您执行上述操作后,当用户进行查询时,谁在付款。我的猜测是用户正在付款。如果你想让数据集的原始所有者(创建数据集的项目)被计费,那么我的猜测是,除了上述之外,你还需要向 user/email 授予项目级 BigQuery Job User 权限。然后,用户将可以在 GCP 控制台中 select 项目并点击 "BigQuery" 转到大查询 Web UI,并在项目下进行计费。 (顺便说一句,如果你这样做,用户可以在网络上看到数据集UI。)