google-bigquery - 执行 BigQuery 存储过程需要哪些权限?
问题描述
我需要授予某人执行 bigquery 存储过程的权限,但我不想授予他们roles/bigquery.admin,我宁愿通过自定义角色仅授予所需的权限。
这使我质疑存储过程以谁的身份执行。我有 SQL Server 的背景,并且有一个选项可以让存储过程作为所有者执行,这意味着它作为存储过程的所有者运行,因此分配给该所有者的权限......但我不认为BigQuery 中有类似的东西。
简而言之,我如何授予某人执行存储过程的权限,我是否需要授予执行存储过程的人对受存储过程影响的数据集的适当权限?
我仔细阅读了文档,主要是https://cloud.google.com/iam/docs/understanding-roles#bigquery-roles,但我找不到任何可以明确说明此问题的内容。
解决方案
您所描述的“它作为存储过程的所有者运行,因此分配给该所有者的权限”类似于“授权例程”的概念。不幸的是,根据REST 文档,“目前仅支持 UDF [例程]”。
我已在此处的 BigQuery 公开问题跟踪器中提出请求:https ://issuetracker.google.com/184160882您可以为该问题加注星标以关注它并表现出您的兴趣。
关于所需的bigquery.routines.get
权限,执行存储过程或 UDF 需要该权限。这是由roles/bigquery.metadataViewer
和/或提供的roles/bigquery.dataViewer
。此外,如果它不是授权例程(目前不能用于过程),那么是的,查询用户还需要对受存储过程影响的数据集的适当权限。
资源:
推荐阅读
- here-api - LinkId 未找到但由 calculateroute.json 返回
- ruby-on-rails - rails 4 deep_clone 在开发/登台和生产方面不同
- apache-spark - 无法在已停止的 SparkContext 上调用方法。这个停止的 SparkContext 创建于
- r - 如何在基础 R 中为某些变量指定颜色
- python - 如何从第二个数据集中的列中为每个人计算最新值?
- c# - 以编程方式将新列添加到 DataGridView(填充有 DataTable 的 DataGridview)
- javascript - JavaScript 条件量角器测试
- python - UnicodeDecodeError:“utf-8”编解码器无法解码字节 0xff
- django - 在 django 中进行查询并返回我所有对象的总和
- openshift - 如何在 eclipse-che 中加载 dockerimage?