执行 BigQuery 存储过程需要哪些权限?

jam*_*iet 4 google-bigquery

我需要授予某人执行 bigquery 存储过程的权限,但我不想授予他们Roles/bigquery.admin,我宁愿通过自定义角色仅授予所需的权限。

这让我质疑存储过程的执行者是谁。我有 SQL Server 背景,并且有一个选项可以让存储过程作为所有者执行,这意味着它作为存储过程的所有者运行,从而分配给该所有者的权限......但我不认为BigQuery 中也有类似的东西。

简而言之,如何授予某人执行存储过程的权限?我是否需要向执行存储过程的人授予对受存储过程影响的数据集的适当权限?

我仔细阅读了文档,主要是https://cloud.google.com/iam/docs/understanding-roles#bigquery-roles,但我找不到任何可以澄清此问题的内容。

Tim*_*ast 5

您所描述的“它作为存储过程的所有者运行,因此分配给该所有者的权限”类似于“授权例程”的概念。不幸的是,根据REST 文档,“目前仅支持 UDF [例程]”。

我已在此处的 BigQuery 公共问题跟踪器中提交了请求: https: //issuetracker.google.com/184160882您可以点击问题上的星号按钮来关注它并表达您的兴趣。

关于所需的权限,bigquery.routines.get需要执行存储过程或UDF的权限。这是由roles/bigquery.metadataViewer和/或提供的roles/bigquery.dataViewer。此外,如果它不是授权例程(目前不能用于过程),那么查询用户还需要对受存储过程影响的数据集具有适当的权限。

资源

  • 我没有看到 +1 您提交的问题的选项,但我确实给它加了星标 (2认同)
  • 啊,你说得对。+1 按钮仅对 Google 员工可见。对于普通帐户来说,加星标应该做同样的事情。 (2认同)