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

用户自定义管理SA部署CloudRun实例时创建服务页无法找到该SA求助

问题根因分析

1. 服务账号模拟权限方向配置错误

这是最核心的问题:你需要给当前执行CloudRun创建操作的身份(你的个人谷歌账号、部署用的服务账号等) 授予 roles/iam.serviceAccountUser 权限,资源是你创建的 sa-deployer 服务账号,这样你才有资格把这个SA设置为CloudRun服务的运行身份。
你当前的配置是反向的:给 sa-deployer 授予了默认计算服务账号的使用权限,该配置和你要选sa-deployer作为CloudRun运行身份的需求完全不匹配。
你可以补充如下Terraform配置修复,将<你当前操作的身份标识>替换为实际值(个人用户格式为user:xxx@gmail.com,服务账号格式为serviceAccount:xxx@xxx.iam.gserviceaccount.com):

resource "google_service_account_iam_member" "sa-deployer-user-perm" {
  service_account_id = google_service_account.sa-deployer.name
  role               = "roles/iam.serviceAccountUser"
  member             = "<你当前操作的身份标识>"
}

2. IAM资源类型使用不当

你当前用的是google_project_iam_binding资源做项目级角色授权,这个资源是覆盖式绑定,会直接替换对应角色下的所有已有成员,如果你的项目里原来还有其他账号属于roles/run.admin、roles/cloudbuild.builds.builder角色,会被该配置直接清理,可能引发其他权限问题。
建议替换为增量授权的google_project_iam_member资源,示例如下:

resource "google_project_iam_member" "sa-deployer-run-admin" {
  project = local.project_id
  role    = "roles/run.admin"
  member  = "serviceAccount:${google_service_account.sa-deployer.email}"
}

3. 权限生效延迟

IAM权限变更通常有1-5分钟的缓存期,刚提交完Terraform配置后可以稍等几分钟,刷新CloudRun创建页面再查看下拉列表。

4. 缺少服务账号查看权限

如果你的操作身份没有roles/iam.serviceAccountViewer项目级权限,也无法在下拉列表中加载出项目下的服务账号,需要给操作身份补充对应权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 20:06:07