使用服务帐户密钥拒绝Google BigQuery API删除数据集访问

时间:2014-12-06 02:36:27

标签: ruby google-bigquery access-denied google-api-client service-accounts

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

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

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

任何帮助将不胜感激。 谢谢 埃尼斯

1 个答案:

答案 0 :(得分:1)

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

数据集权限可在此处找到:https://cloud.google.com/bigquery/access-control#datasetroles