首页 > 解决方案 > 执行 BigQuery 存储过程需要哪些权限?

问题描述

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

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

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

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

标签: google-bigquery

解决方案


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

我已在此处的 BigQuery 公开问题跟踪器中提出请求:https ://issuetracker.google.com/184160882您可以为该问题加注星标以关注它​​并表现出您的兴趣。

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

资源


推荐阅读