【问题标题】:Google BigQuery API Delete Dataset Access Denied using Service Account keysGoogle BigQuery API 删除数据集访问被拒绝使用服务帐户密钥
【发布时间】:2014-12-09 03:01:30
【问题描述】:

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 你是对的,但我不知道如何在用户创建数据集时自动将服务帐户电子邮件添加到项目作者组。看起来有一个自动分配的默认 ACL,但是否有任何钩子可以自定义它?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-17
    • 1970-01-01
    • 2019-06-12
    • 2012-06-29
    • 2012-07-20
    • 2022-01-23
    • 2017-09-30
    相关资源
    最近更新 更多