BigQuery - 授予对其他 Google 云平台项目的访问权限

BigQuery - Grant Access to Other Google Cloud Platform Projects

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

要求

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

我做了什么

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

我想我需要设置某种特殊的组,但我不知道该怎么做。

提前致谢!

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

  1. 第一个是计费(用于查询和任何其他计费 activity) 与 Google 云项目链接。
  2. 第二个是访问数据集。

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

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

例如项目 Project1[=66= 中用户 XY 的数据集 [MyDatasetA] ] 和 Project2,但项目 YZ 中的用户 Y 可以访问 [MyDatasetB] Project2Project3.

因此,每个项目都对其用户的查询负责 运行,并且您可以对每个数据集进行访问控制,而无需 public。

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

项目组允许 select 具有查看者、开发者或所有者角色的成员单击一次,无需手动添加每个成员。

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

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

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

编辑:改进了关于群组访问的说明