【问题标题】:Limit access to each other's database in Google Cloud Big Query在 Google Cloud Big Query 中限制对彼此数据库的访问
【发布时间】:2018-04-30 07:21:37
【问题描述】:

我需要在 Google Cloud Platform 上向某大学的 30 名博士生授予 Big Query 的访问权限。

我可以让他们独立访问他们每个人吗?即,除非获得批准,否则一个学生不能看到其他学生的作业。

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

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

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

【问题讨论】:

  • 到目前为止你尝试过什么?应该可以为每个学生创建一个数据集,以便他们只能看到其中的数据并与之交互。另请参阅access control documentation
  • 尝试了 Big Query User 和 Big Query Job 用户角色。在 Job User 角色中,无法创建表和数据库。在用户角色中,可以创建数据库,但对所有添加的帐户可见。
  • 看起来像cloud.google.com/bigquery/docs/… 记录的场景,但不清楚如何将组/用户限制到特定数据集...

标签: google-bigquery google-cloud-storage roles access-control


【解决方案1】:

该文件确实令人困惑。不要授予任何项目级权限。正如 Katie Sinatra 所说,转到数据集 Web UI,在箭头下拉的“共享数据集”中,添加电子邮件并授予“可以编辑”。在撰写本文时,执行上述操作后,用户将无法在 Web UI 中看到数据集,但如果她/他指定了表,他/他仍然可以在 Web UI 中进行查询正确,即“project.dataset.table”。 (我对其进行了测试。)用户还可以手动添加要在 Web UI 中显示的数据集。这是如何做到的,https://cloud.google.com/bigquery/bigquery-web-ui#displayprojects

我仍然感到困惑的是:在您执行上述操作后,当用户进行查询时,谁在付款。我的猜测是用户正在付费。如果您希望对数据集的原始所有者(创建数据集的项目)进行计费,那么我的猜测是除了上述之外,您还需要向用户/电子邮件授予项目级 BigQuery Job User 权限。然后,用户将能够在 GCP 控制台中选择项目并点击“BigQuery”进入大查询 Web UI,并在项目下进行计费。 (顺便说一句,如果这样做,用户可以在 Web UI 中看到数据集。)

【讨论】:

  • 谢谢@Jay,这很好。但是由于计费问题,不能使用它,因为原始所有者需要计费而不是查询数据库的人。无论如何,再次感谢。
【解决方案2】:

正如 JL-HN 所说,它是 documented,但有点令人困惑。要访问特定数据集,您只需转到数据集,在箭头中将其下拉并单击“共享数据集”。然后,您只需添加将处理该数据集的学生的电子邮件。

【讨论】:

  • 是的,如果项目仅使用电子邮件共享,则此方法有效。但计费是由在数据集上运行查询的用户(不是原始所有者)完成的
猜你喜欢
  • 1970-01-01
  • 2020-05-06
  • 2017-09-20
  • 2019-08-18
  • 2019-04-11
  • 1970-01-01
  • 2017-09-03
  • 1970-01-01
  • 2019-12-19
相关资源
最近更新 更多