0

我正在使用Ruby和google-api-client gem创建一个简单脚本,列出项目中的所有数据集,然后删除它们。该脚本正在使用服务帐户凭据,并启用BigQuery API。我正在使用API​​的v2。Google BigQuery API删除数据集访问使用服务帐户密钥拒绝

数据集列表工作正常,我得到列表(所以它不是证书或有问题的范围),但当我尝试删除该数据集时,我得到一个拒绝访问:数据集pppppppppp:foofoofoo:DELETE_DATASET 。

当我查看数据集中的ACL时,它被设置为默认值,即group:Project Viewers Can View,group Project Editors可以编辑和分组:项目所有者是所有者。如果我通过使用项目所有者凭据登录来尝试从控制台删除数据集,它一切正常。

任何帮助,将不胜感激。 Thx Enis

回答

1

听起来您正在使用的服务帐户不在Project Writers组中。删除项目拥有的数据集需要Writer或Owner权限。

数据集的权限可以在这里找到:https://cloud.google.com/bigquery/access-control#datasetroles

+0

你是正确的,但我不知道如何将服务帐户电子邮件自动添加到项目Writers组当一个数据集被由用户创建的。它看起来像有一个默认的ACL自动分配,但有任何钩子来自定义? – Enis 2014-12-09 02:12:03

相关问题