使用 Terraform 创建经授权的 GCP BigQuery 视图

3

关于Bigquery和terraform授权视图,我有一个具体的问题。

情况:我已经创建了一个简单的terraform脚本来创建一些Bigquery数据集、表、视图和IAM条目。特别地,我在source_dataset中创建了两个数据集(source_datasettarget_dataset),一些表和在target_dataset中的视图,这些都是基于source_database的。关键是使用Bigquery授权视图来分离权限——这些视图应该可以被查看者组访问,而这些查看者没有访问原始的source_dataset的权限,但仍然可以查询这些视图。

问题:是否可以在terraform代码中授权视图?当我尝试使用terraform代码时,会出现鸡生蛋的问题。我知道,可以将构建配置分离出来——在terraform中编写一些代码,并通过python代码进行授权视图,但理想情况下,应该只使用100%的terraform。

谢谢。

1个回答

0

看起来在即将发布的版本中,鸡和蛋问题已经得到解决:

bigquery dataset view access creates circular dependency #2686

问题的定义:

无法创建视图,因为它依赖于另一个数据集, 无法创建另一个数据集,因为它依赖于该视图

存在循环依赖。

解决方案:

一旦发布(应该出现在3.17.0版本中),它将作为google_bigquery_dataset_access资源可用。以下是文档页面的预览:https://github.com/terraform-providers/terraform-provider-google/blob/master/website/docs/r/bigquery_dataset_access.html.markdown


这不起作用是因为授权视图的 access 保存在数据集状态中。所以第一次可以工作,但如果再次应用,tf 将删除访问权限,因为它在数据集状态中,但不被配置所需。 - laurent

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接