2

我正在尝试设置客户对我的一些 BigQuery 数据的访问权限。我将从我的要求开始,然后我认为解决方案需要是什么,尽管我不确定如何执行。

要求

  1. 每个客户单独计费查询
  2. 我不想公开我的数据集
  3. 对特定数据集的只读访问
  4. 可通过 Excel 连接器访问
  5. 我的主要项目没有访问权限
  6. 他们管理自己的访问权限,我不想代表我们所有的客户从直接数据集访问中添加和删除单个用户。
  7. 很高兴- Web UI 访问

我做了什么

  • 创建了一个新的谷歌开发者项目
  • 在该项目上添加了一个仅查看用户
  • 添加了服务帐户
  • 向服务帐号授予对我的 BigQuery 数据集的访问权限

以下是从文档中授予数据集访问权限的选项:

Google BigQuery 数据集权限设置 我想我需要设置某种特殊的组,但我不知道该怎么做。

提前致谢!

4

1 回答 1

5

在 BigQuery 中有两个不同的概念:

  1. 第一个是与 Google Cloud 项目相关联的计费(针对查询和任何其他计费活动)。
  2. 第二个是访问数据集。

话虽如此,为了满足您的要求,您将为每个客户创建一个单独的项目,并以您想要的粒度授予对数据集的访问权限。

这样,您就可以将每个项目的成本分开但向您收费。请注意仅授予他们对项目的只读访问权限,除非您希望他们能够创建其他服务,例如 VM 或部署 GAE 应用程序,因为他们也会向您收费。

例如,项目Project1Project2[MyDatasetA]中用户XY的数据集,但访问项目Project2Project3中用户YZ的数据集。[MyDatasetB]

因此,每个项目都对其用户运行的查询负责,并且您可以在不公开的情况下对每个数据集进行访问控制。

  1. 每个客户单独计费查询。完成独立项目。
  2. 我不想公开我的数据集。完成细粒度控制访问。
  3. 对特定数据集的只读访问。和上面一样。
  4. 可通过 Excel 连接器访问。它应该没有问题,因为他们是一流的 BQ 用户。
  5. 我的主要项目没有访问权限。如果他们被限制在自己的项目中,这也是可能的。
  6. 他们管理自己的访问权限。这更棘手。如果您使用项目组作为访问控制,我认为他们需要的不仅仅是对数据集的读取权限或对项目的读取权限,才能添加新用户。
  7. 很高兴 - Web UI 访问。查看https://bigquery.cloud.google.com/

项目组是允许一键选择具有查看者、开发人员或所有者角色的成员的组,而无需手动添加每个成员。

您已经设置了三个组供您使用:原始项目的查看者、编辑和所有者。

但是您可以创建自己的 Google 群组并授予这些群组您想要的权限。

这样做的提示是,新用户通常需要显示您的项目,以便它出现在BQ 在线浏览器中。这是通过单击 BQ 在线浏览器中项目名称旁边的箭头,然后单击Switch to project数据Display project集所属的项目名称来完成的。

编辑:改进了关于组访问的解释

于 2015-03-19T08:43:49.840 回答