【发布时间】:2019-06-20 17:52:10
【问题描述】:
我有两个 GCP 项目。项目 A 和项目 B。在项目 A 下,我有一个 Bigquery 数据集和一个 IAM 用户 - IAM-BQ-PROJ-A,角色为 BigQuery Data Viewer 和 BigQuery 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 Viewer 和 BigQuery User,那么这些查询将成功执行。
为什么会这样?如果凭证可访问(类似于本地开发环境功能),这些查询是否应该在项目 B 下没有 IAM 用户的情况下成功触发?
【问题讨论】:
标签: google-bigquery