Google cloud platform 如何限制BigQuery';s具有(项目级查看器)角色的每个人的数据集访问权限
我想限制对BigQuery中1个数据集的访问,以便除1个用户(me)外,任何人都无法查看该数据集。从文档中可以看出,除非我更改项目级权限并从中删除Google cloud platform 如何限制BigQuery';s具有(项目级查看器)角色的每个人的数据集访问权限,google-cloud-platform,google-bigquery,google-iam,google-cloud-iam,Google Cloud Platform,Google Bigquery,Google Iam,Google Cloud Iam,我想限制对BigQuery中1个数据集的访问,以便除1个用户(me)外,任何人都无法查看该数据集。从文档中可以看出,除非我更改项目级权限并从中删除编辑器角色,否则这是不可能的 目前,有N(10-12)人对我的谷歌项目拥有项目级编辑器访问权限。它们都会不时与那里的多个服务交互。我希望保持这种方式,或者至少有一个新角色具有几乎相同的权限 根据我目前对googleiam权限的理解,我们可以通过向用户提供资源级别的访问权限来实现这一点。但如果我将BigQuery编辑器角色授予用户,他们仍然能够查看/访问
编辑器
角色,否则这是不可能的
目前,有N(10-12)人对我的谷歌项目拥有项目级编辑器访问权限。它们都会不时与那里的多个服务交互。我希望保持这种方式,或者至少有一个新角色具有几乎相同的权限
根据我目前对googleiam
权限的理解,我们可以通过向用户提供资源级别的访问权限来实现这一点。但如果我将BigQuery编辑器角色授予用户,他们仍然能够查看/访问所有数据集
为了解决这个问题,我必须为每个用户提供更细粒度的访问权限,这意味着为所有用户提供单个数据集级别的访问权限。这也意味着如果我有
10/12人和10/12数据集这可能很难管理
有没有更好的方法,我的意思是,我可以指定所有编辑器
或自定义角色
可以像他们已经在做的那样访问所有内容,除了这个特定的数据集
您不能在表上定义访问控制。仅限于数据集级别,但还有其他选项可以帮助您:
如BigQuery的文档所述:
以下划线开头的数据集将从BigQuery web UI和经典web UI的导航窗格中隐藏。您仍然可以查询这些数据集中的表和视图,即使它们不可见。
您可以为自己指定bigquery.datasets.create
,以创建这些“隐藏”数据集,使其远离此用户,或为自己指定以下云IAM角色:
bigquery.dataEditor
bigquery.dataOwner
bigquery.user
bigquery.admin
另一个解决方案是在BigQuery中创建。如下文所述:
授权视图允许您与特定用户和组共享查询结果,而不允许他们访问基础表。您还可以使用视图的SQL查询来限制用户能够查询的列(字段)
最后,我附上一篇关于的帖子,它可以帮助您更好地了解行访问级别是如何工作的
我还将附加一个问题,即在不创建单独视图的情况下允许用户访问不同的行
我希望这有帮助。嗨,谢谢你的回答。我知道我们可以采用上述方法,但为每个数据集的每个用户分配权限是否很难管理?我的基本问题是:这是唯一的方法吗?没有任何简单的方法来管理权限。e、 g:如果我可以将编辑器保持在项目级别,然后以某种方式指定:X数据集即使由编辑器也无法访问,那么我认为管理它们的最佳方法是使用下划线命名数据集,以便对其他人隐藏它。您不能授予表访问权限,但可以使用以前提供的解决方案之一来管理您的用户权限。此外,要控制或指定X个人无法访问X数据集,您可以使用或使用,因为您可以保留您的编辑器角色并限制对其他人的访问。