【问题标题】:How to limit Google Cloud Platform "BigQuery Metadata Viewer" permission?如何限制谷歌云平台“BigQuery Metadata Viewer”权限?
【发布时间】:2022-02-12 02:33:12
【问题描述】:

我的数据集下有 10 个表。我需要创建“BigQuery 元数据查看器”权限,但想忽略我的数据集下的 2 个表。这样 BigQuery 元数据查看器政策将只能访问 8 个表。

我看到有“条件”选项卡,但不知道如何在这里应用这样的条件。

【问题讨论】:

    标签: google-cloud-platform google-bigquery google-iam


    【解决方案1】:

    IAM 条件是解决该问题的好方法,但不适用于 BigQuery resources

    这里的解决方案是有 2 个数据集

    • 一个具有 8 个表和查看元数据的权限
    • 一个与其他 2 个表没有查看元数据的权限。

    【讨论】:

      【解决方案2】:

      您可以通过bigquery.metadataViewerdataviewer 角色使用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"
      

      【讨论】:

      • 如果我想创建具有此角色的服务帐户以在我的应用程序中使用怎么办?不授予任何用户该特权。
      • @Enes 您可以使用这些查询来授予服务帐户权限并与 API 一起使用。只需要编写服务帐户而不是用户帐户
      • @Enes 你有时间测试我的答案吗?
      • 您好,无法尝试解决,由于covid dieasese,我会尽快尝试并发表评论。感谢您的帮助。
      • 我试过了,不幸的是即使是tought查询成功的服务帐户也没有更新。也许 bigquerymetdataViewer 策略不符合表库的条件。
      猜你喜欢
      • 2018-09-04
      • 2016-08-23
      • 2017-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-07
      • 2021-07-01
      • 2017-12-24
      相关资源
      最近更新 更多