Google bigquery BigQuery Web UI:显示存储过程的结果需要哪些权限?

Google bigquery BigQuery Web UI:显示存储过程的结果需要哪些权限?,google-bigquery,Google Bigquery,我们正在为我们的客户在BigQuery中创建一些托管用户。这些托管用户在项目上具有角色BigQuery作业用户,在数据集上具有角色BigQuery数据查看器 最近,我们正在试验存储过程(SP),并根据 管理员用户(BigQuery.Owner)在执行SP调用some\u dataset.some\u SP(param)时没有问题并在BigQuery Web UI中查看查询结果 但是,当托管用户运行相同的SP时,调用some_dataset.some_SP(param)在BigQueryWebUI

我们正在为我们的客户在BigQuery中创建一些托管用户。这些托管用户在项目上具有角色
BigQuery作业用户
,在数据集上具有角色
BigQuery数据查看器

最近,我们正在试验存储过程(SP),并根据

管理员用户(
BigQuery.Owner
)在执行SP
调用some\u dataset.some\u SP(param)时没有问题并在BigQuery Web UI中查看查询结果

但是,当托管用户运行相同的SP
时,调用some_dataset.some_SP(param)
在BigQueryWebUI中,它返回“作业状态:成功”,但不显示结果

实际行为:

预期行为:

我已确认SP的结果不是空的

当我检查查询历史时,托管用户确实看到了“目标表:临时表”,并且这个“临时表”包含正确的查询结果。问题是,当托管用户运行SP时,这些结果没有显示在web UI编辑器下方。用户必须转到“查询历史记录”才能找到它们

这个问题不会发生在常规的SQL查询中,比如
select*fromsome\u table/some\u view。常规查询结果将正确显示在web UI编辑器下方


显示存储过程的结果需要哪些权限?我在Google BigQuery文档中找不到任何相关信息。

我对具有以下权限的托管用户的要求与您的案例相同:

  • 项目级BQ作业用户权限
  • 数据集级别的BQ数据查看器权限
  • 调用存储过程时,没有结果,只显示“作业状态:成功”。感谢您之前提出的“查询历史记录/临时表”的想法。但缺点是我们无法将结果保存为普通查询作业。经过几次测试,以下是我的解决方案:

    • 创建具有以下权限的项目级自定义角色:bigquery.jobs.list
    • 将自定义角色分配给用户

    现在用户可以像正常的查询过程一样直接看到SP结果;他只能看到自己的个人查询历史记录,这是我想要的最小权限控制

    这感觉像是UI上的一个bug,你能在BigQuery上触发一个bug吗?