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

Terraform创建Cloud Run域名映射遇403权限错误及权限缺失问题

问题分析与解决

核心问题排查

首先明确:Cloud Run域名映射目前已处于GA(正式可用)阶段,并非预览功能,所以权限选项找不到和预览阶段无关。

1. 权限配置逻辑错误:用预定义角色替代单独权限

GCP中大部分细粒度权限无法直接单独添加到服务账号,必须通过预定义角色或自定义角色实现权限分配。run.domainmappings.create权限包含在以下两个预定义角色中:

  • Cloud Run Admin (roles/run.admin):拥有Cloud Run全量资源的管理权限
  • Cloud Run Domain Mapping Editor (roles/run.domainMappingEditor):仅针对域名映射的编辑权限

直接给服务账号赋予上述角色即可,无需单独寻找run.domainmappings.create权限选项。

2. Terraform配置的关键错误

你的配置中metadata.namespace字段填写的是var.gcp_service_name,这是错误的:

Cloud Run资源的metadata.namespace必须填写GCP项目ID,而非服务名称。

错误的namespace会导致Terraform尝试访问不存在的资源路径,进而触发403或资源不存在类报错。修正后的配置示例:

resource "google_cloud_run_domain_mapping" "this" {
  location = var.gcp_location
  name     = var.gcp_service_domain

  metadata {
    namespace = var.gcp_project_id  # 替换为你的项目ID变量
  }

  spec {
    route_name = google_cloud_run_v2_service.this.name
  }
}

3. 额外排查点

  • 确认服务账号的权限是在项目层级或对应区域层级配置的(Cloud Run域名映射属于区域级资源)
  • 检查是否已启用Cloud Run API:执行命令 gcloud services enable run.googleapis.com
  • 验证域名是否已在GCP Cloud DNS完成配置,且通过了域名所有权验证(这是创建域名映射的前置条件)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 14:24:54