Google cloud platform 无法对BigQuery运行查询-权限错误403

Google cloud platform 无法对BigQuery运行查询-权限错误403,google-cloud-platform,google-bigquery,Google Cloud Platform,Google Bigquery,我有一个IAM用户,角色:BigQuery数据编辑器 在我的数据集中,我添加了具有编辑权限的用户 然而,当我运行访问BigQuery的脚本时,我得到了错误403 当我向我的IAMuser添加角色BigQuery user时,脚本工作 脚本仅从该数据集中的表运行SELECTquery 我不明白为什么我必须授予BigQuery用户才能让它工作 根据文件 理由:dataEditor角色通过发出 数据集中表的创建、更新和删除权限 roles/bigquery.dataViewer有bigquery.ta

我有一个
IAM
用户,角色:
BigQuery数据编辑器
在我的数据集中,我添加了具有编辑权限的用户

然而,当我运行访问BigQuery的脚本时,我得到了错误403

当我向我的
IAM
user添加角色
BigQuery user
时,脚本工作

脚本仅从该数据集中的表运行
SELECT
query

我不明白为什么我必须授予
BigQuery用户
才能让它工作

根据文件

理由:dataEditor角色通过发出 数据集中表的创建、更新和删除权限

roles/bigquery.dataViewer
bigquery.tables.getData
可以获取表数据


我在这里做错了什么?

访问数据并能够通过查询检索数据是不同的事情,这就是困惑的根源

根据文档,具有以下权限:

  • 读取数据集的元数据并列出数据集中的表
  • 创建、更新、获取和删除数据集的表
这意味着具有此角色的用户拥有对数据集信息及其表的访问和操作权限。例如,具有此角色的用户可以通过GCP控制台(架构、详细信息和预览选项卡)导航到所有表信息,以查看所有表信息,但当尝试在其中运行查询时,将显示以下消息:

拒绝访问:Project
:用户在Project
中没有bigquery.jobs.create权限

现在让我们检查权限:

在项目中运行作业(包括查询)的权限

这里的关键元素是
BigQuery用户
角色可以运行作业,而
BigQuery数据编辑器
则不能。是管理BigQuery任务的对象,这包括运行查询


有了这些信息,您可以更清楚地看到,对于您试图完成的任务,您需要
BigQuery数据编辑器
角色(获取表数据/元数据)和
BigQuery用户
角色(创建作业/查询)。

我不确定我是否得到了它。因此,dataEditor可以从UI运行查询,但不能从脚本运行查询?否,
dataEditor
用户可以在UI中查看表及其内容(架构、详细信息和预览)中的信息,但也不能在那里运行查询。我将更新我的答案以澄清这一部分。我得到了相同的错误。但就我而言,我可以在查询编辑器中运行查询,但不能从脚本中运行。我需要什么样的许可?这是非常有用的。我将
dataEditor
设置为服务帐户,奇怪的是,它可以在数据集表中插入数据,即使
没有bigquery.jobs.create
显示在日志中。现在我改为
User