如何限制除1个用户外的每个人(项目级编辑器)的BigQuery表访问权限

我想在BigQuery中限制对1个数据集的访问,以便除1个用户以外的任何人都无法查看该数据集。从文档看来,除非我更改项目级别的权限,否则这似乎是不可能的。

当前,有N(10-12)个人在我的Google项目中拥有项目级别的Editor访问权限。它们不时与那里的多种服务交互。我想保持这种状态,或者至少要有一个具有几乎相同权限的新角色。

根据我目前对Google IAM权限的了解,我们可以通过为用户提供资源级别的访问权限来做到这一点。但是,如果我将BigQuery Editor角色赋予用户,他们仍然可以查看/访问所有datasets

为了解决这个问题,我必须为每个用户提供更细粒度的访问权限,这意味着向所有用户提供单独的数据集级别的访问权限。再次意味着如果我有 10/12人和10/12数据集很难管理。

是否有更好的方法来执行此操作,我的意思是我可以指定所有EditorsCustom Role可以访问除已完成的dataset以外的所有内容,例如ReturnType

jhcwengbin 回答:如何限制除1个用户外的每个人(项目级编辑器)的BigQuery表访问权限

您不能在表上定义访问控制。仅限于数据集级别,但是还有其他选项可以帮助您:

如BigQuery关于creating datasets的文档所述:

  在BigQuery网络用户界面和传统网络用户界面的导航窗格中,

以下划线开头的数据集被隐藏。即使它们不可见,您仍然可以在这些数据集中查询表和视图。

您可以给自己bigquery.datasets.create,以远离这些用户创建这些“隐藏”数据集,或者按照here的要求为自己分配以下Cloud IAM角色:

  • bigquery.dataEditor
  • bigquery.dataOwner
  • bigquery.user
  • bigquery.admin

另一种解决方案是在BigQuery中创建authorized views。如此处所述:

  

授权视图允许您与特定用户和组共享查询结果,而无需授予他们访问基础表的权限。您还可以使用视图的SQL查询来限制用户能够查询的列(字段)。

最后我附上关于how to control access to BigQuery at row level with groups的帖子,可以帮助您更好地了解行访问级别的工作原理。

我还将附上这个问题,即允许用户访问不同的行而不创建单独的视图here.

我希望这会有所帮助。

本文链接:https://www.f2er.com/2854676.html

大家都在问