【发布时间】:2022-02-12 02:33:12
【问题描述】:
我的数据集下有 10 个表。我需要创建“BigQuery 元数据查看器”权限,但想忽略我的数据集下的 2 个表。这样 BigQuery 元数据查看器政策将只能访问 8 个表。
我看到有“条件”选项卡,但不知道如何在这里应用这样的条件。
【问题讨论】:
标签: google-cloud-platform google-bigquery google-iam
我的数据集下有 10 个表。我需要创建“BigQuery 元数据查看器”权限,但想忽略我的数据集下的 2 个表。这样 BigQuery 元数据查看器政策将只能访问 8 个表。
我看到有“条件”选项卡,但不知道如何在这里应用这样的条件。
【问题讨论】:
标签: google-cloud-platform google-bigquery google-iam
IAM 条件是解决该问题的好方法,但不适用于 BigQuery resources。
这里的解决方案是有 2 个数据集
【讨论】:
您可以通过bigquery.metadataViewer 或dataviewer 角色使用GRANT 语句。您可以将此角色设置为表级别,用户将拥有特定表的权限,并且不会看到列出的表。在这种情况下,您需要知道名称表。
看看这个例子:
GRANT `roles/bigquery.metadataViewer`
ON TABLE `my_dataset._my_table`
TO "user:user@domain.com"
此外,您可以在数据集级别设置此角色,这将grant access 读取并列出数据集中的所有表。
这是一个例子:
GRANT `roles/bigquery.metadataViewer`
ON schema `project_name.dataset_name`
TO "user:mail@mail.com"
【讨论】: