【问题标题】:Google Bigquery Permissions IssueGoogle Bigquery 权限问题
【发布时间】:2019-06-20 17:52:10
【问题描述】:

我有两个 GCP 项目。项目 A 和项目 B。在项目 A 下,我有一个 Bigquery 数据集和一个 IAM 用户 - IAM-BQ-PROJ-A,角色为 BigQuery Data ViewerBigQuery User

项目 B 托管一个 Kubernetes 集群。项目 B 中有一个 Rails 应用程序正在对项目 A 中的 Bigquery 数据集执行查询。我有 IAM 用户的凭证 - Rails 应用程序可以访问 IAM-BQ-PROJ-A。但是,这些查询失败并出现以下错误 -

Google::Cloud::PermissionDeniedError: accessDenied: Access Denied: Project B: The user IAM-BQ-PROJ-A does not have bigquery.jobs.create permission in Project B.

当 Rails 应用程序在 GCP 之外的本地开发环境中运行时,这些查询会成功运行。

如果我在项目 B 下创建一个 IAM 用户 - IAM-BQ-PROJ-A,角色为 BigQuery Data ViewerBigQuery User,那么这些查询将成功执行。

为什么会这样?如果凭证可访问(类似于本地开发环境功能),这些查询是否应该在项目 B 下没有 IAM 用户的情况下成功触发?

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    这是预期的行为,因为您正在使用 2 个不同的项目。

    在项目 A 下创建的用户可能具有正确的权限,但它与项目 B 无关,因此它不具有执行项目 B 的查询所需的权限。这就是您收到错误的原因:

    Google::Cloud::PermissionDeniedError: accessDenied: Access Denied: Project B: The user IAM-BQ-PROJ-A does not have bigquery.jobs.create permission in Project B.
    

    因此,在项目 B 下创建具有正确权限的用户将允许成功执行查询。

    【讨论】:

      猜你喜欢
      • 2022-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多