Google cloud platform Google BigQuery:授予服务帐户权限,以便仅在某些特定数据集中创建作业

Google cloud platform Google BigQuery:授予服务帐户权限,以便仅在某些特定数据集中创建作业,google-cloud-platform,google-bigquery,grafana,google-cloud-iam,Google Cloud Platform,Google Bigquery,Grafana,Google Cloud Iam,问题:我在BigQuery中有一个项目,其中存储了我的所有数据。在这个项目中,我创建了多个包含不同视图的数据集。现在我想通过grafana使用不同的服务帐户来查询包含不同视图的不同数据集(如果有必要的话)。这些用户应该只能查询为他们准备的视图(以及特定的数据集) 我尝试的内容:我在数据集级别(以及项目级别的BigQuery Meatadata Viewer)授予了BigQuery用户、查看器或编辑器权限(我尝试了所有权限)。查询视图时,我收到错误信息: 用户在项目xy中没有bigquery.jo

问题:我在BigQuery中有一个项目,其中存储了我的所有数据。在这个项目中,我创建了多个包含不同视图的数据集。现在我想通过grafana使用不同的服务帐户来查询包含不同视图的不同数据集(如果有必要的话)。这些用户应该只能查询为他们准备的视图(以及特定的数据集)

我尝试的内容:我在数据集级别(以及项目级别的BigQuery Meatadata Viewer)授予了BigQuery用户、查看器或编辑器权限(我尝试了所有权限)。查询视图时,我收到错误信息:

用户在项目xy中没有bigquery.jobs.create权限

问题:我不清楚是否授予
bigquery.jobs.create
项目级权限,这将允许用户查询所有数据集,而不仅仅是我希望他访问的数据集


是否有任何方法允许用户仅在单个数据集上创建作业

我们遇到了同样的问题,我们是如何解决的,已创建自定义角色并将自定义角色分配给特定数据集。

您可以向特定数据集授予
bigquery.user
角色,如
bigquery中所示。user
角色包含bigquery.jobs.create权限以及与查询数据集相关的其他基本权限。您可以检查此角色的完整权限列表


如上所述,您还可以通过以下操作创建仅具有所需确切权限的自定义角色

我认为目前不可能授予
bigquery.jobs。在数据集级别创建
,这需要在项目级别。很高兴在这里被证明是错误的,因为这也是我喜欢的!您是只授予权限(我指的是自定义角色),还是授予预定义角色?(比如
角色/bigquery.user
)我用一个自定义角色来完成