通过 IAM 进行 BigQuery 数据集级访问控制

BigQuery dataset level access control via IAM

问题:在 GCP IAM 中,我有超过 30 个用户分配了预定义角色 BigQuery Data ViewerBigQuery Data Editor,现在当我创建一个新数据集时,这 30 多个用户可以自动访问它因为 "policy inheritance"。

问题:作为 BQ 项目管理员,我希望新创建的数据集仅供某些用户(30 多个用户中的一小部分)访问。执行此操作的最佳方法是什么?谢谢!

您不能覆盖更高级别授予的权限。因此,如果您想在数据集级别限制访问,最好的方法是:

1) 从项目级别删除当前权限 BigQuery Data ViewerBigQuery Data Editor

2) 再次授予权限,but only at dataset level

这也符合least privilege. Also, if possible, use groups推荐的授予权限的最佳实践,因为这样会更容易管理。

除此之外,您可以使用另一个项目来创建数据集并允许访问所需的用户子集;但是,我不推荐这种方法,因为它只会让处理数据和访问数据的用户变得更加困难。