【问题标题】:What permissions are required to execute a BigQuery stored procedure?执行 BigQuery 存储过程需要哪些权限?
【发布时间】:2022-05-21 05:15:47
【问题描述】:

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

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

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

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

【问题讨论】:

  • 澄清一下,您指的是用户定义的函数吗? cloud.google.com/bigquery/docs/reference/standard-sql/… 我认为存储过程是一个类似的概念,但不是我在 BigQuery 中熟悉的概念
  • 嗨。 UDF 和存储过程是相似的。在 bigquery 用语中,它们都被认为是“例程”,但在我的问题中,它们并不相同。

标签: google-bigquery


【解决方案1】:

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

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

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

资源

【讨论】:

  • 我没有看到为您提交的问题 +1 的选项,但我确实给它加了星标
  • 啊,你是对的。 +1 按钮仅对 Google 员工可见。加星标对普通帐户也应如此。
猜你喜欢
  • 1970-01-01
  • 2014-11-12
  • 1970-01-01
  • 2012-04-24
  • 1970-01-01
  • 2014-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多