【问题标题】:Permissions Error Exporting a table from Google BigQuery to Google Cloud Storage将表从 Google BigQuery 导出到 Google Cloud Storage 时出现权限错误
【发布时间】:2017-12-14 17:08:09
【问题描述】:

在 2017-07-08 将表导出到 Cloud Storage 时出现以下错误。

访问被拒绝:BigQuery BigQuery:写入数据时权限被拒绝

在该日期之前工作正常,没有更改项目、大型查询或云存储中的任何内容。

JobId:alert-basis-89415:bquijob_6adfd86e_15d2de5ce1b

【问题讨论】:

  • 你解决了这个问题吗?
  • 看我的回答:)

标签: google-bigquery google-cloud-storage


【解决方案1】:

我遇到了类似的错误。这是因为我在不同于 BQ 数据集的区域中使用了存储桶,并且存储桶 URL 不正确。 在我确保以下两个之后

  • 我仔细检查并修复了指定的存储桶 URL 是否正确
  • 我在数据所在的同一区域创建了存储桶

【讨论】:

    【解决方案2】:

    查找服务帐户的电子邮件地址,并将该帐户作为写入器和文件读取器添加到存储桶 ACL:

    gsutil acl ch -u blabla@project.iam.gserviceaccount.com:W gs://bucket
    gsutil acl ch -u blabla@project.iam.gserviceaccount.com:R gs://bucket/1.csv
    gsutil acl ch -u blabla@project.iam.gserviceaccount.com:R gs://bucket/2.csv
    

    【讨论】:

      【解决方案3】:

      这是 Google 的问题。我在 Google 群组中找到了一个主题(现在似乎找不到),您可以在其中提供您的详细信息,并且他们在正确推出之前为这些帐户应用了一个修补程序。

      【讨论】:

      • 这里能不能详细点,不然答案没用
      • 它并不是完全没用,至少你知道你可以尝试联系谷歌支持,给他们发送这个 SO question 的链接,看看他们怎么说
      • 感谢@EvanR。这就是为什么我不只是删除这个问题,只是希望我能找到这个问题的原始谷歌主题。
      【解决方案4】:

      运行该作业的用户似乎没有对 GCS 存储桶的 storage.objects.create 权限 - 也许存储桶权限发生了一些变化?这是否仍然重复出现,您可以将该用户显式添加到存储桶 ACL 中吗?

      【讨论】:

      • 干杯,运行作业的用户是项目的所有者(在 IAM 中设置),我可以在存储桶权限中看到项目所有者具有以下权限:存储旧存储桶所有者(2成员)通过对象列表/创建/删除对现有存储桶进行读写访问。我已尝试授予用户 storage.objects.create 权限,并将其专门添加到存储桶中,但无济于事。我没有改变任何东西(这项工作通常是使用服务帐户自动完成的,我什至已经有一段时间第一次登录了)。
      猜你喜欢
      • 2017-11-13
      • 1970-01-01
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-04
      • 2020-01-19
      相关资源
      最近更新 更多