首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Terraform:“创建防火墙时出错: googleapi:错误403:需要'compute.firewalls.create‘”

Terraform:“创建防火墙时出错: googleapi:错误403:需要'compute.firewalls.create‘”
EN

Stack Overflow用户
提问于 2021-02-09 13:09:20
回答 1查看 856关注 0票数 0

我坚持使用这个脚本来使用Terraform在GCP中部署镜像。我的想法是启动一个V实例,并为http请求打开端口443和80,当我写下"Terraform validate“时,它显示为正确:

代码语言:javascript
复制
provider "google" {
  project     = "terraform-packer-xxxxxx"
  region      = "us-central1"
  zone        = "us-central1-a"
  credentials = "C:/.../path"
}


data "google_compute_image" "test" {
  name = "packer-08022021-1"
}


resource "google_compute_instance" "myVM" {
  name         = "test"
  machine_type = "e2-micro"
  zone         = "us-central1-a"
  tags = [ "http-server" ]
  boot_disk {
    initialize_params {
      image = data.google_compute_image.test.self_link
    }
  }
  network_interface {
    # A default network is created for all GCP projects
    network = "default"
    access_config {
    }
  }
}

resource "google_compute_firewall" "allow-http" {
  name    = "http-firewall"
  network = "default"

  allow {
    protocol = "all"
    ports    = ["80"]
  }

    allow {
    protocol = "all"
    ports    = ["443"]
  }

    allow {
    protocol = "all"
    ports    = ["22"]
  }

  source_tags = ["http-server"]
}

# resource "google_compute_network" "default" {
#   name = "test-network"
# }

output "ip" {
 value = google_compute_instance.myVM.network_interface.0.access_config.0.nat_ip
}

但是当我写下"Terraform apply“时,这个错误出现了:

代码语言:javascript
复制
Error: Error creating Firewall: googleapi: Error 403: Required 'compute.firewalls.create' permission for 'projects/terraform-packer-303806/global/firewalls/http-firewall'
More details:
Reason: forbidden, Message: Required 'compute.firewalls.create' permission for 'projects/terraform-packer-303806/global/firewalls/http-firewall'
Reason: forbidden, Message: Required 'compute.networks.updatePolicy' permission for 'projects/terraform-packer-303806/global/networks/default'

我已经在我的服务帐户中检查了两次权限,我有以下权限:计算实例的管理员,服务帐户的用户,网络管理员,防火墙管理员。

我不知道我做错了什么

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-16 17:44:18

从提供的错误消息看,服务帐户似乎没有分配compute.firewalls.create权限。创建防火墙规则需要此权限,如here所示。

Here,您将通过搜索compute.firewalls..找到具有权限的角色列表。。如果有权限的角色都不能满足您的需求,您可以按照官方GCP Documentation中的步骤创建自定义角色。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66113323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档