You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Terraform中设置Google Data Catalog标签模板的公开可见性?

解决Terraform创建Google Data Catalog标签模板设为公开的问题

你遇到的问题是因为google_data_catalog_tag_template资源本身不支持is_publicly_readable参数,要实现标签模板公开可读,需要通过IAM权限绑定来完成——这和API中设置isPubliclyReadable=true的效果本质一致,都是给所有用户授予标签模板的查看权限。

修正后的代码

先移除原代码中无效的is_publicly_readable = true,再添加IAM绑定资源配置公开权限:

resource "google_data_catalog_tag_template" "data_category" {
  project         = var.project_id
  region          = var.location
  tag_template_id = "data_category"
  display_name    = "Data Category"

  fields {
    field_id      = "data_category1"
    display_name  = "Data Category 1"
    description   = ""
    is_required   = true
    order         = 3
    type {
      enum_type {
        allowed_values { display_name = "Category A" }
        allowed_values { display_name = "Category B" }
      }
    }
  }
}

# 配置标签模板为公开可读
resource "google_data_catalog_tag_template_iam_binding" "public_access" {
  project         = var.project_id
  region          = var.location
  tag_template_id = google_data_catalog_tag_template.data_category.tag_template_id
  role            = "roles/datacatalog.tagTemplateViewer"
  members         = ["allUsers"]
}

关键说明

  • google_data_catalog_tag_template_iam_binding负责管理标签模板的IAM权限,给allUsers(所有用户)绑定roles/datacatalog.tagTemplateViewer角色,即可实现公开可读的效果,完全等价于API中设置isPubliclyReadable=true。
  • 通过引用已创建的标签模板资源ID,避免硬编码带来的配置不一致问题。

内容的提问来源于stack exchange,提问作者Dina Kleper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 03:47:14