google-cloud-platform - 我可以为 Terraform for GCP 授予管理员角色吗? (Cloud Run 域映射示例)

标签 google-cloud-platform terraform terraform-provider-gcp

我在为 Terraform 提供必要的 GCP 角色时遇到问题,其中有许多错误 403:调用者没有权限

我这样做的方式是逐渐添加权限,但这更多的是一种尝试和错误的方法,最终我过度添加了授权。

是否有办法在 GCP 上为 Terraform 提供完整的管理员角色,就像我们在 AWS 上所做的那样?或者也许我遗漏了一些东西,但我无法在线找到有关该主题的文档。

谢谢。

--

更新:

我要创建的资源是 Cloud Run 的域映射。这是通过以下方式完成的:

resource "google_cloud_run_domain_mapping" "default" {
  location = "europe-west1"
  name     = "mydomain.com"

  metadata {
    namespace = "default"
  }

  spec {
    route_name = google_cloud_run_service.default.name
  }
}

附注:域名已通过 Google 网站管理员页面进行验证。

但是 terraform apply 返回的问题是:

创建 DomainMapping 时出错:googleapi:错误 403:调用者没有权限

为了解决这个特定问题,我需要找到需要向我的 Terraform 角色添加哪些授权,但在需要新的 GCP 服务时再次遇到同一问题只是时间问题。

此外,我完全能够使用 GCP 控制台添加映射,这表明我能够通过所有必需的验证步骤。

让 Terraform 管理所有 GCP 资源并让它创建所有必要的资源不是更好吗?

最佳答案

有关使用预定义的超特权角色,请参阅understanding roles文档。

link within Daniel's answer ,文档建议您可以Add verified domain owners to other users or service accounts .

一旦服务帐户受到域映射的信任,请提供 roles/run.admin 角色来验证它是否解决了问题,然后通过 switching to a custom role 对其进行限制。遵守最低权限。

关于google-cloud-platform - 我可以为 Terraform for GCP 授予管理员角色吗? (Cloud Run 域映射示例),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60487573/

相关文章:

google-cloud-platform - Compute Engine 虚拟机创建通知

google-cloud-platform - 如何在 Google Cloud Platform 中获取用户托管服务帐户的公钥

使用 Terraform 和 map 的多个源的 Azure Function AppSettings

google-cloud-platform - Terraform - 引用列表对象值作为输出

删除数据库后,Terraform 尝试读取 SQL 用户

kubernetes - 如何使用多个 Google Kubernetes Engine (GKE) 集群制作多区域 Kafka/Zookeeper 集群?

load-balancing - 如何使用 GCP 负载均衡器将所有 HTTP 请求重定向到 HTTPS

google-cloud-platform - 想要通过 Terraform 部署 Google Cloud Run 服务

terraform - 如何在 terraform 中回滚到以前的状态

amazon-web-services - 使用 terraform 订阅 AmazonIpSpaceChanged 的​​ SNS 主题